@spartan-ng/brain 0.0.1-alpha.688 → 0.0.1-alpha.690

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.
@@ -1,10 +1,10 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, ElementRef, input, booleanAttribute, computed, output, viewChild, ChangeDetectionStrategy, Component, forwardRef, model, linkedSignal, contentChildren, Directive } from '@angular/core';
4
- import * as i1 from '@spartan-ng/brain/field';
5
- import { BrnField, provideBrnLabelable, BrnFieldControl } from '@spartan-ng/brain/field';
6
4
  import { Directionality } from '@angular/cdk/bidi';
7
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import * as i1 from '@spartan-ng/brain/field';
7
+ import { BrnFieldControl } from '@spartan-ng/brain/field';
8
8
 
9
9
  const BrnRadioGroupToken = new InjectionToken('BrnRadioGroupToken');
10
10
  function provideBrnRadioGroupToken(directive) {
@@ -28,7 +28,6 @@ class BrnRadio {
28
28
  static _nextUniqueId = 0;
29
29
  _focusMonitor = inject(FocusMonitor);
30
30
  _elementRef = inject(ElementRef);
31
- _field = inject(BrnField, { optional: true });
32
31
  _radioGroup = injectBrnRadioGroup();
33
32
  /**
34
33
  * Whether the radio button is disabled.
@@ -80,9 +79,7 @@ class BrnRadio {
80
79
  return this.id() ?? `brn-radio${INPUT_POST_FIX}-${++BrnRadio._nextUniqueId}`;
81
80
  }, ...(ngDevMode ? [{ debugName: "_inputId" }] : []));
82
81
  _inputElement = viewChild.required('input');
83
- labelableId = this._inputId;
84
82
  constructor() {
85
- this._field?.registerLabelable(this);
86
83
  this._focusMonitor.monitor(this._elementRef, true);
87
84
  }
88
85
  ngOnDestroy() {
@@ -122,7 +119,7 @@ class BrnRadio {
122
119
  }
123
120
  }
124
121
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
125
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.17", type: BrnRadio, isStandalone: true, selector: "brn-radio", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "focus": "_inputElement().nativeElement.focus()" }, properties: { "attr.id": "_hostId()", "class.brn-radio-checked": "_checked()", "class.brn-radio-disabled": "_disabledState()", "attr.data-checked": "_checked()", "attr.data-disabled": "_disabledState()", "attr.data-value": "value()", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "brn-radio" }, providers: [provideBrnLabelable(BrnRadio)], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["brnRadio"], ngImport: i0, template: `
122
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.17", type: BrnRadio, isStandalone: true, selector: "brn-radio", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "focus": "_inputElement().nativeElement.focus()" }, properties: { "attr.id": "_hostId()", "class.brn-radio-checked": "_checked()", "class.brn-radio-disabled": "_disabledState()", "attr.data-checked": "_checked()", "attr.data-disabled": "_disabledState()", "attr.data-value": "value()", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "brn-radio" }, viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["brnRadio"], ngImport: i0, template: `
126
123
  <div data-slot="indicator" class="flex h-fit w-fit empty:hidden" (click)="onTouchTargetClick($event)">
127
124
  <ng-content select="[target],[indicator]" />
128
125
  </div>
@@ -153,7 +150,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
153
150
  args: [{
154
151
  selector: 'brn-radio',
155
152
  exportAs: 'brnRadio',
156
- providers: [provideBrnLabelable(BrnRadio)],
157
153
  changeDetection: ChangeDetectionStrategy.OnPush,
158
154
  host: {
159
155
  class: 'brn-radio',
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-radio-group.mjs","sources":["../../../../libs/brain/radio-group/src/lib/brn-radio-group.token.ts","../../../../libs/brain/radio-group/src/lib/brn-radio.ts","../../../../libs/brain/radio-group/src/lib/brn-radio-group.ts","../../../../libs/brain/radio-group/src/index.ts","../../../../libs/brain/radio-group/src/spartan-ng-brain-radio-group.ts"],"sourcesContent":["import { type ExistingProvider, inject, InjectionToken, type Type } from '@angular/core';\nimport type { BrnRadioGroup } from './brn-radio-group';\n\nconst BrnRadioGroupToken = new InjectionToken<BrnRadioGroup<unknown>>('BrnRadioGroupToken');\n\nexport function provideBrnRadioGroupToken<T>(directive: Type<BrnRadioGroup<T>>): ExistingProvider {\n\treturn { provide: BrnRadioGroupToken, useExisting: directive };\n}\n\nexport function injectBrnRadioGroup<T = unknown>(): BrnRadioGroup<T> {\n\treturn inject(BrnRadioGroupToken) as BrnRadioGroup<T>;\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\ttype OnDestroy,\n\tbooleanAttribute,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n\tviewChild,\n} from '@angular/core';\nimport { BrnField, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport { injectBrnRadioGroup } from './brn-radio-group.token';\n\nexport class BrnRadioChange<T> {\n\tconstructor(\n\t\tpublic source: BrnRadio<T>,\n\t\tpublic value: T,\n\t) {}\n}\n\nconst CONTAINER_POST_FIX = '-radio';\n\nconst INPUT_POST_FIX = '-input';\n\n@Component({\n\tselector: 'brn-radio',\n\texportAs: 'brnRadio',\n\tproviders: [provideBrnLabelable(BrnRadio)],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'brn-radio',\n\t\t'[attr.id]': '_hostId()',\n\t\t'[class.brn-radio-checked]': '_checked()',\n\t\t'[class.brn-radio-disabled]': '_disabledState()',\n\t\t'[attr.data-checked]': '_checked()',\n\t\t'[attr.data-disabled]': '_disabledState()',\n\t\t'[attr.data-value]': 'value()',\n\t\t// Needs to be removed since it causes some a11y issues (see #21266).\n\t\t'[attr.tabindex]': 'null',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t// Note: under normal conditions focus shouldn't land on this element, however it may be\n\t\t// programmatically set, for example inside of a focus trap, in this case we want to forward\n\t\t// the focus to the native element.\n\t\t'(focus)': '_inputElement().nativeElement.focus()',\n\t},\n\ttemplate: `\n\t\t<div data-slot=\"indicator\" class=\"flex h-fit w-fit empty:hidden\" (click)=\"onTouchTargetClick($event)\">\n\t\t\t<ng-content select=\"[target],[indicator]\" />\n\t\t</div>\n\t\t<input\n\t\t\t#input\n\t\t\tstyle=\"position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;\"\n\t\t\ttype=\"radio\"\n\t\t\t[attr.id]=\"_inputId()\"\n\t\t\t[checked]=\"_checked()\"\n\t\t\t[disabled]=\"_disabledState()\"\n\t\t\t[tabIndex]=\"_tabIndex()\"\n\t\t\t[attr.name]=\"_radioGroup.name()\"\n\t\t\t[attr.value]=\"value()\"\n\t\t\t[required]=\"required()\"\n\t\t\t[attr.aria-checked]=\"_checked()\"\n\t\t\t[attr.aria-label]=\"ariaLabel()\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby()\"\n\t\t\t[attr.aria-describedby]=\"ariaDescribedby()\"\n\t\t\t[attr.aria-disabled]=\"_disabledState()\"\n\t\t\t(change)=\"onInputInteraction($event)\"\n\t\t\t(click)=\"onInputClick($event)\"\n\t\t/>\n\t\t<ng-content />\n\t`,\n})\nexport class BrnRadio<T = unknown> implements OnDestroy {\n\tprivate static _nextUniqueId = 0;\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _elementRef = inject(ElementRef);\n\tprivate readonly _field = inject(BrnField, { optional: true });\n\tprotected readonly _radioGroup = injectBrnRadioGroup<T>();\n\n\t/**\n\t * Whether the radio button is disabled.\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Whether the radio button is disabled or the radio group is disabled.\n\t */\n\tprotected readonly _disabledState = computed(() => this.disabled() || this._radioGroup.disabledState());\n\n\t/**\n\t * Whether the radio button is checked.\n\t */\n\tprotected readonly _checked = computed(() => this._radioGroup.value() === this.value());\n\n\tprotected readonly _tabIndex = computed(() => {\n\t\tconst disabled = this._disabledState();\n\t\tconst checked = this._checked();\n\t\tconst hasSelectedRadio = this._radioGroup.value() !== undefined;\n\t\tconst isFirstRadio = this._radioGroup.radioButtons()[0] === this;\n\n\t\tif (disabled || (!checked && (hasSelectedRadio || !isFirstRadio))) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn 0;\n\t});\n\n\t/**\n\t * The unique ID for the radio button input. If none is supplied, it will be auto-generated.\n\t */\n\tpublic readonly id = input<string | undefined>(undefined);\n\n\tpublic readonly ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n\n\tpublic readonly ariaLabelledby = input<string | undefined>(undefined, { alias: 'aria-labelledby' });\n\n\tpublic readonly ariaDescribedby = input<string | undefined>(undefined, { alias: 'aria-describedby' });\n\n\t/**\n\t * The value this radio button represents.\n\t */\n\tpublic readonly value = input.required<T>();\n\n\t/**\n\t * Whether the radio button is required.\n\t */\n\tpublic readonly required = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * Event emitted when the checked state of this radio button changes.\n\t */\n\tpublic readonly change = output<BrnRadioChange<T>>();\n\n\tprotected readonly _hostId = computed(() => {\n\t\treturn this.id() ? this.id() + CONTAINER_POST_FIX : `brn-radio-${++BrnRadio._nextUniqueId}`;\n\t});\n\n\tprotected readonly _inputId = computed(() => {\n\t\treturn this.id() ?? `brn-radio${INPUT_POST_FIX}-${++BrnRadio._nextUniqueId}`;\n\t});\n\n\tprotected readonly _inputElement = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n\tpublic readonly labelableId = this._inputId;\n\n\tconstructor() {\n\t\tthis._field?.registerLabelable(this);\n\t\tthis._focusMonitor.monitor(this._elementRef, true);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._elementRef);\n\t}\n\n\t/** Dispatch change event with current value. */\n\tprivate emitChangeEvent(): void {\n\t\tthis.change.emit(new BrnRadioChange(this, this.value()));\n\t}\n\n\tprotected onInputClick(event: Event): void {\n\t\t// We have to stop propagation for click events on the visual hidden input element.\n\t\t// By default, when a user clicks on a label element, a generated click event will be\n\t\t// dispatched on the associated input element. Since we are using a label element as our\n\t\t// root container, the click event on the `radio-button` will be executed twice.\n\t\t// The real click event will bubble up, and the generated click event also tries to bubble up.\n\t\t// This will lead to multiple click events.\n\t\t// Preventing bubbling for the second event will solve that issue.\n\t\tevent.stopPropagation();\n\t}\n\n\tprotected onInputInteraction(event: Event): void {\n\t\t// We always have to stop propagation on the change event.\n\t\t// Otherwise the change event, from the input element, will bubble up and\n\t\t// emit its event object to the `change` output.\n\t\tevent.stopPropagation();\n\n\t\tif (!this._checked() && !this._disabledState()) {\n\t\t\tthis.emitChangeEvent();\n\t\t\tthis._radioGroup.select(this, this.value());\n\t\t}\n\t}\n\n\t/** Triggered when the user clicks on the touch target. */\n\tprotected onTouchTargetClick(event: Event): void {\n\t\tthis.onInputInteraction(event);\n\n\t\tif (!this._disabledState()) {\n\t\t\t// Normally the input should be focused already, but if the click\n\t\t\t// comes from the touch target, then we might have to focus it ourselves.\n\t\t\tthis._inputElement().nativeElement.focus();\n\t\t}\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directionality } from '@angular/cdk/bidi';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\toutput,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl } from '@spartan-ng/brain/field';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnRadio, BrnRadioChange } from './brn-radio';\nimport { provideBrnRadioGroupToken } from './brn-radio-group.token';\n\nexport const BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnRadioGroup),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnRadioGroup]',\n\tproviders: [BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, provideBrnRadioGroupToken(BrnRadioGroup)],\n\thostDirectives: [BrnFieldControl],\n\thost: {\n\t\trole: 'radiogroup',\n\t\t'[dir]': 'direction()',\n\t\t'(focusout)': 'onTouched()',\n\t\t'[attr.aria-invalid]': '_ariaInvalid() ? \"true\" : null',\n\t\t'[attr.data-invalid]': '_ariaInvalid() ? \"true\" : null',\n\t\t'[attr.data-dirty]': '_dirty() ? \"true\" : null',\n\t\t'[attr.data-touched]': '_touched() ? \"true\" : null',\n\t\t'[attr.data-matches-spartan-invalid]': '_spartanInvalid() ? \"true\" : null',\n\t},\n})\nexport class BrnRadioGroup<T = unknown> implements ControlValueAccessor {\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\tprivate static _nextUniqueId = 0;\n\n\tprotected onChange: ChangeFn<T> = () => {};\n\n\tprotected onTouched: TouchFn = () => {};\n\n\tpublic readonly name = input<string>(`brn-radio-group-${++BrnRadioGroup._nextUniqueId}`);\n\n\t/**\n\t * The value of the selected radio button.\n\t */\n\tpublic readonly value = model<T>();\n\n\t/** Emits when the value changes. */\n\tpublic readonly valueChange = output<T>();\n\n\t/**\n\t * Whether the radio group is disabled.\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * Whether the radio group should be required.\n\t */\n\tpublic readonly required = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * The direction of the radio group.\n\t */\n\tpublic readonly direction = this._dir.valueSignal;\n\n\t/**\n\t * Event emitted when the group value changes.\n\t */\n\tpublic readonly change = output<BrnRadioChange<T>>();\n\n\t/**\n\t * The internal disabled state of the radio group.\n\t * @internal\n\t */\n\tpublic readonly disabledState = linkedSignal(() => this.disabled());\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\tprotected readonly _ariaInvalid = computed(() => this._fieldControl?.invalid());\n\tprotected readonly _spartanInvalid = computed(() => this._fieldControl?.spartanInvalid());\n\tprotected readonly _dirty = computed(() => this._fieldControl?.dirty());\n\tprotected readonly _touched = computed(() => this._fieldControl?.touched());\n\n\t/**\n\t * Access the radio buttons within the group.\n\t * @internal\n\t */\n\tpublic readonly radioButtons = contentChildren(BrnRadio, { descendants: true });\n\n\twriteValue(value: T): void {\n\t\tthis.value.set(value);\n\t}\n\n\tregisterOnChange(fn: ChangeFn<T>): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: TouchFn): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabledState.set(isDisabled);\n\t}\n\n\t/**\n\t * Select a radio button.\n\t * @internal\n\t */\n\tselect(radioButton: BrnRadio<T>, value: T): void {\n\t\tif (this.value() === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value.set(value);\n\t\tthis.valueChange.emit(value);\n\t\tthis.onChange(value);\n\t\tthis.change.emit(new BrnRadioChange<T>(radioButton, value));\n\t}\n}\n","import { BrnRadio } from './lib/brn-radio';\nimport { BrnRadioGroup } from './lib/brn-radio-group';\n\nexport * from './lib/brn-radio';\nexport * from './lib/brn-radio-group';\nexport * from './lib/brn-radio-group.token';\n\nexport const BrnRadioGroupImports = [BrnRadioGroup, BrnRadio] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-radio-group.mjs","sources":["../../../../libs/brain/radio-group/src/lib/brn-radio-group.token.ts","../../../../libs/brain/radio-group/src/lib/brn-radio.ts","../../../../libs/brain/radio-group/src/lib/brn-radio-group.ts","../../../../libs/brain/radio-group/src/index.ts","../../../../libs/brain/radio-group/src/spartan-ng-brain-radio-group.ts"],"sourcesContent":["import { type ExistingProvider, inject, InjectionToken, type Type } from '@angular/core';\nimport type { BrnRadioGroup } from './brn-radio-group';\n\nconst BrnRadioGroupToken = new InjectionToken<BrnRadioGroup<unknown>>('BrnRadioGroupToken');\n\nexport function provideBrnRadioGroupToken<T>(directive: Type<BrnRadioGroup<T>>): ExistingProvider {\n\treturn { provide: BrnRadioGroupToken, useExisting: directive };\n}\n\nexport function injectBrnRadioGroup<T = unknown>(): BrnRadioGroup<T> {\n\treturn inject(BrnRadioGroupToken) as BrnRadioGroup<T>;\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\ttype OnDestroy,\n\tbooleanAttribute,\n\tcomputed,\n\tinject,\n\tinput,\n\toutput,\n\tviewChild,\n} from '@angular/core';\nimport { injectBrnRadioGroup } from './brn-radio-group.token';\n\nexport class BrnRadioChange<T> {\n\tconstructor(\n\t\tpublic source: BrnRadio<T>,\n\t\tpublic value: T,\n\t) {}\n}\n\nconst CONTAINER_POST_FIX = '-radio';\n\nconst INPUT_POST_FIX = '-input';\n\n@Component({\n\tselector: 'brn-radio',\n\texportAs: 'brnRadio',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'brn-radio',\n\t\t'[attr.id]': '_hostId()',\n\t\t'[class.brn-radio-checked]': '_checked()',\n\t\t'[class.brn-radio-disabled]': '_disabledState()',\n\t\t'[attr.data-checked]': '_checked()',\n\t\t'[attr.data-disabled]': '_disabledState()',\n\t\t'[attr.data-value]': 'value()',\n\t\t// Needs to be removed since it causes some a11y issues (see #21266).\n\t\t'[attr.tabindex]': 'null',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t// Note: under normal conditions focus shouldn't land on this element, however it may be\n\t\t// programmatically set, for example inside of a focus trap, in this case we want to forward\n\t\t// the focus to the native element.\n\t\t'(focus)': '_inputElement().nativeElement.focus()',\n\t},\n\ttemplate: `\n\t\t<div data-slot=\"indicator\" class=\"flex h-fit w-fit empty:hidden\" (click)=\"onTouchTargetClick($event)\">\n\t\t\t<ng-content select=\"[target],[indicator]\" />\n\t\t</div>\n\t\t<input\n\t\t\t#input\n\t\t\tstyle=\"position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;\"\n\t\t\ttype=\"radio\"\n\t\t\t[attr.id]=\"_inputId()\"\n\t\t\t[checked]=\"_checked()\"\n\t\t\t[disabled]=\"_disabledState()\"\n\t\t\t[tabIndex]=\"_tabIndex()\"\n\t\t\t[attr.name]=\"_radioGroup.name()\"\n\t\t\t[attr.value]=\"value()\"\n\t\t\t[required]=\"required()\"\n\t\t\t[attr.aria-checked]=\"_checked()\"\n\t\t\t[attr.aria-label]=\"ariaLabel()\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby()\"\n\t\t\t[attr.aria-describedby]=\"ariaDescribedby()\"\n\t\t\t[attr.aria-disabled]=\"_disabledState()\"\n\t\t\t(change)=\"onInputInteraction($event)\"\n\t\t\t(click)=\"onInputClick($event)\"\n\t\t/>\n\t\t<ng-content />\n\t`,\n})\nexport class BrnRadio<T = unknown> implements OnDestroy {\n\tprivate static _nextUniqueId = 0;\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _elementRef = inject(ElementRef);\n\tprotected readonly _radioGroup = injectBrnRadioGroup<T>();\n\n\t/**\n\t * Whether the radio button is disabled.\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/**\n\t * Whether the radio button is disabled or the radio group is disabled.\n\t */\n\tprotected readonly _disabledState = computed(() => this.disabled() || this._radioGroup.disabledState());\n\n\t/**\n\t * Whether the radio button is checked.\n\t */\n\tprotected readonly _checked = computed(() => this._radioGroup.value() === this.value());\n\n\tprotected readonly _tabIndex = computed(() => {\n\t\tconst disabled = this._disabledState();\n\t\tconst checked = this._checked();\n\t\tconst hasSelectedRadio = this._radioGroup.value() !== undefined;\n\t\tconst isFirstRadio = this._radioGroup.radioButtons()[0] === this;\n\n\t\tif (disabled || (!checked && (hasSelectedRadio || !isFirstRadio))) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn 0;\n\t});\n\n\t/**\n\t * The unique ID for the radio button input. If none is supplied, it will be auto-generated.\n\t */\n\tpublic readonly id = input<string | undefined>(undefined);\n\n\tpublic readonly ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n\n\tpublic readonly ariaLabelledby = input<string | undefined>(undefined, { alias: 'aria-labelledby' });\n\n\tpublic readonly ariaDescribedby = input<string | undefined>(undefined, { alias: 'aria-describedby' });\n\n\t/**\n\t * The value this radio button represents.\n\t */\n\tpublic readonly value = input.required<T>();\n\n\t/**\n\t * Whether the radio button is required.\n\t */\n\tpublic readonly required = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * Event emitted when the checked state of this radio button changes.\n\t */\n\tpublic readonly change = output<BrnRadioChange<T>>();\n\n\tprotected readonly _hostId = computed(() => {\n\t\treturn this.id() ? this.id() + CONTAINER_POST_FIX : `brn-radio-${++BrnRadio._nextUniqueId}`;\n\t});\n\n\tprotected readonly _inputId = computed(() => {\n\t\treturn this.id() ?? `brn-radio${INPUT_POST_FIX}-${++BrnRadio._nextUniqueId}`;\n\t});\n\n\tprotected readonly _inputElement = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n\tconstructor() {\n\t\tthis._focusMonitor.monitor(this._elementRef, true);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._elementRef);\n\t}\n\n\t/** Dispatch change event with current value. */\n\tprivate emitChangeEvent(): void {\n\t\tthis.change.emit(new BrnRadioChange(this, this.value()));\n\t}\n\n\tprotected onInputClick(event: Event): void {\n\t\t// We have to stop propagation for click events on the visual hidden input element.\n\t\t// By default, when a user clicks on a label element, a generated click event will be\n\t\t// dispatched on the associated input element. Since we are using a label element as our\n\t\t// root container, the click event on the `radio-button` will be executed twice.\n\t\t// The real click event will bubble up, and the generated click event also tries to bubble up.\n\t\t// This will lead to multiple click events.\n\t\t// Preventing bubbling for the second event will solve that issue.\n\t\tevent.stopPropagation();\n\t}\n\n\tprotected onInputInteraction(event: Event): void {\n\t\t// We always have to stop propagation on the change event.\n\t\t// Otherwise the change event, from the input element, will bubble up and\n\t\t// emit its event object to the `change` output.\n\t\tevent.stopPropagation();\n\n\t\tif (!this._checked() && !this._disabledState()) {\n\t\t\tthis.emitChangeEvent();\n\t\t\tthis._radioGroup.select(this, this.value());\n\t\t}\n\t}\n\n\t/** Triggered when the user clicks on the touch target. */\n\tprotected onTouchTargetClick(event: Event): void {\n\t\tthis.onInputInteraction(event);\n\n\t\tif (!this._disabledState()) {\n\t\t\t// Normally the input should be focused already, but if the click\n\t\t\t// comes from the touch target, then we might have to focus it ourselves.\n\t\t\tthis._inputElement().nativeElement.focus();\n\t\t}\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directionality } from '@angular/cdk/bidi';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\toutput,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl } from '@spartan-ng/brain/field';\nimport { type ChangeFn, type TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnRadio, BrnRadioChange } from './brn-radio';\nimport { provideBrnRadioGroupToken } from './brn-radio-group.token';\n\nexport const BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnRadioGroup),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnRadioGroup]',\n\tproviders: [BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, provideBrnRadioGroupToken(BrnRadioGroup)],\n\thostDirectives: [BrnFieldControl],\n\thost: {\n\t\trole: 'radiogroup',\n\t\t'[dir]': 'direction()',\n\t\t'(focusout)': 'onTouched()',\n\t\t'[attr.aria-invalid]': '_ariaInvalid() ? \"true\" : null',\n\t\t'[attr.data-invalid]': '_ariaInvalid() ? \"true\" : null',\n\t\t'[attr.data-dirty]': '_dirty() ? \"true\" : null',\n\t\t'[attr.data-touched]': '_touched() ? \"true\" : null',\n\t\t'[attr.data-matches-spartan-invalid]': '_spartanInvalid() ? \"true\" : null',\n\t},\n})\nexport class BrnRadioGroup<T = unknown> implements ControlValueAccessor {\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\tprivate static _nextUniqueId = 0;\n\n\tprotected onChange: ChangeFn<T> = () => {};\n\n\tprotected onTouched: TouchFn = () => {};\n\n\tpublic readonly name = input<string>(`brn-radio-group-${++BrnRadioGroup._nextUniqueId}`);\n\n\t/**\n\t * The value of the selected radio button.\n\t */\n\tpublic readonly value = model<T>();\n\n\t/** Emits when the value changes. */\n\tpublic readonly valueChange = output<T>();\n\n\t/**\n\t * Whether the radio group is disabled.\n\t */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * Whether the radio group should be required.\n\t */\n\tpublic readonly required = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/**\n\t * The direction of the radio group.\n\t */\n\tpublic readonly direction = this._dir.valueSignal;\n\n\t/**\n\t * Event emitted when the group value changes.\n\t */\n\tpublic readonly change = output<BrnRadioChange<T>>();\n\n\t/**\n\t * The internal disabled state of the radio group.\n\t * @internal\n\t */\n\tpublic readonly disabledState = linkedSignal(() => this.disabled());\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\tprotected readonly _ariaInvalid = computed(() => this._fieldControl?.invalid());\n\tprotected readonly _spartanInvalid = computed(() => this._fieldControl?.spartanInvalid());\n\tprotected readonly _dirty = computed(() => this._fieldControl?.dirty());\n\tprotected readonly _touched = computed(() => this._fieldControl?.touched());\n\n\t/**\n\t * Access the radio buttons within the group.\n\t * @internal\n\t */\n\tpublic readonly radioButtons = contentChildren(BrnRadio, { descendants: true });\n\n\twriteValue(value: T): void {\n\t\tthis.value.set(value);\n\t}\n\n\tregisterOnChange(fn: ChangeFn<T>): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: TouchFn): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabledState.set(isDisabled);\n\t}\n\n\t/**\n\t * Select a radio button.\n\t * @internal\n\t */\n\tselect(radioButton: BrnRadio<T>, value: T): void {\n\t\tif (this.value() === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value.set(value);\n\t\tthis.valueChange.emit(value);\n\t\tthis.onChange(value);\n\t\tthis.change.emit(new BrnRadioChange<T>(radioButton, value));\n\t}\n}\n","import { BrnRadio } from './lib/brn-radio';\nimport { BrnRadioGroup } from './lib/brn-radio-group';\n\nexport * from './lib/brn-radio';\nexport * from './lib/brn-radio-group';\nexport * from './lib/brn-radio-group.token';\n\nexport const BrnRadioGroupImports = [BrnRadioGroup, BrnRadio] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/brain",
3
- "version": "0.0.1-alpha.688",
3
+ "version": "0.0.1-alpha.690",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/spartan-ng/spartan"
@@ -17,7 +17,6 @@ declare class BrnRadio<T = unknown> implements OnDestroy {
17
17
  private static _nextUniqueId;
18
18
  private readonly _focusMonitor;
19
19
  private readonly _elementRef;
20
- private readonly _field;
21
20
  protected readonly _radioGroup: _spartan_ng_brain_radio_group.BrnRadioGroup<T>;
22
21
  /**
23
22
  * Whether the radio button is disabled.
@@ -54,7 +53,6 @@ declare class BrnRadio<T = unknown> implements OnDestroy {
54
53
  protected readonly _hostId: _angular_core.Signal<string>;
55
54
  protected readonly _inputId: _angular_core.Signal<string>;
56
55
  protected readonly _inputElement: _angular_core.Signal<ElementRef<HTMLInputElement>>;
57
- readonly labelableId: _angular_core.Signal<string>;
58
56
  constructor();
59
57
  ngOnDestroy(): void;
60
58
  /** Dispatch change event with current value. */