@spartan-ng/brain 0.0.1-alpha.516 → 0.0.1-alpha.517

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/accordion/index.d.ts +0 -8
  2. package/alert-dialog/index.d.ts +0 -12
  3. package/autocomplete/index.d.ts +0 -12
  4. package/avatar/index.d.ts +0 -9
  5. package/button/index.d.ts +0 -7
  6. package/button/lib/brn-button.d.ts +4 -8
  7. package/calendar/index.d.ts +1 -20
  8. package/checkbox/index.d.ts +0 -7
  9. package/collapsible/index.d.ts +0 -9
  10. package/command/index.d.ts +0 -12
  11. package/core/index.d.ts +0 -1
  12. package/dialog/index.d.ts +0 -13
  13. package/fesm2022/spartan-ng-brain-accordion.mjs +3 -15
  14. package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
  15. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +2 -24
  16. package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
  17. package/fesm2022/spartan-ng-brain-autocomplete.mjs +3 -25
  18. package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
  19. package/fesm2022/spartan-ng-brain-avatar.mjs +2 -14
  20. package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
  21. package/fesm2022/spartan-ng-brain-button.mjs +15 -32
  22. package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
  23. package/fesm2022/spartan-ng-brain-calendar.mjs +106 -142
  24. package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
  25. package/fesm2022/spartan-ng-brain-checkbox.mjs +3 -15
  26. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  27. package/fesm2022/spartan-ng-brain-collapsible.mjs +2 -14
  28. package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
  29. package/fesm2022/spartan-ng-brain-command.mjs +3 -25
  30. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
  31. package/fesm2022/spartan-ng-brain-core.mjs +1 -7
  32. package/fesm2022/spartan-ng-brain-core.mjs.map +1 -1
  33. package/fesm2022/spartan-ng-brain-dialog.mjs +3 -27
  34. package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
  35. package/fesm2022/spartan-ng-brain-hover-card.mjs +2 -14
  36. package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
  37. package/fesm2022/spartan-ng-brain-input-otp.mjs +2 -14
  38. package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
  39. package/fesm2022/spartan-ng-brain-label.mjs +3 -15
  40. package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
  41. package/fesm2022/spartan-ng-brain-menu.mjs +13 -55
  42. package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
  43. package/fesm2022/spartan-ng-brain-popover.mjs +2 -14
  44. package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
  45. package/fesm2022/spartan-ng-brain-progress.mjs +2 -14
  46. package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
  47. package/fesm2022/spartan-ng-brain-radio-group.mjs +3 -15
  48. package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
  49. package/fesm2022/spartan-ng-brain-select.mjs +3 -35
  50. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
  51. package/fesm2022/spartan-ng-brain-separator.mjs +2 -14
  52. package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
  53. package/fesm2022/spartan-ng-brain-sheet.mjs +2 -26
  54. package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
  55. package/fesm2022/spartan-ng-brain-switch.mjs +3 -15
  56. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
  57. package/fesm2022/spartan-ng-brain-tabs.mjs +2 -14
  58. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
  59. package/fesm2022/spartan-ng-brain-toggle-group.mjs +2 -26
  60. package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
  61. package/fesm2022/spartan-ng-brain-toggle.mjs +2 -14
  62. package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
  63. package/fesm2022/spartan-ng-brain-tooltip.mjs +2 -14
  64. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
  65. package/hover-card/index.d.ts +0 -8
  66. package/input-otp/index.d.ts +0 -8
  67. package/label/index.d.ts +0 -7
  68. package/menu/index.d.ts +1 -33
  69. package/package.json +1 -2
  70. package/popover/index.d.ts +0 -10
  71. package/progress/index.d.ts +0 -8
  72. package/radio-group/index.d.ts +0 -8
  73. package/select/index.d.ts +0 -15
  74. package/separator/index.d.ts +0 -7
  75. package/sheet/index.d.ts +0 -13
  76. package/switch/index.d.ts +0 -8
  77. package/tabs/index.d.ts +0 -10
  78. package/toggle/index.d.ts +0 -7
  79. package/toggle-group/index.d.ts +0 -13
  80. package/tooltip/index.d.ts +0 -10
  81. package/core/helpers/hlm.d.ts +0 -2
@@ -1,7 +1,7 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, input, effect, Directive, signal, booleanAttribute, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/cdk/menu';
4
2
  import { CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuTrigger } from '@angular/cdk/menu';
3
+ import * as i0 from '@angular/core';
4
+ import { inject, input, effect, Directive, signal, booleanAttribute } from '@angular/core';
5
5
  import { takeUntilDestroyed, outputFromObservable } from '@angular/core/rxjs-interop';
6
6
 
7
7
  const getBrnMenuAlign = (align) => [
@@ -231,62 +231,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
231
231
  }]
232
232
  }], ctorParameters: () => [] });
233
233
 
234
- const BrnMenuItemImports = [BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox];
235
- const BrnMenuImports = [BrnMenuTrigger, BrnMenu, ...BrnMenuItemImports];
236
- const BrnMenuBarImports = [...BrnMenuImports, BrnMenuBar];
237
- const BrnContextMenuImports = [...BrnMenuImports, BrnContextMenuTrigger];
238
- class BrnMenuItemModule {
239
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuItemModule, imports: [BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox], exports: [BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox] });
241
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuItemModule });
242
- }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuItemModule, decorators: [{
244
- type: NgModule,
245
- args: [{
246
- imports: [...BrnMenuItemImports],
247
- exports: [...BrnMenuItemImports],
248
- }]
249
- }] });
250
- class BrnMenuModule {
251
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
252
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuModule, imports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox], exports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox] });
253
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuModule });
254
- }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuModule, decorators: [{
256
- type: NgModule,
257
- args: [{
258
- imports: [...BrnMenuImports],
259
- exports: [...BrnMenuImports],
260
- }]
261
- }] });
262
- class BrnMenuBarModule {
263
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
264
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuBarModule, imports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox, BrnMenuBar], exports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox, BrnMenuBar] });
265
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuBarModule });
266
- }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnMenuBarModule, decorators: [{
268
- type: NgModule,
269
- args: [{
270
- imports: [...BrnMenuBarImports],
271
- exports: [...BrnMenuBarImports],
272
- }]
273
- }] });
274
- class BrnContextMenuModule {
275
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
276
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnContextMenuModule, imports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox, BrnContextMenuTrigger], exports: [BrnMenuTrigger, BrnMenu, BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox, BrnContextMenuTrigger] });
277
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnContextMenuModule });
278
- }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnContextMenuModule, decorators: [{
280
- type: NgModule,
281
- args: [{
282
- imports: [...BrnContextMenuImports],
283
- exports: [...BrnContextMenuImports],
284
- }]
285
- }] });
234
+ const BrnMenuImports = [
235
+ BrnMenuTrigger,
236
+ BrnMenu,
237
+ BrnMenuBar,
238
+ BrnContextMenuTrigger,
239
+ BrnMenuGroup,
240
+ BrnMenuItem,
241
+ BrnMenuItemRadio,
242
+ BrnMenuItemCheckbox,
243
+ ];
286
244
 
287
245
  /**
288
246
  * Generated bundle index. Do not edit.
289
247
  */
290
248
 
291
- export { BrnContextMenuImports, BrnContextMenuModule, BrnContextMenuTrigger, BrnMenu, BrnMenuBar, BrnMenuBarImports, BrnMenuBarModule, BrnMenuGroup, BrnMenuImports, BrnMenuItem, BrnMenuItemCheckbox, BrnMenuItemImports, BrnMenuItemModule, BrnMenuItemRadio, BrnMenuModule, BrnMenuTrigger };
249
+ export { BrnContextMenuTrigger, BrnMenu, BrnMenuBar, BrnMenuGroup, BrnMenuImports, BrnMenuItem, BrnMenuItemCheckbox, BrnMenuItemRadio, BrnMenuTrigger };
292
250
  //# sourceMappingURL=spartan-ng-brain-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-menu.mjs","sources":["../../../../libs/brain/menu/src/lib/brn-menu-align.ts","../../../../libs/brain/menu/src/lib/brn-context-menu-trigger.ts","../../../../libs/brain/menu/src/lib/brn-menu.ts","../../../../libs/brain/menu/src/lib/brn-menu-bar.ts","../../../../libs/brain/menu/src/lib/brn-menu-group.ts","../../../../libs/brain/menu/src/lib/brn-menu-item.ts","../../../../libs/brain/menu/src/lib/brn-menu-item-checkbox.ts","../../../../libs/brain/menu/src/lib/brn-menu-item-radio.ts","../../../../libs/brain/menu/src/lib/brn-menu-trigger.ts","../../../../libs/brain/menu/src/index.ts","../../../../libs/brain/menu/src/spartan-ng-brain-menu.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\n\nexport type BrnMenuAlign = 'start' | 'center' | 'end' | undefined;\nexport const getBrnMenuAlign = (align: Exclude<BrnMenuAlign, undefined>): ConnectedPosition[] => [\n\t{\n\t\toriginX: align,\n\t\toriginY: 'bottom',\n\t\toverlayX: align,\n\t\toverlayY: 'top',\n\t},\n\t{\n\t\toriginX: align,\n\t\toriginY: 'top',\n\t\toverlayX: align,\n\t\toverlayY: 'bottom',\n\t},\n];\n","import { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input, type TemplateRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnMenuAlign, getBrnMenuAlign } from './brn-menu-align';\n\n@Directive({\n\tselector: '[brnCtxMenuTriggerFor]',\n\thostDirectives: [CdkContextMenuTrigger],\n})\nexport class BrnContextMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkContextMenuTrigger, { host: true });\n\tpublic readonly brnCtxMenuTriggerFor = input<TemplateRef<unknown> | null>(null);\n\tpublic readonly brnCtxMenuTriggerData = input<unknown>(undefined);\n\tpublic readonly align = input<BrnMenuAlign>(undefined);\n\n\tconstructor() {\n\t\t// once the trigger opens we wait until the next tick and then grab the last position\n\t\t// used to position the menu. we store this in our trigger which the brnMenu directive has\n\t\t// access to through DI\n\t\tthis._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line\n\t\t\t\t\t\t(this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),\n\t\t\t),\n\t\t);\n\n\t\teffect(() => (this._cdkTrigger.menuTemplateRef = this.brnCtxMenuTriggerFor()));\n\t\teffect(() => (this._cdkTrigger.menuData = this.brnCtxMenuTriggerData()));\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tif (!align) return;\n\t\t\tthis._cdkTrigger.menuPosition = getBrnMenuAlign(align);\n\t\t});\n\t}\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenu],[brnSubMenu]',\n\thost: {\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t},\n\thostDirectives: [CdkMenu],\n})\nexport class BrnMenu {\n\tprivate readonly _host = inject(CdkMenu);\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal('top');\n\n\tconstructor() {\n\t\tthis.setSideWithDarkMagic();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\t}\n\n\tprivate setSideWithDarkMagic() {\n\t\t/**\n\t\t * This is an ugly workaround to at least figure out the correct side of where a submenu\n\t\t * will appear and set the attribute to the host accordingly\n\t\t *\n\t\t * First of all we take advantage of the menu stack not being aware of the root\n\t\t * object immediately after it is added. This code executes before the root element is added,\n\t\t * which means the stack is still empty and the peek method returns undefined.\n\t\t */\n\t\tconst isRoot = this._host.menuStack.peek() === undefined;\n\t\tsetTimeout(() => {\n\t\t\t// our menu trigger directive leaves the last position used for use immediately after opening\n\t\t\t// we can access it here and determine the correct side.\n\t\t\t// eslint-disable-next-line\n\t\t\tconst ps = (this._host as any)._parentTrigger._spartanLastPosition;\n\t\t\tif (!ps) {\n\t\t\t\t// if we have no last position we default to the most likely option\n\t\t\t\t// I hate that we have to do this and hope we can revisit soon and improve\n\t\t\t\tthis._side.set(isRoot ? 'top' : 'left');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';\n\t\t\tthis._side.set(side);\n\t\t});\n\t}\n}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnMenuBar]',\n\thostDirectives: [CdkMenuBar],\n})\nexport class BrnMenuBar {}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnMenuGroup]',\n\thostDirectives: [CdkMenuGroup],\n})\nexport class BrnMenuGroup {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItem]',\n\thostDirectives: [CdkMenuItem],\n\thost: {\n\t\t'[disabled]': 'disabled()',\n\t\t'[attr.data-disabled]': 'disabled() ? \"\" : null',\n\t},\n})\nexport class BrnMenuItem {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItem);\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t}\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItemCheckbox]',\n\thostDirectives: [CdkMenuItemCheckbox],\n\thost: {\n\t\t'[class.checked]': 'checked()',\n\t\t'[disabled]': 'disabled()',\n\t},\n})\nexport class BrnMenuItemCheckbox {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItemCheckbox);\n\tpublic readonly checked = input(this._cdkMenuItem.checked, { transform: booleanAttribute });\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t\teffect(() => (this._cdkMenuItem.checked = this.checked()));\n\t}\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItemRadio]',\n\thostDirectives: [CdkMenuItemRadio],\n\thost: {\n\t\t'[class.checked]': 'checked()',\n\t\t'[disabled]': 'disabled()',\n\t},\n})\nexport class BrnMenuItemRadio {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItemRadio);\n\tpublic readonly checked = input(this._cdkMenuItem.checked, { transform: booleanAttribute });\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t\teffect(() => (this._cdkMenuItem.checked = this.checked()));\n\t}\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnMenuAlign, getBrnMenuAlign } from './brn-menu-align';\n\n@Directive({\n\tselector: '[brnMenuTriggerFor]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: brnMenuTriggerFor', 'cdkMenuTriggerData: brnMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: brnMenuOpened', 'cdkMenuClosed: brnMenuClosed'],\n\t\t},\n\t],\n})\nexport class BrnMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tpublic readonly align = input<BrnMenuAlign>(undefined);\n\n\tconstructor() {\n\t\t// once the trigger opens we wait until the next tick and then grab the last position\n\t\t// used to position the menu. we store this in our trigger which the brnMenu directive has\n\t\t// access to through DI\n\t\tthis._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line\n\t\t\t\t\t\t(this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),\n\t\t\t),\n\t\t);\n\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tif (!align) return;\n\t\t\tthis._cdkTrigger.menuPosition = getBrnMenuAlign(align);\n\t\t});\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnContextMenuTrigger } from './lib/brn-context-menu-trigger';\nimport { BrnMenu } from './lib/brn-menu';\nimport { BrnMenuBar } from './lib/brn-menu-bar';\nimport { BrnMenuGroup } from './lib/brn-menu-group';\nimport { BrnMenuItem } from './lib/brn-menu-item';\nimport { BrnMenuItemCheckbox } from './lib/brn-menu-item-checkbox';\nimport { BrnMenuItemRadio } from './lib/brn-menu-item-radio';\nimport { BrnMenuTrigger } from './lib/brn-menu-trigger';\n\nexport * from './lib/brn-context-menu-trigger';\nexport * from './lib/brn-menu';\nexport * from './lib/brn-menu-bar';\nexport * from './lib/brn-menu-group';\nexport * from './lib/brn-menu-item';\nexport * from './lib/brn-menu-item-checkbox';\nexport * from './lib/brn-menu-item-radio';\nexport * from './lib/brn-menu-trigger';\n\nexport const BrnMenuItemImports = [BrnMenuGroup, BrnMenuItem, BrnMenuItemRadio, BrnMenuItemCheckbox] as const;\nexport const BrnMenuImports = [BrnMenuTrigger, BrnMenu, ...BrnMenuItemImports] as const;\nexport const BrnMenuBarImports = [...BrnMenuImports, BrnMenuBar] as const;\nexport const BrnContextMenuImports = [...BrnMenuImports, BrnContextMenuTrigger] as const;\n\n@NgModule({\n\timports: [...BrnMenuItemImports],\n\texports: [...BrnMenuItemImports],\n})\nexport class BrnMenuItemModule {}\n\n@NgModule({\n\timports: [...BrnMenuImports],\n\texports: [...BrnMenuImports],\n})\nexport class BrnMenuModule {}\n\n@NgModule({\n\timports: [...BrnMenuBarImports],\n\texports: [...BrnMenuBarImports],\n})\nexport class BrnMenuBarModule {}\n\n@NgModule({\n\timports: [...BrnContextMenuImports],\n\texports: [...BrnContextMenuImports],\n})\nexport class BrnContextMenuModule {}\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-menu.mjs","sources":["../../../../libs/brain/menu/src/lib/brn-menu-align.ts","../../../../libs/brain/menu/src/lib/brn-context-menu-trigger.ts","../../../../libs/brain/menu/src/lib/brn-menu.ts","../../../../libs/brain/menu/src/lib/brn-menu-bar.ts","../../../../libs/brain/menu/src/lib/brn-menu-group.ts","../../../../libs/brain/menu/src/lib/brn-menu-item.ts","../../../../libs/brain/menu/src/lib/brn-menu-item-checkbox.ts","../../../../libs/brain/menu/src/lib/brn-menu-item-radio.ts","../../../../libs/brain/menu/src/lib/brn-menu-trigger.ts","../../../../libs/brain/menu/src/index.ts","../../../../libs/brain/menu/src/spartan-ng-brain-menu.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\n\nexport type BrnMenuAlign = 'start' | 'center' | 'end' | undefined;\nexport const getBrnMenuAlign = (align: Exclude<BrnMenuAlign, undefined>): ConnectedPosition[] => [\n\t{\n\t\toriginX: align,\n\t\toriginY: 'bottom',\n\t\toverlayX: align,\n\t\toverlayY: 'top',\n\t},\n\t{\n\t\toriginX: align,\n\t\toriginY: 'top',\n\t\toverlayX: align,\n\t\toverlayY: 'bottom',\n\t},\n];\n","import { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input, type TemplateRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnMenuAlign, getBrnMenuAlign } from './brn-menu-align';\n\n@Directive({\n\tselector: '[brnCtxMenuTriggerFor]',\n\thostDirectives: [CdkContextMenuTrigger],\n})\nexport class BrnContextMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkContextMenuTrigger, { host: true });\n\tpublic readonly brnCtxMenuTriggerFor = input<TemplateRef<unknown> | null>(null);\n\tpublic readonly brnCtxMenuTriggerData = input<unknown>(undefined);\n\tpublic readonly align = input<BrnMenuAlign>(undefined);\n\n\tconstructor() {\n\t\t// once the trigger opens we wait until the next tick and then grab the last position\n\t\t// used to position the menu. we store this in our trigger which the brnMenu directive has\n\t\t// access to through DI\n\t\tthis._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line\n\t\t\t\t\t\t(this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),\n\t\t\t),\n\t\t);\n\n\t\teffect(() => (this._cdkTrigger.menuTemplateRef = this.brnCtxMenuTriggerFor()));\n\t\teffect(() => (this._cdkTrigger.menuData = this.brnCtxMenuTriggerData()));\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tif (!align) return;\n\t\t\tthis._cdkTrigger.menuPosition = getBrnMenuAlign(align);\n\t\t});\n\t}\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenu],[brnSubMenu]',\n\thost: {\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t},\n\thostDirectives: [CdkMenu],\n})\nexport class BrnMenu {\n\tprivate readonly _host = inject(CdkMenu);\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal('top');\n\n\tconstructor() {\n\t\tthis.setSideWithDarkMagic();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\t}\n\n\tprivate setSideWithDarkMagic() {\n\t\t/**\n\t\t * This is an ugly workaround to at least figure out the correct side of where a submenu\n\t\t * will appear and set the attribute to the host accordingly\n\t\t *\n\t\t * First of all we take advantage of the menu stack not being aware of the root\n\t\t * object immediately after it is added. This code executes before the root element is added,\n\t\t * which means the stack is still empty and the peek method returns undefined.\n\t\t */\n\t\tconst isRoot = this._host.menuStack.peek() === undefined;\n\t\tsetTimeout(() => {\n\t\t\t// our menu trigger directive leaves the last position used for use immediately after opening\n\t\t\t// we can access it here and determine the correct side.\n\t\t\t// eslint-disable-next-line\n\t\t\tconst ps = (this._host as any)._parentTrigger._spartanLastPosition;\n\t\t\tif (!ps) {\n\t\t\t\t// if we have no last position we default to the most likely option\n\t\t\t\t// I hate that we have to do this and hope we can revisit soon and improve\n\t\t\t\tthis._side.set(isRoot ? 'top' : 'left');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst side = isRoot ? ps.originY : ps.originX === 'end' ? 'right' : 'left';\n\t\t\tthis._side.set(side);\n\t\t});\n\t}\n}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnMenuBar]',\n\thostDirectives: [CdkMenuBar],\n})\nexport class BrnMenuBar {}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnMenuGroup]',\n\thostDirectives: [CdkMenuGroup],\n})\nexport class BrnMenuGroup {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItem]',\n\thostDirectives: [CdkMenuItem],\n\thost: {\n\t\t'[disabled]': 'disabled()',\n\t\t'[attr.data-disabled]': 'disabled() ? \"\" : null',\n\t},\n})\nexport class BrnMenuItem {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItem);\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t}\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItemCheckbox]',\n\thostDirectives: [CdkMenuItemCheckbox],\n\thost: {\n\t\t'[class.checked]': 'checked()',\n\t\t'[disabled]': 'disabled()',\n\t},\n})\nexport class BrnMenuItemCheckbox {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItemCheckbox);\n\tpublic readonly checked = input(this._cdkMenuItem.checked, { transform: booleanAttribute });\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t\teffect(() => (this._cdkMenuItem.checked = this.checked()));\n\t}\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, effect, inject, input } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[brnMenuItemRadio]',\n\thostDirectives: [CdkMenuItemRadio],\n\thost: {\n\t\t'[class.checked]': 'checked()',\n\t\t'[disabled]': 'disabled()',\n\t},\n})\nexport class BrnMenuItemRadio {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItemRadio);\n\tpublic readonly checked = input(this._cdkMenuItem.checked, { transform: booleanAttribute });\n\tpublic readonly disabled = input(this._cdkMenuItem.disabled, { transform: booleanAttribute });\n\tpublic readonly triggered = outputFromObservable(this._cdkMenuItem.triggered);\n\n\tconstructor() {\n\t\teffect(() => (this._cdkMenuItem.disabled = this.disabled()));\n\t\teffect(() => (this._cdkMenuItem.checked = this.checked()));\n\t}\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnMenuAlign, getBrnMenuAlign } from './brn-menu-align';\n\n@Directive({\n\tselector: '[brnMenuTriggerFor]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: brnMenuTriggerFor', 'cdkMenuTriggerData: brnMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: brnMenuOpened', 'cdkMenuClosed: brnMenuClosed'],\n\t\t},\n\t],\n})\nexport class BrnMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tpublic readonly align = input<BrnMenuAlign>(undefined);\n\n\tconstructor() {\n\t\t// once the trigger opens we wait until the next tick and then grab the last position\n\t\t// used to position the menu. we store this in our trigger which the brnMenu directive has\n\t\t// access to through DI\n\t\tthis._cdkTrigger.opened.pipe(takeUntilDestroyed()).subscribe(() =>\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t((this._cdkTrigger as any)._spartanLastPosition = // eslint-disable-next-line\n\t\t\t\t\t\t(this._cdkTrigger as any).overlayRef._positionStrategy._lastPosition),\n\t\t\t),\n\t\t);\n\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tif (!align) return;\n\t\t\tthis._cdkTrigger.menuPosition = getBrnMenuAlign(align);\n\t\t});\n\t}\n}\n","import { BrnContextMenuTrigger } from './lib/brn-context-menu-trigger';\nimport { BrnMenu } from './lib/brn-menu';\nimport { BrnMenuBar } from './lib/brn-menu-bar';\nimport { BrnMenuGroup } from './lib/brn-menu-group';\nimport { BrnMenuItem } from './lib/brn-menu-item';\nimport { BrnMenuItemCheckbox } from './lib/brn-menu-item-checkbox';\nimport { BrnMenuItemRadio } from './lib/brn-menu-item-radio';\nimport { BrnMenuTrigger } from './lib/brn-menu-trigger';\n\nexport * from './lib/brn-context-menu-trigger';\nexport * from './lib/brn-menu';\nexport * from './lib/brn-menu-bar';\nexport * from './lib/brn-menu-group';\nexport * from './lib/brn-menu-item';\nexport * from './lib/brn-menu-item-checkbox';\nexport * from './lib/brn-menu-item-radio';\nexport * from './lib/brn-menu-trigger';\n\nexport const BrnMenuImports = [\n\tBrnMenuTrigger,\n\tBrnMenu,\n\tBrnMenuBar,\n\tBrnContextMenuTrigger,\n\tBrnMenuGroup,\n\tBrnMenuItem,\n\tBrnMenuItemRadio,\n\tBrnMenuItemCheckbox,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, numberAttribute, effect, untracked, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, inject, ElementRef, NgModule } from '@angular/core';
2
+ import { input, numberAttribute, effect, untracked, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, inject, ElementRef } from '@angular/core';
3
3
  import { BrnDialog, provideBrnDialogDefaultOptions, BrnDialogClose, BrnDialogContent, BrnDialogTrigger } from '@spartan-ng/brain/dialog';
4
4
  import { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';
5
5
 
@@ -143,22 +143,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
143
143
  }], ctorParameters: () => [] });
144
144
 
145
145
  const BrnPopoverImports = [BrnPopover, BrnPopoverTrigger, BrnPopoverClose, BrnPopoverContent];
146
- class BrnPopoverModule {
147
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
148
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnPopoverModule, imports: [BrnPopover, BrnPopoverTrigger, BrnPopoverClose, BrnPopoverContent], exports: [BrnPopover, BrnPopoverTrigger, BrnPopoverClose, BrnPopoverContent] });
149
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnPopoverModule });
150
- }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnPopoverModule, decorators: [{
152
- type: NgModule,
153
- args: [{
154
- imports: [...BrnPopoverImports],
155
- exports: [...BrnPopoverImports],
156
- }]
157
- }] });
158
146
 
159
147
  /**
160
148
  * Generated bundle index. Do not edit.
161
149
  */
162
150
 
163
- export { BRN_POPOVER_DIALOG_DEFAULT_OPTIONS, BrnPopover, BrnPopoverClose, BrnPopoverContent, BrnPopoverImports, BrnPopoverModule, BrnPopoverTrigger };
151
+ export { BRN_POPOVER_DIALOG_DEFAULT_OPTIONS, BrnPopover, BrnPopoverClose, BrnPopoverContent, BrnPopoverImports, BrnPopoverTrigger };
164
152
  //# sourceMappingURL=spartan-ng-brain-popover.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-popover.mjs","sources":["../../../../libs/brain/popover/src/lib/brn-popover.ts","../../../../libs/brain/popover/src/lib/brn-popover-close.ts","../../../../libs/brain/popover/src/lib/brn-popover-content.ts","../../../../libs/brain/popover/src/lib/brn-popover-trigger.ts","../../../../libs/brain/popover/src/index.ts","../../../../libs/brain/popover/src/spartan-ng-brain-popover.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\teffect,\n\tforwardRef,\n\tinput,\n\tnumberAttribute,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialog, BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_POPOVER_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\thasBackdrop: false,\n\tscrollStrategy: 'reposition',\n};\n\nexport type BrnPopoverAlign = 'start' | 'center' | 'end';\n\n@Component({\n\tselector: 'brn-popover',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnPopover),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_POPOVER_DIALOG_DEFAULT_OPTIONS),\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnPopover',\n})\nexport class BrnPopover extends BrnDialog {\n\tpublic readonly align = input<BrnPopoverAlign>('center');\n\tpublic readonly sideOffset = input(0, { transform: numberAttribute });\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.setAriaDescribedBy('');\n\t\tthis.setAriaLabelledBy('');\n\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tuntracked(() => {\n\t\t\t\tthis.mutableAttachPositions.set([\n\t\t\t\t\t{\n\t\t\t\t\t\toriginX: align,\n\t\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\t\toverlayX: align,\n\t\t\t\t\t\toverlayY: 'top',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginX: align,\n\t\t\t\t\t\toriginY: 'top',\n\t\t\t\t\t\toverlayX: align,\n\t\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t\t},\n\t\t\t\t]);\n\t\t\t});\n\t\t\tuntracked(() => {\n\t\t\t\tthis.applySideOffset(this.sideOffset());\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst sideOffset = this.sideOffset();\n\t\t\tuntracked(() => {\n\t\t\t\tthis.applySideOffset(sideOffset);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate applySideOffset(sideOffset: number) {\n\t\tthis.mutableAttachPositions.update((positions) =>\n\t\t\tpositions.map((position) => ({\n\t\t\t\t...position,\n\t\t\t\toffsetY: position.originY === 'top' ? -sideOffset : sideOffset,\n\t\t\t})),\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnPopoverClose]',\n})\nexport class BrnPopoverClose extends BrnDialogClose {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnPopoverContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnPopoverContent)],\n})\nexport class BrnPopoverContent<T> extends BrnDialogContent<T> {}\n","import { Directive, ElementRef, effect, inject, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnPopover } from './brn-popover';\n\n@Directive({\n\tselector: 'button[brnPopoverTrigger],button[brnPopoverTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t},\n})\nexport class BrnPopoverTrigger extends BrnDialogTrigger {\n\tprivate readonly _host = inject(ElementRef, { host: true });\n\n\tpublic readonly brnPopoverTriggerFor = input<BrnPopover | undefined>(undefined, {\n\t\talias: 'brnPopoverTriggerFor',\n\t});\n\n\tconstructor() {\n\t\tsuper();\n\t\tif (!this._brnDialog) return;\n\t\tthis._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\tthis._brnDialog.mutableCloseOnOutsidePointerEvents.set(true);\n\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnPopoverTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (!brnDialog) return;\n\t\t\t\tbrnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\t\t\tbrnDialog.mutableCloseOnOutsidePointerEvents.set(true);\n\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t});\n\t\t});\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnPopover } from './lib/brn-popover';\nimport { BrnPopoverClose } from './lib/brn-popover-close';\nimport { BrnPopoverContent } from './lib/brn-popover-content';\nimport { BrnPopoverTrigger } from './lib/brn-popover-trigger';\n\nexport * from './lib/brn-popover';\nexport * from './lib/brn-popover-close';\nexport * from './lib/brn-popover-content';\nexport * from './lib/brn-popover-trigger';\n\nexport const BrnPopoverImports = [BrnPopover, BrnPopoverTrigger, BrnPopoverClose, BrnPopoverContent] as const;\n\n@NgModule({\n\timports: [...BrnPopoverImports],\n\texports: [...BrnPopoverImports],\n})\nexport class BrnPopoverModule {}\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-popover.mjs","sources":["../../../../libs/brain/popover/src/lib/brn-popover.ts","../../../../libs/brain/popover/src/lib/brn-popover-close.ts","../../../../libs/brain/popover/src/lib/brn-popover-content.ts","../../../../libs/brain/popover/src/lib/brn-popover-trigger.ts","../../../../libs/brain/popover/src/index.ts","../../../../libs/brain/popover/src/spartan-ng-brain-popover.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\teffect,\n\tforwardRef,\n\tinput,\n\tnumberAttribute,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialog, BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_POPOVER_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\thasBackdrop: false,\n\tscrollStrategy: 'reposition',\n};\n\nexport type BrnPopoverAlign = 'start' | 'center' | 'end';\n\n@Component({\n\tselector: 'brn-popover',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnPopover),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_POPOVER_DIALOG_DEFAULT_OPTIONS),\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnPopover',\n})\nexport class BrnPopover extends BrnDialog {\n\tpublic readonly align = input<BrnPopoverAlign>('center');\n\tpublic readonly sideOffset = input(0, { transform: numberAttribute });\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.setAriaDescribedBy('');\n\t\tthis.setAriaLabelledBy('');\n\n\t\teffect(() => {\n\t\t\tconst align = this.align();\n\t\t\tuntracked(() => {\n\t\t\t\tthis.mutableAttachPositions.set([\n\t\t\t\t\t{\n\t\t\t\t\t\toriginX: align,\n\t\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\t\toverlayX: align,\n\t\t\t\t\t\toverlayY: 'top',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginX: align,\n\t\t\t\t\t\toriginY: 'top',\n\t\t\t\t\t\toverlayX: align,\n\t\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t\t},\n\t\t\t\t]);\n\t\t\t});\n\t\t\tuntracked(() => {\n\t\t\t\tthis.applySideOffset(this.sideOffset());\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst sideOffset = this.sideOffset();\n\t\t\tuntracked(() => {\n\t\t\t\tthis.applySideOffset(sideOffset);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate applySideOffset(sideOffset: number) {\n\t\tthis.mutableAttachPositions.update((positions) =>\n\t\t\tpositions.map((position) => ({\n\t\t\t\t...position,\n\t\t\t\toffsetY: position.originY === 'top' ? -sideOffset : sideOffset,\n\t\t\t})),\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnPopoverClose]',\n})\nexport class BrnPopoverClose extends BrnDialogClose {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnPopoverContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnPopoverContent)],\n})\nexport class BrnPopoverContent<T> extends BrnDialogContent<T> {}\n","import { Directive, ElementRef, effect, inject, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnPopover } from './brn-popover';\n\n@Directive({\n\tselector: 'button[brnPopoverTrigger],button[brnPopoverTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t},\n})\nexport class BrnPopoverTrigger extends BrnDialogTrigger {\n\tprivate readonly _host = inject(ElementRef, { host: true });\n\n\tpublic readonly brnPopoverTriggerFor = input<BrnPopover | undefined>(undefined, {\n\t\talias: 'brnPopoverTriggerFor',\n\t});\n\n\tconstructor() {\n\t\tsuper();\n\t\tif (!this._brnDialog) return;\n\t\tthis._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\tthis._brnDialog.mutableCloseOnOutsidePointerEvents.set(true);\n\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnPopoverTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (!brnDialog) return;\n\t\t\t\tbrnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\t\t\tbrnDialog.mutableCloseOnOutsidePointerEvents.set(true);\n\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t});\n\t\t});\n\t}\n}\n","import { BrnPopover } from './lib/brn-popover';\nimport { BrnPopoverClose } from './lib/brn-popover-close';\nimport { BrnPopoverContent } from './lib/brn-popover-content';\nimport { BrnPopoverTrigger } from './lib/brn-popover-trigger';\n\nexport * from './lib/brn-popover';\nexport * from './lib/brn-popover-close';\nexport * from './lib/brn-popover-content';\nexport * from './lib/brn-popover-trigger';\n\nexport const BrnPopoverImports = [BrnPopover, BrnPopoverTrigger, BrnPopoverClose, BrnPopoverContent] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, numberAttribute, computed, Directive, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, input, numberAttribute, computed, Directive } from '@angular/core';
3
3
 
4
4
  const BrnProgressToken = new InjectionToken('BrnProgressComponent');
5
5
  function provideBrnProgress(progress) {
@@ -93,22 +93,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
93
93
  }] });
94
94
 
95
95
  const BrnProgressImports = [BrnProgress, BrnProgressIndicator];
96
- class BrnProgressModule {
97
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
98
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnProgressModule, imports: [BrnProgress, BrnProgressIndicator], exports: [BrnProgress, BrnProgressIndicator] });
99
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnProgressModule });
100
- }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnProgressModule, decorators: [{
102
- type: NgModule,
103
- args: [{
104
- imports: [...BrnProgressImports],
105
- exports: [...BrnProgressImports],
106
- }]
107
- }] });
108
96
 
109
97
  /**
110
98
  * Generated bundle index. Do not edit.
111
99
  */
112
100
 
113
- export { BrnProgress, BrnProgressImports, BrnProgressIndicator, BrnProgressModule, injectBrnProgress };
101
+ export { BrnProgress, BrnProgressImports, BrnProgressIndicator, injectBrnProgress };
114
102
  //# sourceMappingURL=spartan-ng-brain-progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-progress.mjs","sources":["../../../../libs/brain/progress/src/lib/brn-progress.token.ts","../../../../libs/brain/progress/src/lib/brn-progress.ts","../../../../libs/brain/progress/src/lib/brn-progress-indicator.ts","../../../../libs/brain/progress/src/index.ts","../../../../libs/brain/progress/src/spartan-ng-brain-progress.ts"],"sourcesContent":["import { ExistingProvider, InjectionToken, Type, inject } from '@angular/core';\nimport type { BrnProgress } from './brn-progress';\n\nconst BrnProgressToken = new InjectionToken<BrnProgress>('BrnProgressComponent');\n\nexport function provideBrnProgress(progress: Type<BrnProgress>): ExistingProvider {\n\treturn { provide: BrnProgressToken, useExisting: progress };\n}\n\nexport function injectBrnProgress(): BrnProgress {\n\treturn inject(BrnProgressToken);\n}\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { type NumberInput } from '@angular/cdk/coercion';\nimport { Directive, OnChanges, SimpleChanges, computed, input, numberAttribute } from '@angular/core';\nimport { provideBrnProgress } from './brn-progress.token';\n\n@Directive({\n\tselector: 'brn-progress',\n\texportAs: 'brnProgress',\n\tproviders: [provideBrnProgress(BrnProgress)],\n\thost: {\n\t\trole: 'progressbar',\n\t\t'[attr.aria-valuemax]': 'max()',\n\t\t'[attr.aria-valuemin]': '0',\n\t\t'[attr.aria-valuenow]': 'value()',\n\t\t'[attr.aria-valuetext]': '_label()',\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.data-max]': 'max()',\n\t},\n})\nexport class BrnProgress implements OnChanges {\n\t/**\n\t * The current progress value.\n\t */\n\tpublic readonly value = input<number | null | undefined, NumberInput>(undefined, {\n\t\ttransform: (value) => (value === undefined || value === null ? undefined : Number(value)),\n\t});\n\n\t/**\n\t * The maximum progress value.\n\t */\n\tpublic readonly max = input<number, NumberInput>(100, { transform: numberAttribute });\n\n\t/**\n\t * A function that returns the label for the current progress value.\n\t */\n\tpublic readonly getValueLabel = input<BrnProgressLabelFn>((value, max) => `${Math.round((value / max) * 100)}%`);\n\n\tprotected readonly _label = computed(() => {\n\t\tconst value = this.value();\n\t\treturn value === null || value === undefined ? undefined : this.getValueLabel()(value, this.max());\n\t});\n\n\tpublic readonly state = computed(() => {\n\t\tconst value = this.value();\n\t\tconst max = this.max();\n\n\t\treturn value === null || value === undefined ? 'indeterminate' : value === max ? 'complete' : 'loading';\n\t});\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif ('value' in changes || 'max' in changes) {\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tprivate validate(): void {\n\t\t// validate that the value is within the bounds of the max\n\t\tconst value = this.value();\n\t\tconst max = this.max();\n\n\t\tif (value === null || value === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (value > max || value < 0) {\n\t\t\tthrow Error('Value must be 0 or greater and less or equal to max');\n\t\t}\n\n\t\tif (max < 0) {\n\t\t\tthrow Error('max must be greater than 0');\n\t\t}\n\t}\n}\n\nexport type BrnProgressLabelFn = (value: number, max: number) => string;\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { Directive } from '@angular/core';\nimport { injectBrnProgress } from './brn-progress.token';\n\n@Directive({\n\tselector: 'brn-progress-indicator',\n\thost: {\n\t\t'[attr.data-state]': '_progress.state()',\n\t\t'[attr.data-value]': '_progress.value()',\n\t\t'[attr.data-max]': '_progress.max()',\n\t},\n})\nexport class BrnProgressIndicator {\n\tprotected readonly _progress = injectBrnProgress();\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnProgress } from './lib/brn-progress';\nimport { BrnProgressIndicator } from './lib/brn-progress-indicator';\nexport { injectBrnProgress } from './lib/brn-progress.token';\n\nexport * from './lib/brn-progress';\nexport * from './lib/brn-progress-indicator';\n\nexport const BrnProgressImports = [BrnProgress, BrnProgressIndicator] as const;\n\n@NgModule({\n\timports: [...BrnProgressImports],\n\texports: [...BrnProgressImports],\n})\nexport class BrnProgressModule {}\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-progress.mjs","sources":["../../../../libs/brain/progress/src/lib/brn-progress.token.ts","../../../../libs/brain/progress/src/lib/brn-progress.ts","../../../../libs/brain/progress/src/lib/brn-progress-indicator.ts","../../../../libs/brain/progress/src/index.ts","../../../../libs/brain/progress/src/spartan-ng-brain-progress.ts"],"sourcesContent":["import { ExistingProvider, InjectionToken, Type, inject } from '@angular/core';\nimport type { BrnProgress } from './brn-progress';\n\nconst BrnProgressToken = new InjectionToken<BrnProgress>('BrnProgressComponent');\n\nexport function provideBrnProgress(progress: Type<BrnProgress>): ExistingProvider {\n\treturn { provide: BrnProgressToken, useExisting: progress };\n}\n\nexport function injectBrnProgress(): BrnProgress {\n\treturn inject(BrnProgressToken);\n}\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { type NumberInput } from '@angular/cdk/coercion';\nimport { Directive, OnChanges, SimpleChanges, computed, input, numberAttribute } from '@angular/core';\nimport { provideBrnProgress } from './brn-progress.token';\n\n@Directive({\n\tselector: 'brn-progress',\n\texportAs: 'brnProgress',\n\tproviders: [provideBrnProgress(BrnProgress)],\n\thost: {\n\t\trole: 'progressbar',\n\t\t'[attr.aria-valuemax]': 'max()',\n\t\t'[attr.aria-valuemin]': '0',\n\t\t'[attr.aria-valuenow]': 'value()',\n\t\t'[attr.aria-valuetext]': '_label()',\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.data-max]': 'max()',\n\t},\n})\nexport class BrnProgress implements OnChanges {\n\t/**\n\t * The current progress value.\n\t */\n\tpublic readonly value = input<number | null | undefined, NumberInput>(undefined, {\n\t\ttransform: (value) => (value === undefined || value === null ? undefined : Number(value)),\n\t});\n\n\t/**\n\t * The maximum progress value.\n\t */\n\tpublic readonly max = input<number, NumberInput>(100, { transform: numberAttribute });\n\n\t/**\n\t * A function that returns the label for the current progress value.\n\t */\n\tpublic readonly getValueLabel = input<BrnProgressLabelFn>((value, max) => `${Math.round((value / max) * 100)}%`);\n\n\tprotected readonly _label = computed(() => {\n\t\tconst value = this.value();\n\t\treturn value === null || value === undefined ? undefined : this.getValueLabel()(value, this.max());\n\t});\n\n\tpublic readonly state = computed(() => {\n\t\tconst value = this.value();\n\t\tconst max = this.max();\n\n\t\treturn value === null || value === undefined ? 'indeterminate' : value === max ? 'complete' : 'loading';\n\t});\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif ('value' in changes || 'max' in changes) {\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tprivate validate(): void {\n\t\t// validate that the value is within the bounds of the max\n\t\tconst value = this.value();\n\t\tconst max = this.max();\n\n\t\tif (value === null || value === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (value > max || value < 0) {\n\t\t\tthrow Error('Value must be 0 or greater and less or equal to max');\n\t\t}\n\n\t\tif (max < 0) {\n\t\t\tthrow Error('max must be greater than 0');\n\t\t}\n\t}\n}\n\nexport type BrnProgressLabelFn = (value: number, max: number) => string;\n","/* eslint-disable @angular-eslint/directive-selector */\nimport { Directive } from '@angular/core';\nimport { injectBrnProgress } from './brn-progress.token';\n\n@Directive({\n\tselector: 'brn-progress-indicator',\n\thost: {\n\t\t'[attr.data-state]': '_progress.state()',\n\t\t'[attr.data-value]': '_progress.value()',\n\t\t'[attr.data-max]': '_progress.max()',\n\t},\n})\nexport class BrnProgressIndicator {\n\tprotected readonly _progress = injectBrnProgress();\n}\n","import { BrnProgress } from './lib/brn-progress';\nimport { BrnProgressIndicator } from './lib/brn-progress-indicator';\n\nexport { injectBrnProgress } from './lib/brn-progress.token';\n\nexport * from './lib/brn-progress';\nexport * from './lib/brn-progress-indicator';\n\nexport const BrnProgressImports = [BrnProgress, BrnProgressIndicator] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAc,sBAAsB,CAAC;AAE1E,SAAU,kBAAkB,CAAC,QAA2B,EAAA;IAC7D,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;AAC5D;SAEgB,iBAAiB,GAAA;AAChC,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC;AAChC;;MCSa,WAAW,CAAA;AACvB;;AAEG;AACa,IAAA,KAAK,GAAG,KAAK,CAAyC,SAAS,EAAE;QAChF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACzF,KAAA,CAAC;AAEF;;AAEG;IACa,GAAG,GAAG,KAAK,CAAsB,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAErF;;AAEG;IACa,aAAa,GAAG,KAAK,CAAqB,CAAC,KAAK,EAAE,GAAG,KAAK,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA,CAAA,CAAG,CAAC;AAE7F,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACzC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACnG,KAAC,CAAC;AAEc,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAEtB,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,eAAe,GAAG,KAAK,KAAK,GAAG,GAAG,UAAU,GAAG,SAAS;AACxG,KAAC,CAAC;AAEF,IAAA,WAAW,CAAC,OAAsB,EAAA;QACjC,IAAI,OAAO,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE;YAC3C,IAAI,CAAC,QAAQ,EAAE;;;IAIT,QAAQ,GAAA;;AAEf,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAEtB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YAC1C;;QAGD,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE;AAC7B,YAAA,MAAM,KAAK,CAAC,qDAAqD,CAAC;;AAGnE,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE;AACZ,YAAA,MAAM,KAAK,CAAC,4BAA4B,CAAC;;;0HAlD/B,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,stBAZZ,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAYhC,WAAW,EAAA,UAAA,EAAA,CAAA;kBAfvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,WAAA,CAAa,CAAC;AAC5C,oBAAA,IAAI,EAAE;AACL,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,sBAAsB,EAAE,OAAO;AAC/B,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,SAAS;AACjC,wBAAA,uBAAuB,EAAE,UAAU;AACnC,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,wBAAA,iBAAiB,EAAE,OAAO;AAC1B,qBAAA;AACD,iBAAA;;;ACnBD;MAYa,oBAAoB,CAAA;IACb,SAAS,GAAG,iBAAiB,EAAE;0HADtC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACL,wBAAA,mBAAmB,EAAE,mBAAmB;AACxC,wBAAA,mBAAmB,EAAE,mBAAmB;AACxC,wBAAA,iBAAiB,EAAE,iBAAiB;AACpC,qBAAA;AACD,iBAAA;;;MCHY,kBAAkB,GAAG,CAAC,WAAW,EAAE,oBAAoB;;ACRpE;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, input, booleanAttribute, computed, output, viewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, forwardRef, model, linkedSignal, contentChildren, Directive, NgModule } from '@angular/core';
3
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, ElementRef, input, booleanAttribute, computed, output, viewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, forwardRef, model, linkedSignal, contentChildren, Directive } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
 
6
6
  const BrnRadioGroupToken = new InjectionToken('BrnRadioGroupToken');
@@ -272,22 +272,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
272
272
  }] });
273
273
 
274
274
  const BrnRadioGroupImports = [BrnRadioGroup, BrnRadio];
275
- class BrnRadioGroupModule {
276
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
277
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnRadioGroupModule, imports: [BrnRadioGroup, BrnRadio], exports: [BrnRadioGroup, BrnRadio] });
278
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnRadioGroupModule });
279
- }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnRadioGroupModule, decorators: [{
281
- type: NgModule,
282
- args: [{
283
- imports: [...BrnRadioGroupImports],
284
- exports: [...BrnRadioGroupImports],
285
- }]
286
- }] });
287
275
 
288
276
  /**
289
277
  * Generated bundle index. Do not edit.
290
278
  */
291
279
 
292
- export { BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, BrnRadio, BrnRadioChange, BrnRadioGroup, BrnRadioGroupImports, BrnRadioGroupModule };
280
+ export { BRN_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, BrnRadio, BrnRadioChange, BrnRadioGroup, BrnRadioGroupImports };
293
281
  //# sourceMappingURL=spartan-ng-brain-radio-group.mjs.map
@@ -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 { ExistingProvider, inject, InjectionToken, 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 { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\ttype OnDestroy,\n\tViewEncapsulation,\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\n@Component({\n\tselector: 'brn-radio',\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\texportAs: 'brnRadio',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div data-slot=\"indicator\" (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[id]=\"id()\"\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\tstyles: `\n\t\t[data-slot='indicator'] {\n\t\t\tdisplay: flex;\n\t\t\theight: fit-content;\n\t\t\twidth: fit-content;\n\t\t}\n\n\t\t[data-slot='indicator']:empty {\n\t\t\tdisplay: none;\n\t\t}\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 _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 { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tcontentChildren,\n\tDirective,\n\tforwardRef,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\toutput,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, 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\thost: {\n\t\trole: 'radiogroup',\n\t\t'[dir]': 'direction()',\n\t\t'(focusout)': 'onTouched()',\n\t},\n})\nexport class BrnRadioGroup<T = unknown> implements ControlValueAccessor {\n\tprivate static _nextUniqueId = 0;\n\n\tprotected onChange: ChangeFn<T> = () => {};\n\n\tprotected onTouched: TouchFn = () => {};\n\n\tpublic readonly name = input(`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 = input<'ltr' | 'rtl' | null>('ltr');\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. This could be switched to a linkedSignal when we can drop v18 support.\n\t * @internal\n\t */\n\tpublic readonly disabledState = linkedSignal(() => this.disabled());\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 { NgModule } from '@angular/core';\n\nimport { BrnRadio } from './lib/brn-radio';\nimport { BrnRadioGroup } from './lib/brn-radio-group';\n\nexport * from './lib/brn-radio';\nexport * from './lib/brn-radio-group';\n\nexport const BrnRadioGroupImports = [BrnRadioGroup, BrnRadio] as const;\n\n@NgModule({\n\timports: [...BrnRadioGroupImports],\n\texports: [...BrnRadioGroupImports],\n})\nexport class BrnRadioGroupModule {}\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 { ExistingProvider, inject, InjectionToken, 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 { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\ttype OnDestroy,\n\tViewEncapsulation,\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\n@Component({\n\tselector: 'brn-radio',\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\texportAs: 'brnRadio',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div data-slot=\"indicator\" (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[id]=\"id()\"\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\tstyles: `\n\t\t[data-slot='indicator'] {\n\t\t\tdisplay: flex;\n\t\t\theight: fit-content;\n\t\t\twidth: fit-content;\n\t\t}\n\n\t\t[data-slot='indicator']:empty {\n\t\t\tdisplay: none;\n\t\t}\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 _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 { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tcontentChildren,\n\tDirective,\n\tforwardRef,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\toutput,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, 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\thost: {\n\t\trole: 'radiogroup',\n\t\t'[dir]': 'direction()',\n\t\t'(focusout)': 'onTouched()',\n\t},\n})\nexport class BrnRadioGroup<T = unknown> implements ControlValueAccessor {\n\tprivate static _nextUniqueId = 0;\n\n\tprotected onChange: ChangeFn<T> = () => {};\n\n\tprotected onTouched: TouchFn = () => {};\n\n\tpublic readonly name = input(`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 = input<'ltr' | 'rtl' | null>('ltr');\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. This could be switched to a linkedSignal when we can drop v18 support.\n\t * @internal\n\t */\n\tpublic readonly disabledState = linkedSignal(() => this.disabled());\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';\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,8 +1,8 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, input, booleanAttribute, computed, signal, Directive, DestroyRef, Injector, viewChild, contentChild, contentChildren, effect, afterNextRender, ChangeDetectionStrategy, Component, numberAttribute, model, output, forwardRef, TemplateRef, ChangeDetectorRef, PLATFORM_ID, NgModule } from '@angular/core';
3
1
  import { CdkListboxModule } from '@angular/cdk/listbox';
4
2
  import * as i1 from '@angular/cdk/overlay';
5
3
  import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
4
+ import * as i0 from '@angular/core';
5
+ import { InjectionToken, inject, ElementRef, input, booleanAttribute, computed, signal, Directive, DestroyRef, Injector, viewChild, contentChild, contentChildren, effect, afterNextRender, ChangeDetectionStrategy, Component, numberAttribute, model, output, forwardRef, TemplateRef, ChangeDetectorRef, PLATFORM_ID } from '@angular/core';
6
6
  import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
7
7
  import { NgForm, FormGroupDirective, NgControl } from '@angular/forms';
8
8
  import { provideExposedSideProviderExisting, provideExposesStateProviderExisting } from '@spartan-ng/brain/core';
@@ -776,42 +776,10 @@ const BrnSelectImports = [
776
776
  BrnSelectValueTemplate,
777
777
  BrnSelectPlaceholder,
778
778
  ];
779
- class BrnSelectModule {
780
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
781
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: BrnSelectModule, imports: [BrnSelect,
782
- BrnSelectContent,
783
- BrnSelectTrigger,
784
- BrnSelectOption,
785
- BrnSelectValue,
786
- BrnSelectScrollDown,
787
- BrnSelectScrollUp,
788
- BrnSelectGroup,
789
- BrnSelectLabel,
790
- BrnSelectValueTemplate,
791
- BrnSelectPlaceholder], exports: [BrnSelect,
792
- BrnSelectContent,
793
- BrnSelectTrigger,
794
- BrnSelectOption,
795
- BrnSelectValue,
796
- BrnSelectScrollDown,
797
- BrnSelectScrollUp,
798
- BrnSelectGroup,
799
- BrnSelectLabel,
800
- BrnSelectValueTemplate,
801
- BrnSelectPlaceholder] });
802
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSelectModule, imports: [BrnSelect] });
803
- }
804
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSelectModule, decorators: [{
805
- type: NgModule,
806
- args: [{
807
- imports: [...BrnSelectImports],
808
- exports: [...BrnSelectImports],
809
- }]
810
- }] });
811
779
 
812
780
  /**
813
781
  * Generated bundle index. Do not edit.
814
782
  */
815
783
 
816
- export { BrnSelect, BrnSelectContent, BrnSelectGroup, BrnSelectImports, BrnSelectLabel, BrnSelectModule, BrnSelectOption, BrnSelectPlaceholder, BrnSelectScrollDown, BrnSelectScrollUp, BrnSelectTrigger, BrnSelectValue, BrnSelectValueTemplate };
784
+ export { BrnSelect, BrnSelectContent, BrnSelectGroup, BrnSelectImports, BrnSelectLabel, BrnSelectOption, BrnSelectPlaceholder, BrnSelectScrollDown, BrnSelectScrollUp, BrnSelectTrigger, BrnSelectValue, BrnSelectValueTemplate };
817
785
  //# sourceMappingURL=spartan-ng-brain-select.mjs.map