@daffodil/design 0.73.0 → 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -22
- package/container/README.md +11 -8
- package/esm2022/daffodil-design.mjs +2 -2
- package/esm2022/index.mjs +6 -0
- package/esm2022/notification/daffodil-design-notification.mjs +2 -2
- package/esm2022/notification/examples/default-notification/default-notification.component.mjs +12 -7
- package/esm2022/notification/examples/dismissible-notification/dismissible-notification.component.mjs +11 -6
- package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +5 -6
- package/esm2022/notification/examples/notification-status/notification-status.component.mjs +5 -6
- package/esm2022/notification/examples/notification-with-actions/notification-with-actions.component.mjs +24 -0
- package/esm2022/notification/examples/notification-with-actions/notification-with-actions.module.mjs +36 -0
- package/esm2022/notification/examples/public_api.mjs +4 -1
- package/esm2022/notification/index.mjs +2 -0
- package/esm2022/notification/notification/notification.component.mjs +30 -16
- package/esm2022/paginator/daffodil-design-paginator.mjs +2 -2
- package/esm2022/paginator/index.mjs +2 -0
- package/esm2022/progress-bar/daffodil-design-progress-bar.mjs +2 -2
- package/esm2022/progress-bar/index.mjs +2 -0
- package/fesm2022/daffodil-design-notification-examples.mjs +70 -16
- package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification.mjs +46 -33
- package/fesm2022/daffodil-design-notification.mjs.map +1 -1
- package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
- package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
- package/fesm2022/daffodil-design.mjs +5 -0
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/index.d.ts +2 -2
- package/loading-icon/README.md +1 -1
- package/notification/README.md +49 -23
- package/notification/examples/default-notification/default-notification.component.d.ts +2 -0
- package/notification/examples/dismissible-notification/dismissible-notification.component.d.ts +2 -0
- package/notification/examples/notification-with-actions/notification-with-actions.component.d.ts +8 -0
- package/notification/examples/notification-with-actions/notification-with-actions.module.d.ts +11 -0
- package/notification/index.d.ts +0 -4
- package/notification/notification/notification.component.d.ts +15 -6
- package/package.json +1 -1
- package/paginator/index.d.ts +0 -4
- package/progress-bar/index.d.ts +0 -4
- package/scss/typography/_index.scss +1 -1
- package/scss/typography/utilities/_variables.scss +14 -4
- package/sidebar/README.md +1 -1
- package/toast/README.md +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design.mjs","sources":["../../../libs/design/src/atoms/form/core/error-state-matcher/error-state-matcher.ts","../../../libs/design/src/atoms/form/form-field/form-field-control.ts","../../../libs/design/src/atoms/form/form-field/form-field-errors.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.html","../../../libs/design/src/atoms/form/error-message/error-message.component.ts","../../../libs/design/src/atoms/form/error-message/error-message.module.ts","../../../libs/design/src/atoms/form/form-field/form-field.module.ts","../../../libs/design/src/atoms/form/input/input.component.ts","../../../libs/design/src/atoms/form/input/input.module.ts","../../../libs/design/src/atoms/form/native-select/native-select.component.ts","../../../libs/design/src/atoms/form/native-select/native-select.module.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.html","../../../libs/design/src/atoms/form/checkbox/cva/checkbox-cva.directive.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.html","../../../libs/design/src/atoms/form/checkbox/checkbox.module.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.module.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.html","../../../libs/design/src/atoms/form/radio/radio.component.ts","../../../libs/design/src/atoms/form/radio/radio.html","../../../libs/design/src/atoms/form/radio/registry/radio-registry.ts","../../../libs/design/src/atoms/form/radio/cva/radio-cva.directive.ts","../../../libs/design/src/atoms/form/radio/radio.module.ts","../../../libs/design/src/atoms/form/form-label/form-label.directive.ts","../../../libs/design/src/atoms/form/form-label/form-label.module.ts","../../../libs/design/src/core/prefix-suffix/prefix.directive.ts","../../../libs/design/src/core/prefix-suffix/suffix.directive.ts","../../../libs/design/src/core/prefix-suffix/prefix-suffix.module.ts","../../../libs/design/src/core/prefix-suffix/suffixable/suffixable.ts","../../../libs/design/src/core/prefix-suffix/prefixable/prefixable.ts","../../../libs/design/src/core/colorable/colorable-enum.ts","../../../libs/design/src/core/colorable/color-in-palette.ts","../../../libs/design/src/core/colorable/colorable-mixin.ts","../../../libs/design/src/core/breakpoints/breakpoints.ts","../../../libs/design/src/core/constructor/constructor.ts","../../../libs/design/src/core/statusable/statusable.ts","../../../libs/design/src/core/statusable/statusable-mixin.ts","../../../libs/design/src/core/skeletonable/skeletonable-mixin.ts","../../../libs/design/src/core/text-alignable/text-alignable.ts","../../../libs/design/src/core/text-alignable/text-alignable-mixin.ts","../../../libs/design/src/core/compactable/compactable-mixin.ts","../../../libs/design/src/core/manage-container-layout/manage-container-layout-mixin.ts","../../../libs/design/src/core/article-encapsulated/article-encapsulated-mixin.ts","../../../libs/design/src/core/theming/types/theme.ts","../../../libs/design/src/core/theming/services/os-theme/ostheme.service.ts","../../../libs/design/src/core/theming/services/storage/theme-storage.service.ts","../../../libs/design/src/core/theming/functions/computer.ts","../../../libs/design/src/core/theming/services/theming.service.ts","../../../libs/design/src/core/theming/services/class-setter/theme-class-setter.service.ts","../../../libs/design/src/core/theming/initializer.ts","../../../libs/design/src/core/focus/focusable-elements.ts","../../../libs/design/src/core/focus/stack.service.ts","../../../libs/design/src/core/sizable/sizable.ts","../../../libs/design/src/core/sizable/sizable-mixin.ts","../../../libs/design/src/core/public_api.ts","../../../libs/design/src/public_api.ts","../../../libs/design/src/daffodil-design.ts"],"sourcesContent":["import { UntypedFormControl } from '@angular/forms';\n\nexport class DaffErrorStateMatcher {\n\n isErrorState(control: UntypedFormControl, formSubmitted: boolean): boolean {\n return control.errors && (control.touched || formSubmitted);\n }\n}\n","import { NgControl } from '@angular/forms';\n\n/**\n *\n * The class that a form control must **implement** in order to be\n * used with the DaffFormFieldComponent.\n *\n * You may ask: \"Why are you implementing an abstract class, not extending it?\"\n * We do this so that the Angular DI container can match the class token. A typical\n * interface would be \"more accurate\" here, but since interfaces don't exist\n * in javascript, they get thrown out by the typescript compiler and cannot\n * be used for the necessary dependency injection.\n */\nexport abstract class DaffFormFieldControl {\n readonly ngControl: NgControl | null;\n\n readonly controlType?: any;\n\n readonly focused: boolean;\n\n abstract focus(event?: Event): void;\n};\n","export const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';\n","import {\n Component,\n ViewEncapsulation,\n DoCheck,\n ContentChild,\n Input,\n AfterContentInit,\n AfterContentChecked,\n HostBinding,\n} from '@angular/core';\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffFormFieldControl } from '../form-field-control';\nimport { DaffFormFieldMissingControlMessage } from '../form-field-errors';\n\n// ChangeDetection is ignored because this component needs to be refactored\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffFormFieldComponent implements DoCheck, AfterContentInit, AfterContentChecked {\n\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n\n @HostBinding('class.daff-form-field') class = true;\n\n /**\n * The tracking property used to determine if the parent form has been submitted,\n * and thus show an error message (even if the field hasn't been touched).\n *\n * @deprecated\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() formSubmitted: boolean = false;\n\n /**\n * The child form control that the form-field manages\n *\n * @docs-private\n */\n @ContentChild(DaffFormFieldControl) _control: DaffFormFieldControl;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as error.\n */\n isError = false;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as valid.\n */\n isValid = false;\n\n /**\n * @docs\n *\n * Determines whether or not the form field should display its focused state.\n */\n get isFocused() {\n return this._control?.focused;\n }\n\n /**\n * Keeps the state of the form field consistent with its child DaffFormControl\n *\n * TODO: consider whether or not this can be refactored to some kind of\n * observable to remove unnecessary change detection.\n *\n * @docs-private\n */\n ngDoCheck() {\n if(this._control?.ngControl) {\n this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);\n this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;\n }\n }\n\n /**\n * Validate whether or not the FormField is in\n * a \"usable\" state.\n */\n private _validateFormControl() {\n if (!this._control) {\n throw new Error(DaffFormFieldMissingControlMessage);\n }\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentInit() {\n this._validateFormControl();\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentChecked() {\n this._validateFormControl();\n }\n}\n","<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-error-message',\n template: '<ng-content></ng-content>',\n styleUrls: ['./error-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffErrorMessageComponent {\n @HostBinding('class.daff-error-message') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffErrorMessageComponent } from './error-message.component';\n\n@NgModule({\n exports: [\n DaffErrorMessageComponent,\n ],\n declarations: [\n DaffErrorMessageComponent,\n ],\n})\nexport class DaffErrorMessageModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffFormFieldComponent } from './form-field/form-field.component';\nimport { DaffErrorMessageModule } from '../error-message/error-message.module';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffErrorMessageModule,\n ],\n exports: [\n DaffFormFieldComponent,\n DaffErrorMessageModule,\n ],\n declarations: [\n DaffFormFieldComponent,\n ],\n})\nexport class DaffFormFieldModule { }\n","import {\n Component,\n Input,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n/**\n * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[daff-input]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffInputComponent },\n ],\n})\nexport class DaffInputComponent implements DaffFormFieldControl {\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffInputComponent,\n ],\n declarations: [\n DaffInputComponent,\n ],\n})\nexport class DaffInputModule { }\n","import {\n Component,\n ViewEncapsulation,\n Optional,\n Self,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./native-select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n})\n\nexport class DaffNativeSelectComponent implements DaffFormFieldControl {\n /**\n * @docs-private\n */\n controlType = 'native-select';\n\n @HostBinding('class.daff-native-select') class = true;\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n\t this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffNativeSelectComponent } from './native-select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffNativeSelectComponent,\n ],\n declarations: [\n DaffNativeSelectComponent,\n ],\n})\nexport class DaffNativeSelectModule { }\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n\t return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { UntypedFormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n styleUrls: ['./checkbox-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: UntypedFormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxComponent } from './checkbox.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\nimport { DaffCheckboxSetComponent } from '../checkbox-set/checkbox-set.component';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n declarations: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '../../input/public_api';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '../../native-select/public_api';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityFieldComponent implements ControlValueAccessor, DaffFormFieldControl {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n disabled = false;\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n}\n","<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n</daff-quantity-input>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\nimport { DaffInputModule } from '../input/public_api';\nimport { DaffNativeSelectModule } from '../native-select/public_api';\n\n@NgModule({\n declarations: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n imports: [\n CommonModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ReactiveFormsModule,\n ],\n exports: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","import {\n Component,\n HostBinding,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n styleUrls: ['./radio-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radiogroup';\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n forwardRef,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'daff-radio',\n templateUrl: './radio.html',\n styleUrls: ['./radio.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radio';\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n\t if (this._checked !== value) {\n\t this._checked = value;\n\t this.selectionChange.emit(this.value);\n\t }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i]['accessor'] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c['accessor'] !== accessor) {\n c['accessor'].fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair['control'].control) {\n return false;\n }\n return controlPair['control'].control.parent === accessor._control.control.parent\n && controlPair['accessor'].name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio.component';\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\n\n\n@NgModule({\n exports:[\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n\n ],\n declarations: [\n DaffRadioControlValueAccessorDirective,\n DaffRadioComponent,\n DaffRadioSetComponent,\n ],\n imports: [\n CommonModule,\n ],\n})\nexport class DaffRadioModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFormLabel]',\n})\nexport class DaffFormLabelDirective {\n @HostBinding('class.daff-form-label') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffFormLabelDirective } from './form-label.directive';\n\n@NgModule({\n exports: [\n DaffFormLabelDirective,\n ],\n declarations: [\n DaffFormLabelDirective,\n ],\n})\n\nexport class DaffFormLabelModule {}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content before another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffPrefix]',\n})\n\nexport class DaffPrefixDirective {\n\n @HostBinding('class.daff-prefix') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content after another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffSuffix]',\n})\n\nexport class DaffSuffixDirective {\n\n @HostBinding('class.daff-suffix') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from './prefix.directive';\nimport { DaffSuffixDirective } from './suffix.directive';\n\n@NgModule({\n imports: [],\n exports: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n declarations: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffPrefixSuffixModule {}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffSuffixDirective } from '../suffix.directive';\n\n/**\n * A mixin for giving a component the ability to place content after another piece of content.\n */\nexport function daffSuffixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class SuffixableDirective extends Base {\n\n @ContentChild(DaffSuffixDirective, { static: true }) _suffix: DaffSuffixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return SuffixableDirective;\n}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffPrefixDirective } from '../prefix.directive';\n\n/**\n * A mixin for giving a component the ability to place content before another piece of content.\n */\nexport function daffPrefixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class PrefixableDirective extends Base {\n\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return PrefixableDirective;\n}\n","export enum DaffPaletteEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n ACCENT = 'accent', //TODO: damienwebdev Deprecate accent\n TERTIARY = 'tertiary',\n BLACK = 'black',\n WHITE = 'white',\n THEME = 'theme',\n THEMECONTRAST = 'theme-contrast'\n}\n","import { DaffPaletteEnum } from './colorable-enum';\n\nexport function colorInPalette(color: string): boolean{\n return (<any>Object).values(DaffPaletteEnum).includes(color);\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { colorInPalette } from './color-in-palette';\nimport { DaffPalette } from './colorable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * This should be a trait, but typescript only supports mixins.\n * See: https://github.com/Microsoft/TypeScript/issues/311\n *\n * Turns out the material team followed the same path with the color mixin.\n * https://github.com/angular/material2/blob/master/src/lib/core/common-behaviors/color.ts\n */\nexport function\ndaffColorMixin<T extends Constructor<HasElementRef>>(Base: T, defaultColor?: DaffPalette) {\n class DaffColorableMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _color: DaffPalette;\n\n get color(): DaffPalette{\n return this._color;\n }\n set color(value: DaffPalette) {\n //Handle the default color\n const incomingColor = value || defaultColor;\n\n if(incomingColor !== undefined && !colorInPalette(incomingColor)){\n throw new TypeError(incomingColor + ' is not a valid color for the DaffPalette');\n }\n\n if(incomingColor !== this._color){ //Only run the dom-render if a change occurs\n //Remove the old color\n if(this._color){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._color}`);\n }\n\n if(incomingColor){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingColor}`);\n }\n\n this._color = incomingColor;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.color = defaultColor;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffColorableMixinClass.prototype, 'color');\n\n return DaffColorableMixinClass;\n}\n","export enum DaffBreakpoints {\n DESKTOP = '(min-width: 1920px)',\n LAPTOP = '(min-width: 1440px)',\n SMALL_LAPTOP = '(min-width: 1200px)',\n BIG_TABLET = '(min-width: 1024px)',\n TABLET = '(min-width: 768px)',\n MOBILE = '(min-width: 480px)',\n}\n","/**\n * A basic constructor type useful for mixins\n * See https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes\n * for a really good explanation of why mixins are useful.\n */\n\nexport type Constructor<T = Record<string, any>> = new (...args: any[]) => T;\n","export interface DaffStatusable {\n status: DaffStatus;\n}\n\nexport type DaffStatus = 'warn' | 'danger' | 'success';\n\nexport enum DaffStatusEnum {\n Warn = 'warn',\n Danger = 'danger',\n Success = 'success'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffStatus } from './statusable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffStatusMixin<T extends Constructor<HasElementRef>>(Base: T, defaultStatus?: DaffStatus) {\n class DaffStatusMixinClass extends Base {\n // TODO move this back to private in Typescript 3.1\n _status: DaffStatus;\n\n get status(): DaffStatus {\n return this._status;\n }\n\n set status(value: DaffStatus) {\n // Handles the default status\n const incomingStatus = value || defaultStatus;\n\n if (incomingStatus === this._status) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old status\n if (this._status) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._status}`);\n }\n\n if (incomingStatus) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingStatus}`);\n }\n\n this._status = incomingStatus;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.status = defaultStatus;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffStatusMixinClass.prototype, 'status');\n\n return DaffStatusMixinClass;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSkeletonableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultSkeleton: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _skeleton: boolean;\n\n get skeleton(): boolean {\n return this._skeleton;\n }\n\n set skeleton(value: boolean) {\n // Handles the default skeleton\n const incomingSkeleton = value || defaultSkeleton;\n\n if (incomingSkeleton === this._skeleton) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingSkeleton) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-skeleton`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-skeleton`);\n }\n\n this._skeleton = incomingSkeleton;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.skeleton = defaultSkeleton;\n }\n };\n}\n","/**\n * An interface for giving a component the ability to customize text alignment for component-specific UI.\n * In order to be text alignable, a component class must implement this property.\n */\nexport interface DaffTextAlignable {\n textAlignment: DaffTextAlignment;\n}\n\n/**\n * The possible types that can be passed to a DaffTextAlignable component\n */\nexport type DaffTextAlignment = 'left' | 'center' | 'right';\nexport enum DaffTextAlignmentEnum {\n Left = 'left',\n Center = 'center',\n Right = 'right'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffTextAlignment } from './text-alignable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffTextAlignmentMixin<T extends Constructor<HasElementRef>>(Base: T, defaultTextAlignment?: DaffTextAlignment) {\n class DaffTextAlignableMixin extends Base {\n // TODO move this back to private in Typescript 3.1\n _textAlignment: DaffTextAlignment;\n\n /**\n * Controls text alignment for component-specific UI\n */\n get textAlignment(): DaffTextAlignment {\n return this._textAlignment;\n }\n set textAlignment(value: DaffTextAlignment) {\n // Handles the default text alignment\n const incomingTextAlignment = value || defaultTextAlignment;\n\n if (incomingTextAlignment === this._textAlignment) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old text alignment\n if (this._textAlignment) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._textAlignment}`);\n }\n\n if (incomingTextAlignment) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingTextAlignment}`);\n }\n\n this._textAlignment = incomingTextAlignment;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.textAlignment = defaultTextAlignment;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffTextAlignableMixin.prototype, 'textAlignment');\n\n return DaffTextAlignableMixin;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffCompactableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultCompact: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _compact: boolean;\n\n get compact(): boolean {\n return this._compact;\n }\n\n set compact(value: boolean) {\n // Handles the default compact\n const incomingCompact = value || defaultCompact;\n\n if (incomingCompact === this._compact) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingCompact) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-compact`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-compact`);\n }\n\n this._compact = incomingCompact;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.compact = defaultCompact;\n }\n };\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to manage a DaffContainerComponent's layout.\n * It passes predetermined layout styles down to the container. In order for a component to\n * do this, it must implement this mixin.\n */\nexport function\ndaffManageContainerLayoutMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-manage-container-layout`);\n }\n };\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to prevent article styles from cascading down.\n */\nexport function\ndaffArticleEncapsulatedMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-ae`);\n }\n };\n}\n","/**\n * The possible states of a theme.\n */\nexport enum DaffTheme {\n Light = 'light',\n Dark = 'dark',\n None = 'none'\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n fromEventPattern,\n} from 'rxjs';\nimport {\n map,\n startWith,\n} from 'rxjs/operators';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport const mediaQueryDarkPreference = '(prefers-color-scheme: dark)';\n\nexport const addHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'addEventListener' in query\n ? query.addEventListener('change', handler)\n : (<MediaQueryList>query).addListener(handler);\n};\n\nexport const removeHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'removeEventListener' in query\n ? query.removeEventListener('change', handler)\n : (<MediaQueryList>query).removeListener(handler);\n};\n\n/**\n * A service for retrieving the operating system's theme preference.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOsThemeService {\n\n preference$: Observable<DaffTheme>;\n\n private doc?: Document;\n\n constructor(@Inject(DOCUMENT) _doc: any) {\n\t this.doc = <Document>_doc;\n\n\t this.preference$ = this.doc.defaultView?.matchMedia\n\t ? fromEventPattern<MediaQueryListEvent>(\n\t addHandlerFactory(this.doc.defaultView),\n\t \tremoveHandlerFactory(this.doc.defaultView),\n\t )\n\t .pipe(\n\t startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)),\n\t map((e: MediaQueryListEvent) => e.matches),\n\t map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light),\n\t )\n\t : of(DaffTheme.None);\n }\n\n /**\n * Get the operating system's theme preference.\n */\n public getThemePreference(): Observable<DaffTheme> {\n\t return this.preference$;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n fromEvent,\n Subject,\n merge,\n EMPTY,\n of,\n} from 'rxjs';\nimport {\n map,\n filter,\n startWith,\n shareReplay,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffPersistenceService,\n DaffServerSafePersistenceServiceToken,\n} from '@daffodil/core';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport type ThemeStorageEvent = Pick<StorageEvent, 'newValue' | 'key'>;\n\nexport const THEME_STORAGE_KEY = 'DAFF_THEME';\n\nexport const coerceValue = (val?: string): DaffTheme =>\n val === DaffTheme.Dark || val === DaffTheme.Light\n ? val\n : DaffTheme.None;\n\n/**\n * Generate a StorageEvent\n */\nconst storageEventBuilder = (\n value: DaffTheme,\n): ThemeStorageEvent => ({\n key: THEME_STORAGE_KEY,\n newValue: coerceValue(value) !== DaffTheme.None ? value : null,\n});\n\n/**\n * A service for retrieving and managing the application's stored theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemeStorageService {\n private theme$: Observable<DaffTheme>;\n private storage$: Subject<ThemeStorageEvent> = new Subject();\n private doc?: Document;\n\n constructor(\n @Inject(DaffServerSafePersistenceServiceToken)\n private storage: DaffPersistenceService,\n @Inject(DOCUMENT) _doc: any,\n ) {\n\t this.doc = <Document>_doc;\n\t this.theme$ = merge(\n\t this.storage$,\n\t this.doc.defaultView\n\t ? fromEvent<ThemeStorageEvent>(\n <Window & typeof globalThis>this.doc.defaultView,\n 'storage',\n\t ).pipe(\n\t startWith(\n\t storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t ),\n\t ),\n\t catchError((e) => EMPTY),\n\t )\n\t : of(storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t )),\n\t ).pipe(\n\t filter(\n\t (e: ThemeStorageEvent) => e.key === THEME_STORAGE_KEY,\n\t ),\n\t map((e) => coerceValue(e.newValue)),\n\t shareReplay(1),\n\t );\n }\n\n /**\n * Given that Safari doesn't respect in-tab storage events, we have to manually\n * fire storage events in the open tab on Webkit based browsers.\n */\n private progressStorageEvent(theme: DaffTheme) {\n\t this.storage$.next(storageEventBuilder(theme));\n }\n\n getThemeAsObservable(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n getTheme(): DaffTheme {\n\t return coerceValue(this.storage.getItem(THEME_STORAGE_KEY));\n }\n\n setTheme(theme: DaffTheme): void {\n\t this.progressStorageEvent(theme);\n\t this.storage.setItem(THEME_STORAGE_KEY, theme);\n }\n\n removeThemeSetting(): void {\n\t this.progressStorageEvent(DaffTheme.None);\n\t this.storage.removeItem(THEME_STORAGE_KEY);\n }\n}\n","import { DaffTheme } from '../types/theme';\n\n/**\n * Computes the appropriate application theme from the specified values.\n * It cascades from `storedPreference` to `osPreference` to `defaultTheme`.\n */\nexport const daffComputeThemeSetting = (\n osPreference?: DaffTheme,\n storedPreference?: DaffTheme,\n defaultTheme: DaffTheme = DaffTheme.Dark,\n): DaffTheme => {\n if (storedPreference) {\n return storedPreference;\n }\n\n if (osPreference === 'dark') {\n return DaffTheme.Dark;\n }\n\n if (osPreference === 'light') {\n return DaffTheme.Light;\n }\n\n return defaultTheme;\n};\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { DaffOsThemeService } from './os-theme/ostheme.service';\nimport { DaffThemeStorageService } from './storage/theme-storage.service';\nimport { daffComputeThemeSetting } from '../functions/computer';\nimport { DaffTheme } from '../types/theme';\n\n/**\n * A service for controlling the application's theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemingService {\n private theme$: Observable<DaffTheme>;\n private theme: DaffTheme;\n\n constructor(\n private osTheme: DaffOsThemeService,\n private themeStorage: DaffThemeStorageService,\n ) {\n\n\t this.theme$ = combineLatest([\n\t this.osTheme.getThemePreference(),\n\t this.themeStorage.getThemeAsObservable(),\n\t ]).pipe(\n\t map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)),\n\t );\n\n\t this.theme$.subscribe((theme) => {\n\t this.theme = theme;\n\t });\n }\n\n /**\n * Get the current theme.\n */\n getTheme(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n /**\n * Set the theme to dark mode.\n */\n darkMode() {\n\t this.themeStorage.setTheme(DaffTheme.Dark);\n }\n\n /**\n * Set the theme to light mode.\n */\n lightMode() {\n\t this.themeStorage.setTheme(DaffTheme.Light);\n }\n\n /**\n * Switch between themes.\n */\n switchTheme(): void {\n\t return this.theme === DaffTheme.Dark\n\t ? this.lightMode()\n\t : this.darkMode();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DaffTheme } from '../../types/theme';\nimport { DaffThemingService } from '../theming.service';\n\nexport const DAFF_THEME_DARK_CSS_CLASS = 'daff-theme-dark';\nexport const DAFF_THEME_LIGHT_CSS_CLASS = 'daff-theme-light';\n\n/**\n * This class updates the body of the application with the theme's appropriate class.\n * Note that this service is not provided tree-shakably by intention.\n * It is intended to be provided manually during setup.\n */\n@Injectable()\nexport class DaffThemeClassSetterService {\n private renderer: Renderer2;\n private subscription: Subscription;\n private doc?: Document;\n\n constructor(\n @Inject(DOCUMENT) _doc: any,\n private rendererFactory: RendererFactory2,\n private themingService: DaffThemingService,\n ) {\n\t this.doc = <Document>_doc;\n\t this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * This function is intended to only be called once when the service\n * is initialized for the very first time. This will mutate the class\n * on the body of the document for the appropriate theme as controlled\n * by the state of the application's theme.\n */\n beginThemeSync(): void {\n\t this.subscription = this.themingService.getTheme().subscribe((theme) => {\n\t // For simplicty, remove all previously applied themes.\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n\t this.renderer.addClass(this.doc.body, theme === DaffTheme.Dark ? DAFF_THEME_DARK_CSS_CLASS : DAFF_THEME_LIGHT_CSS_CLASS);\n\t });\n }\n\n /**\n * This unsubscribes from the bodyClass subscription that exists.\n */\n destroy(): void {\n\t this.subscription?.unsubscribe();\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n }\n}\n","import {\n Provider,\n APP_INITIALIZER,\n} from '@angular/core';\n\nimport { DaffThemeClassSetterService } from './services/class-setter/theme-class-setter.service';\n\nexport const DAFF_THEME_INIT = (classSetter: DaffThemeClassSetterService) => () => classSetter.beginThemeSync();\n\n/**\n * The theme provider for the app.\n * This configures updating the body with the theme class.\n */\nexport const DAFF_THEME_INITIALIZER: Provider[] = [\n DaffThemeClassSetterService,\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [DaffThemeClassSetterService],\n useFactory: DAFF_THEME_INIT,\n },\n];\n","export const daffFocusableElementsSelector = 'a[href],a[routerlink], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n","import { DOCUMENT } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class DaffFocusStackService {\n private _stack: HTMLElement[] = [];\n\n constructor(@Inject(DOCUMENT) private document: any) {\n\n }\n\n /**\n * Return the current length of the stack.\n */\n length(): number {\n return this._stack.length;\n }\n\n /**\n * Adds a HTML element to a focus stack and returns the new length of the stack.\n *\n * Generally, you will probably want to call this before you transition focus\n * onto a new element.\n *\n * ```ts\n * this._focusStack.push(this._doc.activeElement);\n * ```\n */\n push(el: HTMLElement | undefined = undefined): number {\n this._stack.push(el ?? this.document.activeElement);\n return this._stack.length;\n }\n\n /**\n * Focuses on the HTML element at the top of a stack.\n *\n * ```ts\n * this._focusStack.push(this._doc.activeElement);\n * ```\n */\n focus() {\n if(this._stack.length >= 1) {\n this._stack.slice(-1)[0].focus();\n } else {\n (<HTMLElement>this.document.activeElement).blur();\n }\n }\n\n /**\n * Removes the HMTL element at the top of a stack and focuses on it.\n */\n pop(focus: boolean = true): HTMLElement {\n let el = this._stack.pop();\n while(el === undefined && this._stack.length > 0) {\n el = this._stack.pop();\n }\n\n if(el) {\n if(focus) {\n el.focus();\n }\n return el;\n }\n\n (<HTMLElement>this.document.activeElement).blur();\n return this.document.activeElement;\n }\n}\n","/**\n * An interface for giving a component the ability to customize sizing for component-specific UI.\n * In order to be sizable, a component class must implement this property.\n */\n\nexport interface DaffSizable<T extends DaffSizeAllType> {\n size: T;\n}\n\n/**\n * The possible types that can be passed to a component that implements DaffSizable\n */\n\nexport type DaffSizeXSmallType = 'xs';\nexport type DaffSizeSmallType = 'sm';\nexport type DaffSizeMediumType = 'md';\nexport type DaffSizeLargeType = 'lg';\nexport type DaffSizeXLargeType = 'xl';\n\nexport type DaffSizeAllType = DaffSizeXSmallType | DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType | DaffSizeXLargeType;\n\nexport enum DaffSizableEnum {\n XSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffSizeAllType } from './sizable';\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSizeMixin<V extends DaffSizeAllType, T extends Constructor<HasElementRef> = Constructor<HasElementRef>>(Base: T, defaultSize?: V) {\n class DaffSizeMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _size: V;\n\n get size(): V{\n return this._size;\n }\n set size(value: V) {\n // Handles the default size\n const incomingSize = value || defaultSize;\n\n if(incomingSize !== this._size){ //Only run the dom-render if a change occurs\n //Remove the old size\n if(this._size){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._size}`);\n }\n\n if(incomingSize){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingSize}`);\n }\n\n this._size = incomingSize;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.size = defaultSize;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffSizeMixinClass.prototype, 'size');\n\n return DaffSizeMixinClass;\n}\n","// Core\nexport * from './animation/animation-state-with-params';\nexport * from './prefix-suffix/public_api';\nexport * from './colorable/public_api';\nexport * from './breakpoints/breakpoints';\nexport * from './constructor/constructor';\nexport * from './statusable/public_api';\nexport * from './skeletonable/public_api';\nexport * from './mutable/mutable';\nexport * from './text-alignable/public_api';\nexport * from './compactable/public_api';\nexport * from './manage-container-layout/public_api';\nexport * from './article-encapsulated/public_api';\nexport * from './theming/public_api';\nexport * from './lazy/public_api';\nexport * from './focus/public_api';\nexport * from './sizable/public_api';\n","/*\n * Public API Surface of @daffodil/design\n */\n\n// Atoms\nexport * from './atoms/form/core/public_api';\nexport * from './atoms/form/form-field/public_api';\nexport * from './atoms/form/error-message/public_api';\nexport * from './atoms/form/input/public_api';\nexport * from './atoms/form/native-select/public_api';\nexport * from './atoms/form/checkbox/public_api';\nexport * from './atoms/form/quantity-field/public_api';\nexport * from './atoms/form/radio/public_api';\nexport * from './atoms/form/form-label/public_api';\n\n// Core\nexport * from './core/public_api';\n\n// Examples\nexport * from './examples/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.DaffCheckboxComponent","i2.DaffInputComponent","i3.DaffNativeSelectComponent","i3.DaffQuantityInputComponent","i4.DaffQuantitySelectComponent","i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent","i1.DaffOsThemeService","i2.DaffThemeStorageService","i1.DaffThemingService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-design.mjs","sources":["../../../libs/design/src/atoms/form/core/error-state-matcher/error-state-matcher.ts","../../../libs/design/src/atoms/form/form-field/form-field-control.ts","../../../libs/design/src/atoms/form/form-field/form-field-errors.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.html","../../../libs/design/src/atoms/form/error-message/error-message.component.ts","../../../libs/design/src/atoms/form/error-message/error-message.module.ts","../../../libs/design/src/atoms/form/form-field/form-field.module.ts","../../../libs/design/src/atoms/form/input/input.component.ts","../../../libs/design/src/atoms/form/input/input.module.ts","../../../libs/design/src/atoms/form/native-select/native-select.component.ts","../../../libs/design/src/atoms/form/native-select/native-select.module.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.html","../../../libs/design/src/atoms/form/checkbox/cva/checkbox-cva.directive.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.html","../../../libs/design/src/atoms/form/checkbox/checkbox.module.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.module.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.html","../../../libs/design/src/atoms/form/radio/radio.component.ts","../../../libs/design/src/atoms/form/radio/radio.html","../../../libs/design/src/atoms/form/radio/registry/radio-registry.ts","../../../libs/design/src/atoms/form/radio/cva/radio-cva.directive.ts","../../../libs/design/src/atoms/form/radio/radio.module.ts","../../../libs/design/src/atoms/form/form-label/form-label.directive.ts","../../../libs/design/src/atoms/form/form-label/form-label.module.ts","../../../libs/design/src/core/prefix-suffix/prefix.directive.ts","../../../libs/design/src/core/prefix-suffix/suffix.directive.ts","../../../libs/design/src/core/prefix-suffix/prefix-suffix.module.ts","../../../libs/design/src/core/prefix-suffix/suffixable/suffixable.ts","../../../libs/design/src/core/prefix-suffix/prefixable/prefixable.ts","../../../libs/design/src/core/colorable/colorable-enum.ts","../../../libs/design/src/core/colorable/color-in-palette.ts","../../../libs/design/src/core/colorable/colorable-mixin.ts","../../../libs/design/src/core/breakpoints/breakpoints.ts","../../../libs/design/src/core/constructor/constructor.ts","../../../libs/design/src/core/statusable/statusable.ts","../../../libs/design/src/core/statusable/statusable-mixin.ts","../../../libs/design/src/core/skeletonable/skeletonable-mixin.ts","../../../libs/design/src/core/text-alignable/text-alignable.ts","../../../libs/design/src/core/text-alignable/text-alignable-mixin.ts","../../../libs/design/src/core/compactable/compactable-mixin.ts","../../../libs/design/src/core/manage-container-layout/manage-container-layout-mixin.ts","../../../libs/design/src/core/article-encapsulated/article-encapsulated-mixin.ts","../../../libs/design/src/core/theming/types/theme.ts","../../../libs/design/src/core/theming/services/os-theme/ostheme.service.ts","../../../libs/design/src/core/theming/services/storage/theme-storage.service.ts","../../../libs/design/src/core/theming/functions/computer.ts","../../../libs/design/src/core/theming/services/theming.service.ts","../../../libs/design/src/core/theming/services/class-setter/theme-class-setter.service.ts","../../../libs/design/src/core/theming/initializer.ts","../../../libs/design/src/core/focus/focusable-elements.ts","../../../libs/design/src/core/focus/stack.service.ts","../../../libs/design/src/core/sizable/sizable.ts","../../../libs/design/src/core/sizable/sizable-mixin.ts","../../../libs/design/src/core/public_api.ts","../../../libs/design/src/public_api.ts","../../../libs/design/src/index.ts","../../../libs/design/src/daffodil-design.ts"],"sourcesContent":["import { UntypedFormControl } from '@angular/forms';\n\nexport class DaffErrorStateMatcher {\n\n isErrorState(control: UntypedFormControl, formSubmitted: boolean): boolean {\n return control.errors && (control.touched || formSubmitted);\n }\n}\n","import { NgControl } from '@angular/forms';\n\n/**\n *\n * The class that a form control must **implement** in order to be\n * used with the DaffFormFieldComponent.\n *\n * You may ask: \"Why are you implementing an abstract class, not extending it?\"\n * We do this so that the Angular DI container can match the class token. A typical\n * interface would be \"more accurate\" here, but since interfaces don't exist\n * in javascript, they get thrown out by the typescript compiler and cannot\n * be used for the necessary dependency injection.\n */\nexport abstract class DaffFormFieldControl {\n readonly ngControl: NgControl | null;\n\n readonly controlType?: any;\n\n readonly focused: boolean;\n\n abstract focus(event?: Event): void;\n};\n","export const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';\n","import {\n Component,\n ViewEncapsulation,\n DoCheck,\n ContentChild,\n Input,\n AfterContentInit,\n AfterContentChecked,\n HostBinding,\n} from '@angular/core';\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffFormFieldControl } from '../form-field-control';\nimport { DaffFormFieldMissingControlMessage } from '../form-field-errors';\n\n// ChangeDetection is ignored because this component needs to be refactored\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffFormFieldComponent implements DoCheck, AfterContentInit, AfterContentChecked {\n\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n\n @HostBinding('class.daff-form-field') class = true;\n\n /**\n * The tracking property used to determine if the parent form has been submitted,\n * and thus show an error message (even if the field hasn't been touched).\n *\n * @deprecated\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() formSubmitted: boolean = false;\n\n /**\n * The child form control that the form-field manages\n *\n * @docs-private\n */\n @ContentChild(DaffFormFieldControl) _control: DaffFormFieldControl;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as error.\n */\n isError = false;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as valid.\n */\n isValid = false;\n\n /**\n * @docs\n *\n * Determines whether or not the form field should display its focused state.\n */\n get isFocused() {\n return this._control?.focused;\n }\n\n /**\n * Keeps the state of the form field consistent with its child DaffFormControl\n *\n * TODO: consider whether or not this can be refactored to some kind of\n * observable to remove unnecessary change detection.\n *\n * @docs-private\n */\n ngDoCheck() {\n if(this._control?.ngControl) {\n this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);\n this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;\n }\n }\n\n /**\n * Validate whether or not the FormField is in\n * a \"usable\" state.\n */\n private _validateFormControl() {\n if (!this._control) {\n throw new Error(DaffFormFieldMissingControlMessage);\n }\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentInit() {\n this._validateFormControl();\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentChecked() {\n this._validateFormControl();\n }\n}\n","<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-error-message',\n template: '<ng-content></ng-content>',\n styleUrls: ['./error-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffErrorMessageComponent {\n @HostBinding('class.daff-error-message') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffErrorMessageComponent } from './error-message.component';\n\n@NgModule({\n exports: [\n DaffErrorMessageComponent,\n ],\n declarations: [\n DaffErrorMessageComponent,\n ],\n})\nexport class DaffErrorMessageModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffFormFieldComponent } from './form-field/form-field.component';\nimport { DaffErrorMessageModule } from '../error-message/error-message.module';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffErrorMessageModule,\n ],\n exports: [\n DaffFormFieldComponent,\n DaffErrorMessageModule,\n ],\n declarations: [\n DaffFormFieldComponent,\n ],\n})\nexport class DaffFormFieldModule { }\n","import {\n Component,\n Input,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n/**\n * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[daff-input]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffInputComponent },\n ],\n})\nexport class DaffInputComponent implements DaffFormFieldControl {\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffInputComponent,\n ],\n declarations: [\n DaffInputComponent,\n ],\n})\nexport class DaffInputModule { }\n","import {\n Component,\n ViewEncapsulation,\n Optional,\n Self,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./native-select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n})\n\nexport class DaffNativeSelectComponent implements DaffFormFieldControl {\n /**\n * @docs-private\n */\n controlType = 'native-select';\n\n @HostBinding('class.daff-native-select') class = true;\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n\t this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffNativeSelectComponent } from './native-select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffNativeSelectComponent,\n ],\n declarations: [\n DaffNativeSelectComponent,\n ],\n})\nexport class DaffNativeSelectModule { }\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n\t return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { UntypedFormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n styleUrls: ['./checkbox-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: UntypedFormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxComponent } from './checkbox.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\nimport { DaffCheckboxSetComponent } from '../checkbox-set/checkbox-set.component';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n declarations: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '../../input/public_api';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '../../native-select/public_api';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityFieldComponent implements ControlValueAccessor, DaffFormFieldControl {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n disabled = false;\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n}\n","<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n</daff-quantity-input>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\nimport { DaffInputModule } from '../input/public_api';\nimport { DaffNativeSelectModule } from '../native-select/public_api';\n\n@NgModule({\n declarations: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n imports: [\n CommonModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ReactiveFormsModule,\n ],\n exports: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","import {\n Component,\n HostBinding,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n styleUrls: ['./radio-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radiogroup';\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n forwardRef,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'daff-radio',\n templateUrl: './radio.html',\n styleUrls: ['./radio.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radio';\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n\t if (this._checked !== value) {\n\t this._checked = value;\n\t this.selectionChange.emit(this.value);\n\t }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i]['accessor'] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c['accessor'] !== accessor) {\n c['accessor'].fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair['control'].control) {\n return false;\n }\n return controlPair['control'].control.parent === accessor._control.control.parent\n && controlPair['accessor'].name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio.component';\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\n\n\n@NgModule({\n exports:[\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n\n ],\n declarations: [\n DaffRadioControlValueAccessorDirective,\n DaffRadioComponent,\n DaffRadioSetComponent,\n ],\n imports: [\n CommonModule,\n ],\n})\nexport class DaffRadioModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFormLabel]',\n})\nexport class DaffFormLabelDirective {\n @HostBinding('class.daff-form-label') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffFormLabelDirective } from './form-label.directive';\n\n@NgModule({\n exports: [\n DaffFormLabelDirective,\n ],\n declarations: [\n DaffFormLabelDirective,\n ],\n})\n\nexport class DaffFormLabelModule {}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content before another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffPrefix]',\n})\n\nexport class DaffPrefixDirective {\n\n @HostBinding('class.daff-prefix') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content after another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffSuffix]',\n})\n\nexport class DaffSuffixDirective {\n\n @HostBinding('class.daff-suffix') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from './prefix.directive';\nimport { DaffSuffixDirective } from './suffix.directive';\n\n@NgModule({\n imports: [],\n exports: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n declarations: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffPrefixSuffixModule {}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffSuffixDirective } from '../suffix.directive';\n\n/**\n * A mixin for giving a component the ability to place content after another piece of content.\n */\nexport function daffSuffixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class SuffixableDirective extends Base {\n\n @ContentChild(DaffSuffixDirective, { static: true }) _suffix: DaffSuffixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return SuffixableDirective;\n}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffPrefixDirective } from '../prefix.directive';\n\n/**\n * A mixin for giving a component the ability to place content before another piece of content.\n */\nexport function daffPrefixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class PrefixableDirective extends Base {\n\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return PrefixableDirective;\n}\n","export enum DaffPaletteEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n ACCENT = 'accent', //TODO: damienwebdev Deprecate accent\n TERTIARY = 'tertiary',\n BLACK = 'black',\n WHITE = 'white',\n THEME = 'theme',\n THEMECONTRAST = 'theme-contrast'\n}\n","import { DaffPaletteEnum } from './colorable-enum';\n\nexport function colorInPalette(color: string): boolean{\n return (<any>Object).values(DaffPaletteEnum).includes(color);\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { colorInPalette } from './color-in-palette';\nimport { DaffPalette } from './colorable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * This should be a trait, but typescript only supports mixins.\n * See: https://github.com/Microsoft/TypeScript/issues/311\n *\n * Turns out the material team followed the same path with the color mixin.\n * https://github.com/angular/material2/blob/master/src/lib/core/common-behaviors/color.ts\n */\nexport function\ndaffColorMixin<T extends Constructor<HasElementRef>>(Base: T, defaultColor?: DaffPalette) {\n class DaffColorableMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _color: DaffPalette;\n\n get color(): DaffPalette{\n return this._color;\n }\n set color(value: DaffPalette) {\n //Handle the default color\n const incomingColor = value || defaultColor;\n\n if(incomingColor !== undefined && !colorInPalette(incomingColor)){\n throw new TypeError(incomingColor + ' is not a valid color for the DaffPalette');\n }\n\n if(incomingColor !== this._color){ //Only run the dom-render if a change occurs\n //Remove the old color\n if(this._color){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._color}`);\n }\n\n if(incomingColor){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingColor}`);\n }\n\n this._color = incomingColor;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.color = defaultColor;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffColorableMixinClass.prototype, 'color');\n\n return DaffColorableMixinClass;\n}\n","export enum DaffBreakpoints {\n DESKTOP = '(min-width: 1920px)',\n LAPTOP = '(min-width: 1440px)',\n SMALL_LAPTOP = '(min-width: 1200px)',\n BIG_TABLET = '(min-width: 1024px)',\n TABLET = '(min-width: 768px)',\n MOBILE = '(min-width: 480px)',\n}\n","/**\n * A basic constructor type useful for mixins\n * See https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes\n * for a really good explanation of why mixins are useful.\n */\n\nexport type Constructor<T = Record<string, any>> = new (...args: any[]) => T;\n","export interface DaffStatusable {\n status: DaffStatus;\n}\n\nexport type DaffStatus = 'warn' | 'danger' | 'success';\n\nexport enum DaffStatusEnum {\n Warn = 'warn',\n Danger = 'danger',\n Success = 'success'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffStatus } from './statusable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffStatusMixin<T extends Constructor<HasElementRef>>(Base: T, defaultStatus?: DaffStatus) {\n class DaffStatusMixinClass extends Base {\n // TODO move this back to private in Typescript 3.1\n _status: DaffStatus;\n\n get status(): DaffStatus {\n return this._status;\n }\n\n set status(value: DaffStatus) {\n // Handles the default status\n const incomingStatus = value || defaultStatus;\n\n if (incomingStatus === this._status) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old status\n if (this._status) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._status}`);\n }\n\n if (incomingStatus) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingStatus}`);\n }\n\n this._status = incomingStatus;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.status = defaultStatus;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffStatusMixinClass.prototype, 'status');\n\n return DaffStatusMixinClass;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSkeletonableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultSkeleton: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _skeleton: boolean;\n\n get skeleton(): boolean {\n return this._skeleton;\n }\n\n set skeleton(value: boolean) {\n // Handles the default skeleton\n const incomingSkeleton = value || defaultSkeleton;\n\n if (incomingSkeleton === this._skeleton) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingSkeleton) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-skeleton`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-skeleton`);\n }\n\n this._skeleton = incomingSkeleton;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.skeleton = defaultSkeleton;\n }\n };\n}\n","/**\n * An interface for giving a component the ability to customize text alignment for component-specific UI.\n * In order to be text alignable, a component class must implement this property.\n */\nexport interface DaffTextAlignable {\n textAlignment: DaffTextAlignment;\n}\n\n/**\n * The possible types that can be passed to a DaffTextAlignable component\n */\nexport type DaffTextAlignment = 'left' | 'center' | 'right';\nexport enum DaffTextAlignmentEnum {\n Left = 'left',\n Center = 'center',\n Right = 'right'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffTextAlignment } from './text-alignable';\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffTextAlignmentMixin<T extends Constructor<HasElementRef>>(Base: T, defaultTextAlignment?: DaffTextAlignment) {\n class DaffTextAlignableMixin extends Base {\n // TODO move this back to private in Typescript 3.1\n _textAlignment: DaffTextAlignment;\n\n /**\n * Controls text alignment for component-specific UI\n */\n get textAlignment(): DaffTextAlignment {\n return this._textAlignment;\n }\n set textAlignment(value: DaffTextAlignment) {\n // Handles the default text alignment\n const incomingTextAlignment = value || defaultTextAlignment;\n\n if (incomingTextAlignment === this._textAlignment) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old text alignment\n if (this._textAlignment) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._textAlignment}`);\n }\n\n if (incomingTextAlignment) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingTextAlignment}`);\n }\n\n this._textAlignment = incomingTextAlignment;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.textAlignment = defaultTextAlignment;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffTextAlignableMixin.prototype, 'textAlignment');\n\n return DaffTextAlignableMixin;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffCompactableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultCompact: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _compact: boolean;\n\n get compact(): boolean {\n return this._compact;\n }\n\n set compact(value: boolean) {\n // Handles the default compact\n const incomingCompact = value || defaultCompact;\n\n if (incomingCompact === this._compact) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingCompact) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-compact`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-compact`);\n }\n\n this._compact = incomingCompact;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.compact = defaultCompact;\n }\n };\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to manage a DaffContainerComponent's layout.\n * It passes predetermined layout styles down to the container. In order for a component to\n * do this, it must implement this mixin.\n */\nexport function\ndaffManageContainerLayoutMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-manage-container-layout`);\n }\n };\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to prevent article styles from cascading down.\n */\nexport function\ndaffArticleEncapsulatedMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-ae`);\n }\n };\n}\n","/**\n * The possible states of a theme.\n */\nexport enum DaffTheme {\n Light = 'light',\n Dark = 'dark',\n None = 'none'\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n fromEventPattern,\n} from 'rxjs';\nimport {\n map,\n startWith,\n} from 'rxjs/operators';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport const mediaQueryDarkPreference = '(prefers-color-scheme: dark)';\n\nexport const addHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'addEventListener' in query\n ? query.addEventListener('change', handler)\n : (<MediaQueryList>query).addListener(handler);\n};\n\nexport const removeHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'removeEventListener' in query\n ? query.removeEventListener('change', handler)\n : (<MediaQueryList>query).removeListener(handler);\n};\n\n/**\n * A service for retrieving the operating system's theme preference.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOsThemeService {\n\n preference$: Observable<DaffTheme>;\n\n private doc?: Document;\n\n constructor(@Inject(DOCUMENT) _doc: any) {\n\t this.doc = <Document>_doc;\n\n\t this.preference$ = this.doc.defaultView?.matchMedia\n\t ? fromEventPattern<MediaQueryListEvent>(\n\t addHandlerFactory(this.doc.defaultView),\n\t \tremoveHandlerFactory(this.doc.defaultView),\n\t )\n\t .pipe(\n\t startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)),\n\t map((e: MediaQueryListEvent) => e.matches),\n\t map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light),\n\t )\n\t : of(DaffTheme.None);\n }\n\n /**\n * Get the operating system's theme preference.\n */\n public getThemePreference(): Observable<DaffTheme> {\n\t return this.preference$;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n fromEvent,\n Subject,\n merge,\n EMPTY,\n of,\n} from 'rxjs';\nimport {\n map,\n filter,\n startWith,\n shareReplay,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffPersistenceService,\n DaffServerSafePersistenceServiceToken,\n} from '@daffodil/core';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport type ThemeStorageEvent = Pick<StorageEvent, 'newValue' | 'key'>;\n\nexport const THEME_STORAGE_KEY = 'DAFF_THEME';\n\nexport const coerceValue = (val?: string): DaffTheme =>\n val === DaffTheme.Dark || val === DaffTheme.Light\n ? val\n : DaffTheme.None;\n\n/**\n * Generate a StorageEvent\n */\nconst storageEventBuilder = (\n value: DaffTheme,\n): ThemeStorageEvent => ({\n key: THEME_STORAGE_KEY,\n newValue: coerceValue(value) !== DaffTheme.None ? value : null,\n});\n\n/**\n * A service for retrieving and managing the application's stored theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemeStorageService {\n private theme$: Observable<DaffTheme>;\n private storage$: Subject<ThemeStorageEvent> = new Subject();\n private doc?: Document;\n\n constructor(\n @Inject(DaffServerSafePersistenceServiceToken)\n private storage: DaffPersistenceService,\n @Inject(DOCUMENT) _doc: any,\n ) {\n\t this.doc = <Document>_doc;\n\t this.theme$ = merge(\n\t this.storage$,\n\t this.doc.defaultView\n\t ? fromEvent<ThemeStorageEvent>(\n <Window & typeof globalThis>this.doc.defaultView,\n 'storage',\n\t ).pipe(\n\t startWith(\n\t storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t ),\n\t ),\n\t catchError((e) => EMPTY),\n\t )\n\t : of(storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t )),\n\t ).pipe(\n\t filter(\n\t (e: ThemeStorageEvent) => e.key === THEME_STORAGE_KEY,\n\t ),\n\t map((e) => coerceValue(e.newValue)),\n\t shareReplay(1),\n\t );\n }\n\n /**\n * Given that Safari doesn't respect in-tab storage events, we have to manually\n * fire storage events in the open tab on Webkit based browsers.\n */\n private progressStorageEvent(theme: DaffTheme) {\n\t this.storage$.next(storageEventBuilder(theme));\n }\n\n getThemeAsObservable(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n getTheme(): DaffTheme {\n\t return coerceValue(this.storage.getItem(THEME_STORAGE_KEY));\n }\n\n setTheme(theme: DaffTheme): void {\n\t this.progressStorageEvent(theme);\n\t this.storage.setItem(THEME_STORAGE_KEY, theme);\n }\n\n removeThemeSetting(): void {\n\t this.progressStorageEvent(DaffTheme.None);\n\t this.storage.removeItem(THEME_STORAGE_KEY);\n }\n}\n","import { DaffTheme } from '../types/theme';\n\n/**\n * Computes the appropriate application theme from the specified values.\n * It cascades from `storedPreference` to `osPreference` to `defaultTheme`.\n */\nexport const daffComputeThemeSetting = (\n osPreference?: DaffTheme,\n storedPreference?: DaffTheme,\n defaultTheme: DaffTheme = DaffTheme.Dark,\n): DaffTheme => {\n if (storedPreference) {\n return storedPreference;\n }\n\n if (osPreference === 'dark') {\n return DaffTheme.Dark;\n }\n\n if (osPreference === 'light') {\n return DaffTheme.Light;\n }\n\n return defaultTheme;\n};\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { DaffOsThemeService } from './os-theme/ostheme.service';\nimport { DaffThemeStorageService } from './storage/theme-storage.service';\nimport { daffComputeThemeSetting } from '../functions/computer';\nimport { DaffTheme } from '../types/theme';\n\n/**\n * A service for controlling the application's theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemingService {\n private theme$: Observable<DaffTheme>;\n private theme: DaffTheme;\n\n constructor(\n private osTheme: DaffOsThemeService,\n private themeStorage: DaffThemeStorageService,\n ) {\n\n\t this.theme$ = combineLatest([\n\t this.osTheme.getThemePreference(),\n\t this.themeStorage.getThemeAsObservable(),\n\t ]).pipe(\n\t map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)),\n\t );\n\n\t this.theme$.subscribe((theme) => {\n\t this.theme = theme;\n\t });\n }\n\n /**\n * Get the current theme.\n */\n getTheme(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n /**\n * Set the theme to dark mode.\n */\n darkMode() {\n\t this.themeStorage.setTheme(DaffTheme.Dark);\n }\n\n /**\n * Set the theme to light mode.\n */\n lightMode() {\n\t this.themeStorage.setTheme(DaffTheme.Light);\n }\n\n /**\n * Switch between themes.\n */\n switchTheme(): void {\n\t return this.theme === DaffTheme.Dark\n\t ? this.lightMode()\n\t : this.darkMode();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DaffTheme } from '../../types/theme';\nimport { DaffThemingService } from '../theming.service';\n\nexport const DAFF_THEME_DARK_CSS_CLASS = 'daff-theme-dark';\nexport const DAFF_THEME_LIGHT_CSS_CLASS = 'daff-theme-light';\n\n/**\n * This class updates the body of the application with the theme's appropriate class.\n * Note that this service is not provided tree-shakably by intention.\n * It is intended to be provided manually during setup.\n */\n@Injectable()\nexport class DaffThemeClassSetterService {\n private renderer: Renderer2;\n private subscription: Subscription;\n private doc?: Document;\n\n constructor(\n @Inject(DOCUMENT) _doc: any,\n private rendererFactory: RendererFactory2,\n private themingService: DaffThemingService,\n ) {\n\t this.doc = <Document>_doc;\n\t this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * This function is intended to only be called once when the service\n * is initialized for the very first time. This will mutate the class\n * on the body of the document for the appropriate theme as controlled\n * by the state of the application's theme.\n */\n beginThemeSync(): void {\n\t this.subscription = this.themingService.getTheme().subscribe((theme) => {\n\t // For simplicty, remove all previously applied themes.\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n\t this.renderer.addClass(this.doc.body, theme === DaffTheme.Dark ? DAFF_THEME_DARK_CSS_CLASS : DAFF_THEME_LIGHT_CSS_CLASS);\n\t });\n }\n\n /**\n * This unsubscribes from the bodyClass subscription that exists.\n */\n destroy(): void {\n\t this.subscription?.unsubscribe();\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n }\n}\n","import {\n Provider,\n APP_INITIALIZER,\n} from '@angular/core';\n\nimport { DaffThemeClassSetterService } from './services/class-setter/theme-class-setter.service';\n\nexport const DAFF_THEME_INIT = (classSetter: DaffThemeClassSetterService) => () => classSetter.beginThemeSync();\n\n/**\n * The theme provider for the app.\n * This configures updating the body with the theme class.\n */\nexport const DAFF_THEME_INITIALIZER: Provider[] = [\n DaffThemeClassSetterService,\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [DaffThemeClassSetterService],\n useFactory: DAFF_THEME_INIT,\n },\n];\n","export const daffFocusableElementsSelector = 'a[href],a[routerlink], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n","import { DOCUMENT } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class DaffFocusStackService {\n private _stack: HTMLElement[] = [];\n\n constructor(@Inject(DOCUMENT) private document: any) {\n\n }\n\n /**\n * Return the current length of the stack.\n */\n length(): number {\n return this._stack.length;\n }\n\n /**\n * Adds a HTML element to a focus stack and returns the new length of the stack.\n *\n * Generally, you will probably want to call this before you transition focus\n * onto a new element.\n *\n * ```ts\n * this._focusStack.push(this._doc.activeElement);\n * ```\n */\n push(el: HTMLElement | undefined = undefined): number {\n this._stack.push(el ?? this.document.activeElement);\n return this._stack.length;\n }\n\n /**\n * Focuses on the HTML element at the top of a stack.\n *\n * ```ts\n * this._focusStack.push(this._doc.activeElement);\n * ```\n */\n focus() {\n if(this._stack.length >= 1) {\n this._stack.slice(-1)[0].focus();\n } else {\n (<HTMLElement>this.document.activeElement).blur();\n }\n }\n\n /**\n * Removes the HMTL element at the top of a stack and focuses on it.\n */\n pop(focus: boolean = true): HTMLElement {\n let el = this._stack.pop();\n while(el === undefined && this._stack.length > 0) {\n el = this._stack.pop();\n }\n\n if(el) {\n if(focus) {\n el.focus();\n }\n return el;\n }\n\n (<HTMLElement>this.document.activeElement).blur();\n return this.document.activeElement;\n }\n}\n","/**\n * An interface for giving a component the ability to customize sizing for component-specific UI.\n * In order to be sizable, a component class must implement this property.\n */\n\nexport interface DaffSizable<T extends DaffSizeAllType> {\n size: T;\n}\n\n/**\n * The possible types that can be passed to a component that implements DaffSizable\n */\n\nexport type DaffSizeXSmallType = 'xs';\nexport type DaffSizeSmallType = 'sm';\nexport type DaffSizeMediumType = 'md';\nexport type DaffSizeLargeType = 'lg';\nexport type DaffSizeXLargeType = 'xl';\n\nexport type DaffSizeAllType = DaffSizeXSmallType | DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType | DaffSizeXLargeType;\n\nexport enum DaffSizableEnum {\n XSmall = 'xs',\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl'\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { DaffSizeAllType } from './sizable';\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSizeMixin<V extends DaffSizeAllType, T extends Constructor<HasElementRef> = Constructor<HasElementRef>>(Base: T, defaultSize?: V) {\n class DaffSizeMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _size: V;\n\n get size(): V{\n return this._size;\n }\n set size(value: V) {\n // Handles the default size\n const incomingSize = value || defaultSize;\n\n if(incomingSize !== this._size){ //Only run the dom-render if a change occurs\n //Remove the old size\n if(this._size){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._size}`);\n }\n\n if(incomingSize){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingSize}`);\n }\n\n this._size = incomingSize;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.size = defaultSize;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffSizeMixinClass.prototype, 'size');\n\n return DaffSizeMixinClass;\n}\n","// Core\nexport * from './animation/animation-state-with-params';\nexport * from './prefix-suffix/public_api';\nexport * from './colorable/public_api';\nexport * from './breakpoints/breakpoints';\nexport * from './constructor/constructor';\nexport * from './statusable/public_api';\nexport * from './skeletonable/public_api';\nexport * from './mutable/mutable';\nexport * from './text-alignable/public_api';\nexport * from './compactable/public_api';\nexport * from './manage-container-layout/public_api';\nexport * from './article-encapsulated/public_api';\nexport * from './theming/public_api';\nexport * from './lazy/public_api';\nexport * from './focus/public_api';\nexport * from './sizable/public_api';\n","/*\n * Public API Surface of @daffodil/design\n */\n\n// Atoms\nexport * from './atoms/form/core/public_api';\nexport * from './atoms/form/form-field/public_api';\nexport * from './atoms/form/error-message/public_api';\nexport * from './atoms/form/input/public_api';\nexport * from './atoms/form/native-select/public_api';\nexport * from './atoms/form/checkbox/public_api';\nexport * from './atoms/form/quantity-field/public_api';\nexport * from './atoms/form/radio/public_api';\nexport * from './atoms/form/form-label/public_api';\n\n// Core\nexport * from './core/public_api';\n\n// Examples\nexport * from './examples/public_api';\n","/**\n * This is a filler file for making the\n * demo work in dev mode.\n */\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i2.DaffCheckboxComponent","i2.DaffInputComponent","i3.DaffNativeSelectComponent","i3.DaffQuantityInputComponent","i4.DaffQuantitySelectComponent","i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent","i1.DaffOsThemeService","i2.DaffThemeStorageService","i1.DaffThemingService"],"mappings":"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"}
|