@radix-ng/primitives 0.7.2 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/README.md +1 -0
- package/accordion/index.d.ts +5 -0
- package/accordion/src/accordion-content.directive.d.ts +64 -0
- package/accordion/src/accordion-header.directive.d.ts +23 -0
- package/accordion/src/accordion-item.directive.d.ts +36 -0
- package/accordion/src/accordion-root.directive.d.ts +57 -0
- package/accordion/src/accordion-trigger.directive.d.ts +31 -0
- package/checkbox/index.d.ts +2 -0
- package/checkbox/src/checkbox-button.directive.d.ts +8 -0
- package/checkbox/src/checkbox-indicator.directive.d.ts +1 -1
- package/checkbox/src/checkbox-input.directive.d.ts +9 -0
- package/checkbox/src/checkbox.directive.d.ts +7 -5
- package/dropdown-menu/README.md +1 -0
- package/dropdown-menu/index.d.ts +5 -0
- package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +6 -0
- package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +8 -0
- package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +5 -0
- package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +6 -0
- package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +12 -0
- package/esm2022/accordion/index.mjs +6 -0
- package/esm2022/accordion/radix-ng-primitives-accordion.mjs +5 -0
- package/esm2022/accordion/src/accordion-content.directive.mjs +139 -0
- package/esm2022/accordion/src/accordion-header.directive.mjs +44 -0
- package/esm2022/accordion/src/accordion-item.directive.mjs +75 -0
- package/esm2022/accordion/src/accordion-root.directive.mjs +120 -0
- package/esm2022/accordion/src/accordion-trigger.directive.mjs +61 -0
- package/esm2022/checkbox/index.mjs +3 -1
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +33 -0
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +4 -3
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +41 -0
- package/esm2022/checkbox/src/checkbox.directive.mjs +16 -20
- package/esm2022/dropdown-menu/index.mjs +6 -0
- package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +5 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +17 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +26 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +14 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +21 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +52 -0
- package/esm2022/label/src/label-root.directive.mjs +7 -8
- package/esm2022/menu/src/menu-item.directive.mjs +10 -4
- package/esm2022/menubar/src/menubar-trigger.directive.mjs +3 -3
- package/esm2022/radio/src/radio-item.directive.mjs +1 -2
- package/esm2022/switch/index.mjs +2 -1
- package/esm2022/switch/src/switch-input.directive.mjs +8 -6
- package/esm2022/switch/src/switch-root.directive.mjs +42 -18
- package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
- package/esm2022/tabs/index.mjs +38 -0
- package/esm2022/tabs/radix-ng-primitives-tabs.mjs +5 -0
- package/esm2022/tabs/src/tabs-content.directive.mjs +29 -0
- package/esm2022/tabs/src/tabs-context.service.mjs +43 -0
- package/esm2022/tabs/src/tabs-list.directive.mjs +23 -0
- package/esm2022/tabs/src/tabs-root.directive.mjs +54 -0
- package/esm2022/tabs/src/tabs-trigger.directive.mjs +52 -0
- package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +10 -1
- package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +17 -7
- package/fesm2022/radix-ng-primitives-accordion.mjs +431 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs +87 -22
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +125 -0
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +6 -7
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +9 -3
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +2 -2
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +0 -1
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +50 -24
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +222 -0
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +25 -6
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/label/src/label-root.directive.d.ts +3 -2
- package/menu/README.md +1 -0
- package/menu/src/menu-item.directive.d.ts +2 -1
- package/package.json +19 -1
- package/switch/index.d.ts +1 -0
- package/switch/src/switch-root.directive.d.ts +26 -9
- package/tabs/index.d.ts +15 -0
- package/tabs/src/tabs-content.directive.d.ts +8 -0
- package/tabs/src/tabs-context.service.d.ts +22 -0
- package/tabs/src/tabs-list.directive.d.ts +6 -0
- package/tabs/src/tabs-root.directive.d.ts +37 -0
- package/tabs/src/tabs-trigger.directive.d.ts +19 -0
- package/toggle-group/src/toggle-group-button.directive.d.ts +9 -0
- package/toggle-group/src/toggle-group-multi.directive.d.ts +19 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-menubar.mjs","sources":["../../../packages/primitives/menubar/src/menubar-content.directive.ts","../../../packages/primitives/menubar/src/menubar-item-checkbox.directive.ts","../../../packages/primitives/menubar/src/menubar-item-indicator.directive.ts","../../../packages/primitives/menubar/src/menubar-item-radio.directive.ts","../../../packages/primitives/menubar/src/menubar-item.directive.ts","../../../packages/primitives/menubar/src/menubar-radio-group.directive.ts","../../../packages/primitives/menubar/src/menubar-root.directive.ts","../../../packages/primitives/menubar/src/menubar-separator.directive.ts","../../../packages/primitives/menubar/src/menubar-trigger.directive.ts","../../../packages/primitives/menubar/index.ts","../../../packages/primitives/menubar/radix-ng-primitives-menubar.ts"],"sourcesContent":["import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarContent]',\n standalone: true,\n hostDirectives: [CdkMenu]\n})\nexport class RdxMenuBarContentDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarCheckboxItem]',\n standalone: true,\n hostDirectives: [CdkMenuItemCheckbox],\n host: {\n role: 'menuitemcheckbox',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemCheckboxDirective {\n private readonly cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemCheckbox.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemCheckbox.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemCheckbox.checked = this.checked();\n this.cdkMenuItemCheckbox.disabled = this.disabled();\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemIndicator]',\n standalone: true,\n host: {\n '[attr.data-state]': 'true'\n }\n})\nexport class RdxMenubarItemIndicatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemRadio]',\n standalone: true,\n hostDirectives: [CdkMenuItemRadio],\n host: {\n role: 'menuitemradio',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemRadioDirective {\n private readonly cdkMenuItemRadio = inject(CdkMenuItemRadio, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemRadio.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemRadio.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemRadio.checked = this.checked();\n this.cdkMenuItemRadio.disabled = this.disabled();\n });\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\n\nimport { RdxMenuItemDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenuBarItem]',\n standalone: true,\n hostDirectives: [{ directive: RdxMenuItemDirective, inputs: ['rdxDisabled: disabled '] }]\n})\nexport class RdxMenuBarItemDirective {\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarRadioGroup]',\n standalone: true,\n hostDirectives: [CdkMenuGroup]\n})\nexport class RdxMenubarRadioGroupDirective {}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarRoot]',\n standalone: true,\n hostDirectives: [CdkMenuBar],\n host: {\n tabindex: '0',\n '[attr.data-orientation]': 'orientation()'\n }\n})\nexport class RdxMenuBarDirective {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","import { Directive } from '@angular/core';\n\nimport { RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenubarSeparator]',\n standalone: true,\n hostDirectives: [RdxMenuSeparatorDirective]\n})\nexport class RdxMenubarSeparatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, inject, input, Input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarTrigger]',\n standalone: true,\n hostDirectives: [{ directive: CdkMenuTrigger, inputs: ['cdkMenuTriggerFor: MenuBarTrigger'] }],\n host: {\n type: 'button',\n role: 'menuitem',\n '[attr.aria-haspopup]': \"'menu'\",\n '[attr.aria-expanded]': 'cdkTrigger.isOpen()',\n '[attr.data-state]': \"cdkTrigger.isOpen() ? 'open': 'close'\",\n '[attr.data-disabled]': \"disabled() ? '' : undefined\",\n '[disabled]': 'disabled()',\n\n '(pointerdown)': 'onPointerDown($event)'\n }\n})\nexport class RdxMenuBarTriggerDirective {\n protected readonly cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n onPointerDown($event: MouseEvent) {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {\n /* empty */\n if (!this.cdkTrigger.isOpen()) {\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n $event.preventDefault();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { RdxMenuBarContentDirective } from './src/menubar-content.directive';\nimport { RdxMenubarItemCheckboxDirective } from './src/menubar-item-checkbox.directive';\nimport { RdxMenubarItemIndicatorDirective } from './src/menubar-item-indicator.directive';\nimport { RdxMenubarItemRadioDirective } from './src/menubar-item-radio.directive';\nimport { RdxMenuBarItemDirective } from './src/menubar-item.directive';\nimport { RdxMenubarRadioGroupDirective } from './src/menubar-radio-group.directive';\nimport { RdxMenuBarDirective } from './src/menubar-root.directive';\nimport { RdxMenubarSeparatorDirective } from './src/menubar-separator.directive';\nimport { RdxMenuBarTriggerDirective } from './src/menubar-trigger.directive';\n\nexport * from './src/menubar-content.directive';\nexport * from './src/menubar-item.directive';\nexport * from './src/menubar-item-checkbox.directive';\nexport * from './src/menubar-item-radio.directive';\nexport * from './src/menubar-radio-group.directive';\nexport * from './src/menubar-item-indicator.directive';\nexport * from './src/menubar-root.directive';\nexport * from './src/menubar-separator.directive';\nexport * from './src/menubar-trigger.directive';\n\nconst menubarImports = [\n RdxMenuBarContentDirective,\n RdxMenuBarTriggerDirective,\n RdxMenubarSeparatorDirective,\n RdxMenubarItemCheckboxDirective,\n RdxMenuBarDirective,\n RdxMenuBarItemDirective,\n RdxMenubarItemIndicatorDirective,\n RdxMenubarItemRadioDirective,\n RdxMenubarRadioGroupDirective\n];\n\n@NgModule({\n imports: [...menubarImports],\n exports: [...menubarImports]\n})\nexport class MenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-menubar.mjs","sources":["../../../packages/primitives/menubar/src/menubar-content.directive.ts","../../../packages/primitives/menubar/src/menubar-item-checkbox.directive.ts","../../../packages/primitives/menubar/src/menubar-item-indicator.directive.ts","../../../packages/primitives/menubar/src/menubar-item-radio.directive.ts","../../../packages/primitives/menubar/src/menubar-item.directive.ts","../../../packages/primitives/menubar/src/menubar-radio-group.directive.ts","../../../packages/primitives/menubar/src/menubar-root.directive.ts","../../../packages/primitives/menubar/src/menubar-separator.directive.ts","../../../packages/primitives/menubar/src/menubar-trigger.directive.ts","../../../packages/primitives/menubar/index.ts","../../../packages/primitives/menubar/radix-ng-primitives-menubar.ts"],"sourcesContent":["import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarContent]',\n standalone: true,\n hostDirectives: [CdkMenu]\n})\nexport class RdxMenuBarContentDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarCheckboxItem]',\n standalone: true,\n hostDirectives: [CdkMenuItemCheckbox],\n host: {\n role: 'menuitemcheckbox',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemCheckboxDirective {\n private readonly cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemCheckbox.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemCheckbox.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemCheckbox.checked = this.checked();\n this.cdkMenuItemCheckbox.disabled = this.disabled();\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemIndicator]',\n standalone: true,\n host: {\n '[attr.data-state]': 'true'\n }\n})\nexport class RdxMenubarItemIndicatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemRadio]',\n standalone: true,\n hostDirectives: [CdkMenuItemRadio],\n host: {\n role: 'menuitemradio',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemRadioDirective {\n private readonly cdkMenuItemRadio = inject(CdkMenuItemRadio, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemRadio.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemRadio.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemRadio.checked = this.checked();\n this.cdkMenuItemRadio.disabled = this.disabled();\n });\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\n\nimport { RdxMenuItemDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenuBarItem]',\n standalone: true,\n hostDirectives: [{ directive: RdxMenuItemDirective, inputs: ['rdxDisabled: disabled '] }]\n})\nexport class RdxMenuBarItemDirective {\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarRadioGroup]',\n standalone: true,\n hostDirectives: [CdkMenuGroup]\n})\nexport class RdxMenubarRadioGroupDirective {}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarRoot]',\n standalone: true,\n hostDirectives: [CdkMenuBar],\n host: {\n tabindex: '0',\n '[attr.data-orientation]': 'orientation()'\n }\n})\nexport class RdxMenuBarDirective {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","import { Directive } from '@angular/core';\n\nimport { RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenubarSeparator]',\n standalone: true,\n hostDirectives: [RdxMenuSeparatorDirective]\n})\nexport class RdxMenubarSeparatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, inject, input, Input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarTrigger]',\n standalone: true,\n hostDirectives: [{ directive: CdkMenuTrigger, inputs: ['cdkMenuTriggerFor: MenuBarTrigger'] }],\n host: {\n type: 'button',\n role: 'menuitem',\n '[attr.aria-haspopup]': \"'menu'\",\n '[attr.aria-expanded]': 'cdkTrigger.isOpen()',\n '[attr.data-state]': \"cdkTrigger.isOpen() ? 'open': 'closed'\",\n '[attr.data-disabled]': \"disabled() ? '' : undefined\",\n '[disabled]': 'disabled()',\n\n '(pointerdown)': 'onPointerDown($event)'\n }\n})\nexport class RdxMenuBarTriggerDirective {\n protected readonly cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n onPointerDown($event: MouseEvent) {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {\n /* empty */\n if (!this.cdkTrigger.isOpen()) {\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n $event.preventDefault();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { RdxMenuBarContentDirective } from './src/menubar-content.directive';\nimport { RdxMenubarItemCheckboxDirective } from './src/menubar-item-checkbox.directive';\nimport { RdxMenubarItemIndicatorDirective } from './src/menubar-item-indicator.directive';\nimport { RdxMenubarItemRadioDirective } from './src/menubar-item-radio.directive';\nimport { RdxMenuBarItemDirective } from './src/menubar-item.directive';\nimport { RdxMenubarRadioGroupDirective } from './src/menubar-radio-group.directive';\nimport { RdxMenuBarDirective } from './src/menubar-root.directive';\nimport { RdxMenubarSeparatorDirective } from './src/menubar-separator.directive';\nimport { RdxMenuBarTriggerDirective } from './src/menubar-trigger.directive';\n\nexport * from './src/menubar-content.directive';\nexport * from './src/menubar-item.directive';\nexport * from './src/menubar-item-checkbox.directive';\nexport * from './src/menubar-item-radio.directive';\nexport * from './src/menubar-radio-group.directive';\nexport * from './src/menubar-item-indicator.directive';\nexport * from './src/menubar-root.directive';\nexport * from './src/menubar-separator.directive';\nexport * from './src/menubar-trigger.directive';\n\nconst menubarImports = [\n RdxMenuBarContentDirective,\n RdxMenuBarTriggerDirective,\n RdxMenubarSeparatorDirective,\n RdxMenubarItemCheckboxDirective,\n RdxMenuBarDirective,\n RdxMenuBarItemDirective,\n RdxMenubarItemIndicatorDirective,\n RdxMenubarItemRadioDirective,\n RdxMenubarRadioGroupDirective\n];\n\n@NgModule({\n imports: [...menubarImports],\n exports: [...menubarImports]\n})\nexport class MenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
@@ -124,7 +124,6 @@ class RdxRadioItemDirective {
|
|
124
124
|
this.radioGroup.select(this.value);
|
125
125
|
}
|
126
126
|
_onClick() {
|
127
|
-
console.log('click');
|
128
127
|
this.radioGroup.select(this.value);
|
129
128
|
}
|
130
129
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxRadioItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-radio.mjs","sources":["../../../packages/primitives/radio/src/radio-root.directive.ts","../../../packages/primitives/radio/src/radio-item.directive.ts","../../../packages/primitives/radio/src/radio-indicator.directive.ts","../../../packages/primitives/radio/radix-ng-primitives-radio.ts"],"sourcesContent":["import {\n booleanAttribute,\n Directive,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';\n\nexport const RdxRadioGroupToken = new InjectionToken<RdxRadioGroupDirective>('RdxRadioGroupToken');\n\nexport function injectRadioGroup(): RdxRadioGroupDirective {\n return inject(RdxRadioGroupToken);\n}\n\ninterface RadioGroupProps {\n name?: string;\n disabled?: boolean;\n // TODO: dir?: string;\n // TODO: loop?: string;\n defaultValue?: string;\n value?: string;\n onValueChange?: EventEmitter<string>;\n}\n\n@Directive({\n selector: 'div[RadioRoot]',\n exportAs: 'RadioRoot',\n standalone: true,\n providers: [\n { provide: RdxRadioGroupToken, useExisting: RdxRadioGroupDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }\n ],\n hostDirectives: [RdxRovingFocusGroupDirective],\n host: {\n role: 'radiogroup',\n '[attr.aria-orientation]': '_orientation',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.dir]': 'dir',\n\n '(focusout)': '_onFocusout()'\n }\n})\nexport class RdxRadioGroupDirective implements RadioGroupProps, ControlValueAccessor {\n @Input() value?: string;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Input() dir?: string;\n\n /**\n * The orientation of the radio group only vertical.\n * Horizontal radio buttons can sometimes be challenging to scan and localize.\n * The horizontal arrangement of radio buttons may also lead to difficulties in determining which\n * label corresponds to which button: whether the label is above or below the button.\n * @default 'vertical'\n */\n readonly _orientation = 'vertical';\n\n /**\n * Event handler called when the value changes.\n */\n @Output() readonly onValueChange = new EventEmitter<string>();\n\n /**\n * The callback function to call when the value of the radio group changes.\n * @internal\n */\n private onChange?: (value: string) => void;\n\n /**\n * The callback function to call when the radio group is touched.\n * @internal\n */\n private onTouched?: () => void;\n\n /**\n * Select a radio item.\n * @param value The value of the radio item to select.\n */\n select(value: string): void {\n this.value = value;\n this.onValueChange.emit(value);\n this.onChange?.(value);\n }\n\n /**\n * Update the value of the radio group.\n * @param value The new value of the radio group.\n * @internal\n */\n writeValue(value: string): void {\n this.value = value;\n }\n\n /**\n * Register a callback function to call when the value of the radio group changes.\n * @param fn The callback function to call when the value of the radio group changes.\n * @internal\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Set the disabled state of the radio group.\n * @param isDisabled Whether the radio group is disabled.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * When focus leaves the radio group.\n */\n _onFocusout(): void {\n this.onTouched?.();\n }\n}\n","import { booleanAttribute, Directive, inject, InjectionToken, Input } from '@angular/core';\n\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\n\nimport { injectRadioGroup } from './radio-root.directive';\n\nexport const RdxRadioItemToken = new InjectionToken<RdxRadioItemDirective>('RadioItemToken');\n\nexport function injectRadioItem(): RdxRadioItemDirective {\n return inject(RdxRadioItemToken);\n}\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n@Directive({\n selector: '[RadioItem]',\n exportAs: 'RadioItem',\n standalone: true,\n hostDirectives: [RdxRovingFocusItemDirective],\n providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }],\n host: {\n type: 'button',\n role: 'radio',\n '[attr.id]': 'id',\n '[attr.aria-checked]': 'radioGroup.value === value ? \"true\" : \"false\"',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'radioGroup.value === value ? \"checked\" : \"unchecked\"',\n\n '(focus)': '_onFocus()',\n '(click)': '_onClick()',\n '(keydown)': '_onKeydown($event)'\n }\n})\nexport class RdxRadioItemDirective {\n protected readonly radioGroup = injectRadioGroup();\n\n @Input() id = `rdx-radio-${++nextUniqueId}`;\n\n @Input({ required: true }) value!: string;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n _onKeydown(event: KeyboardEvent): void {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n _onFocus(): void {\n this.radioGroup.select(this.value);\n }\n\n _onClick(): void {\n console.log('click');\n this.radioGroup.select(this.value);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { injectRadioItem } from './radio-item.directive';\nimport { injectRadioGroup } from './radio-root.directive';\n\n@Directive({\n selector: '[RadioIndicator]',\n exportAs: 'RadioIndicator',\n standalone: true,\n host: {\n '[attr.data-state]': 'radioGroup.value === this.radioItem.value ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'radioItem.disabled ? \"\" : null'\n }\n})\nexport class RdxRadioIndicatorDirective {\n protected readonly radioGroup = injectRadioGroup();\n\n protected readonly radioItem = injectRadioItem();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-radio.mjs","sources":["../../../packages/primitives/radio/src/radio-root.directive.ts","../../../packages/primitives/radio/src/radio-item.directive.ts","../../../packages/primitives/radio/src/radio-indicator.directive.ts","../../../packages/primitives/radio/radix-ng-primitives-radio.ts"],"sourcesContent":["import {\n booleanAttribute,\n Directive,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';\n\nexport const RdxRadioGroupToken = new InjectionToken<RdxRadioGroupDirective>('RdxRadioGroupToken');\n\nexport function injectRadioGroup(): RdxRadioGroupDirective {\n return inject(RdxRadioGroupToken);\n}\n\ninterface RadioGroupProps {\n name?: string;\n disabled?: boolean;\n // TODO: dir?: string;\n // TODO: loop?: string;\n defaultValue?: string;\n value?: string;\n onValueChange?: EventEmitter<string>;\n}\n\n@Directive({\n selector: 'div[RadioRoot]',\n exportAs: 'RadioRoot',\n standalone: true,\n providers: [\n { provide: RdxRadioGroupToken, useExisting: RdxRadioGroupDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }\n ],\n hostDirectives: [RdxRovingFocusGroupDirective],\n host: {\n role: 'radiogroup',\n '[attr.aria-orientation]': '_orientation',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.dir]': 'dir',\n\n '(focusout)': '_onFocusout()'\n }\n})\nexport class RdxRadioGroupDirective implements RadioGroupProps, ControlValueAccessor {\n @Input() value?: string;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Input() dir?: string;\n\n /**\n * The orientation of the radio group only vertical.\n * Horizontal radio buttons can sometimes be challenging to scan and localize.\n * The horizontal arrangement of radio buttons may also lead to difficulties in determining which\n * label corresponds to which button: whether the label is above or below the button.\n * @default 'vertical'\n */\n readonly _orientation = 'vertical';\n\n /**\n * Event handler called when the value changes.\n */\n @Output() readonly onValueChange = new EventEmitter<string>();\n\n /**\n * The callback function to call when the value of the radio group changes.\n * @internal\n */\n private onChange?: (value: string) => void;\n\n /**\n * The callback function to call when the radio group is touched.\n * @internal\n */\n private onTouched?: () => void;\n\n /**\n * Select a radio item.\n * @param value The value of the radio item to select.\n */\n select(value: string): void {\n this.value = value;\n this.onValueChange.emit(value);\n this.onChange?.(value);\n }\n\n /**\n * Update the value of the radio group.\n * @param value The new value of the radio group.\n * @internal\n */\n writeValue(value: string): void {\n this.value = value;\n }\n\n /**\n * Register a callback function to call when the value of the radio group changes.\n * @param fn The callback function to call when the value of the radio group changes.\n * @internal\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Set the disabled state of the radio group.\n * @param isDisabled Whether the radio group is disabled.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * When focus leaves the radio group.\n */\n _onFocusout(): void {\n this.onTouched?.();\n }\n}\n","import { booleanAttribute, Directive, inject, InjectionToken, Input } from '@angular/core';\n\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\n\nimport { injectRadioGroup } from './radio-root.directive';\n\nexport const RdxRadioItemToken = new InjectionToken<RdxRadioItemDirective>('RadioItemToken');\n\nexport function injectRadioItem(): RdxRadioItemDirective {\n return inject(RdxRadioItemToken);\n}\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n@Directive({\n selector: '[RadioItem]',\n exportAs: 'RadioItem',\n standalone: true,\n hostDirectives: [RdxRovingFocusItemDirective],\n providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }],\n host: {\n type: 'button',\n role: 'radio',\n '[attr.id]': 'id',\n '[attr.aria-checked]': 'radioGroup.value === value ? \"true\" : \"false\"',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'radioGroup.value === value ? \"checked\" : \"unchecked\"',\n\n '(focus)': '_onFocus()',\n '(click)': '_onClick()',\n '(keydown)': '_onKeydown($event)'\n }\n})\nexport class RdxRadioItemDirective {\n protected readonly radioGroup = injectRadioGroup();\n\n @Input() id = `rdx-radio-${++nextUniqueId}`;\n\n @Input({ required: true }) value!: string;\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n _onKeydown(event: KeyboardEvent): void {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n _onFocus(): void {\n this.radioGroup.select(this.value);\n }\n\n _onClick(): void {\n this.radioGroup.select(this.value);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { injectRadioItem } from './radio-item.directive';\nimport { injectRadioGroup } from './radio-root.directive';\n\n@Directive({\n selector: '[RadioIndicator]',\n exportAs: 'RadioIndicator',\n standalone: true,\n host: {\n '[attr.data-state]': 'radioGroup.value === this.radioItem.value ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'radioItem.disabled ? \"\" : null'\n }\n})\nexport class RdxRadioIndicatorDirective {\n protected readonly radioGroup = injectRadioGroup();\n\n protected readonly radioItem = injectRadioItem();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,39 +1,68 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, inject,
|
2
|
+
import { InjectionToken, inject, input, computed, booleanAttribute, model, EventEmitter, Directive, Output } from '@angular/core';
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
4
4
|
|
5
5
|
const RdxSwitchToken = new InjectionToken('RdxSwitchToken');
|
6
6
|
function injectSwitch() {
|
7
7
|
return inject(RdxSwitchToken);
|
8
8
|
}
|
9
|
+
let idIterator = 0;
|
9
10
|
class RdxSwitchRootDirective {
|
10
11
|
constructor() {
|
11
|
-
this.
|
12
|
+
this.id = input(`rdx-switch-${idIterator++}`);
|
13
|
+
this.elementId = computed(() => (this.id() ? this.id() : null));
|
14
|
+
// When true, indicates that the user must check
|
15
|
+
// the switch before the owning form can be submitted.
|
16
|
+
this.required = input(false, {
|
17
|
+
transform: booleanAttribute
|
18
|
+
});
|
19
|
+
// The controlled state of the switch
|
12
20
|
this.checked = model(false);
|
13
|
-
|
21
|
+
// When true, prevents the user from interacting with the switch.
|
22
|
+
this.disabled = input(false, {
|
23
|
+
transform: booleanAttribute
|
24
|
+
});
|
25
|
+
/*
|
26
|
+
* @ignore
|
27
|
+
*/
|
28
|
+
this.disabledState = computed(() => this.disabled());
|
14
29
|
this.onCheckedChange = new EventEmitter();
|
15
30
|
}
|
31
|
+
/**
|
32
|
+
* Registers a function to call when the checked state changes.
|
33
|
+
* @param fn Function to call on change.
|
34
|
+
*/
|
16
35
|
registerOnChange(fn) {
|
17
36
|
this._onChange = fn;
|
18
37
|
}
|
38
|
+
/**
|
39
|
+
* Registers a function to call when the component is touched.
|
40
|
+
* @param fn Function to call on touch.
|
41
|
+
*/
|
19
42
|
registerOnTouched(fn) {
|
20
43
|
this._onTouched = fn;
|
21
44
|
}
|
45
|
+
/**
|
46
|
+
* Writes a new value to the model.
|
47
|
+
* @param checked The new checked value.
|
48
|
+
*/
|
22
49
|
writeValue(checked) {
|
23
50
|
this.checked.set(checked);
|
24
51
|
}
|
25
|
-
|
26
|
-
|
27
|
-
|
52
|
+
/**
|
53
|
+
* Toggles the checked state of the switch.
|
54
|
+
* If the switch is disabled, the function returns early.
|
55
|
+
*/
|
28
56
|
toggle() {
|
29
|
-
if (this.
|
57
|
+
if (this.disabledState()) {
|
30
58
|
return;
|
31
59
|
}
|
32
60
|
this.checked.set(!this.checked());
|
33
61
|
this._onChange?.(this.checked());
|
62
|
+
this.onCheckedChange.emit(this.checked());
|
34
63
|
}
|
35
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxSwitchRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
36
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxSwitchRootDirective, isStandalone: true, selector: "button[SwitchRoot]", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal:
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxSwitchRootDirective, isStandalone: true, selector: "button[SwitchRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onCheckedChange: "onCheckedChange" }, host: { attributes: { "role": "switch", "type": "button" }, listeners: { "focus": "_onTouched?.()", "click": "toggle()" }, properties: { "id": "elementId()", "attr.aria-checked": "checked()", "attr.aria-required": "required", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "disabledState() ? \"true\" : null", "attr.disabled": "disabledState() ? disabledState() : null" } }, providers: [
|
37
66
|
{ provide: RdxSwitchToken, useExisting: RdxSwitchRootDirective },
|
38
67
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxSwitchRootDirective, multi: true }
|
39
68
|
], exportAs: ["SwitchRoot"], ngImport: i0 }); }
|
@@ -51,22 +80,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
51
80
|
host: {
|
52
81
|
role: 'switch',
|
53
82
|
type: 'button',
|
83
|
+
'[id]': 'elementId()',
|
54
84
|
'[attr.aria-checked]': 'checked()',
|
55
85
|
'[attr.aria-required]': 'required',
|
56
86
|
'[attr.data-state]': 'checked() ? "checked" : "unchecked"',
|
57
|
-
'[attr.data-disabled]': '
|
58
|
-
'[attr.disabled]': '
|
87
|
+
'[attr.data-disabled]': 'disabledState() ? "true" : null',
|
88
|
+
'[attr.disabled]': 'disabledState() ? disabledState() : null',
|
59
89
|
'(focus)': '_onTouched?.()',
|
60
90
|
'(click)': 'toggle()'
|
61
91
|
}
|
62
92
|
}]
|
63
|
-
}], propDecorators: {
|
64
|
-
type: Input,
|
65
|
-
args: [{ transform: booleanAttribute }]
|
66
|
-
}], disabled: [{
|
67
|
-
type: Input,
|
68
|
-
args: [{ transform: booleanAttribute }]
|
69
|
-
}], onCheckedChange: [{
|
93
|
+
}], propDecorators: { onCheckedChange: [{
|
70
94
|
type: Output
|
71
95
|
}] } });
|
72
96
|
|
@@ -75,7 +99,7 @@ class RdxSwitchThumbDirective {
|
|
75
99
|
this.switchRoot = injectSwitch();
|
76
100
|
}
|
77
101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxSwitchThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
78
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxSwitchThumbDirective, isStandalone: true, selector: "span[SwitchThumb]", host: { properties: { "attr.data-disabled": "switchRoot.
|
102
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxSwitchThumbDirective, isStandalone: true, selector: "span[SwitchThumb]", host: { properties: { "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"" } }, exportAs: ["SwitchThumb"], ngImport: i0 }); }
|
79
103
|
}
|
80
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxSwitchThumbDirective, decorators: [{
|
81
105
|
type: Directive,
|
@@ -84,7 +108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
84
108
|
exportAs: 'SwitchThumb',
|
85
109
|
standalone: true,
|
86
110
|
host: {
|
87
|
-
'[attr.data-disabled]': 'switchRoot.
|
111
|
+
'[attr.data-disabled]': 'switchRoot.disabledState() ? "true" : null',
|
88
112
|
'[attr.data-state]': 'switchRoot.checked() ? "checked" : "unchecked"'
|
89
113
|
}
|
90
114
|
}]
|
@@ -95,7 +119,7 @@ class RdxSwitchInputDirective {
|
|
95
119
|
this.switchRoot = injectSwitch();
|
96
120
|
}
|
97
121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxSwitchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
98
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxSwitchInputDirective, isStandalone: true, selector: "input[SwitchInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.aria-checked": "switchRoot.checked()", "attr.aria-hidden": "true", "attr.aria-required": "switchRoot.required", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switchRoot.
|
122
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxSwitchInputDirective, isStandalone: true, selector: "input[SwitchInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.defaultChecked": "switchRoot.checked()", "attr.aria-checked": "switchRoot.checked()", "attr.aria-hidden": "true", "attr.aria-required": "switchRoot.required()", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.disabled": "switchRoot.disabledState() ? switchRoot.disabledState() : null", "attr.value": "switchRoot.checked() ? \"on\" : \"off\"" }, styleAttribute: "transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;" }, exportAs: ["SwitchInput"], ngImport: i0 }); }
|
99
123
|
}
|
100
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxSwitchInputDirective, decorators: [{
|
101
125
|
type: Directive,
|
@@ -106,13 +130,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
106
130
|
host: {
|
107
131
|
type: 'checkbox',
|
108
132
|
tabindex: '-1',
|
133
|
+
'[attr.defaultChecked]': 'switchRoot.checked()',
|
109
134
|
'[attr.aria-checked]': 'switchRoot.checked()',
|
110
135
|
'[attr.aria-hidden]': 'true',
|
111
|
-
'[attr.aria-required]': 'switchRoot.required',
|
136
|
+
'[attr.aria-required]': 'switchRoot.required()',
|
112
137
|
'[attr.data-state]': 'switchRoot.checked() ? "checked" : "unchecked"',
|
113
|
-
'[attr.data-disabled]': 'switchRoot.
|
114
|
-
'[attr.disabled]': 'switchRoot.
|
115
|
-
|
138
|
+
'[attr.data-disabled]': 'switchRoot.disabledState() ? "true" : null',
|
139
|
+
'[attr.disabled]': 'switchRoot.disabledState() ? switchRoot.disabledState() : null',
|
140
|
+
'[attr.value]': 'switchRoot.checked() ? "on" : "off"',
|
141
|
+
style: 'transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;'
|
116
142
|
}
|
117
143
|
}]
|
118
144
|
}] });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-switch.mjs","sources":["../../../packages/primitives/switch/src/switch-root.directive.ts","../../../packages/primitives/switch/src/switch-thumb.directive.ts","../../../packages/primitives/switch/src/switch-input.directive.ts","../../../packages/primitives/switch/radix-ng-primitives-switch.ts"],"sourcesContent":["import {\n booleanAttribute,\n Directive,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n model,\n ModelSignal,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RdxSwitchToken = new InjectionToken<RdxSwitchRootDirective>('RdxSwitchToken');\n\nexport function injectSwitch(): RdxSwitchRootDirective {\n return inject(RdxSwitchToken);\n}\n\nexport interface SwitchProps {\n checked?: ModelSignal<boolean>;\n defaultChecked?: boolean;\n required?: boolean;\n onCheckedChange?: EventEmitter<boolean>;\n}\n\n@Directive({\n selector: 'button[SwitchRoot]',\n exportAs: 'SwitchRoot',\n standalone: true,\n providers: [\n { provide: RdxSwitchToken, useExisting: RdxSwitchRootDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxSwitchRootDirective, multi: true }\n ],\n host: {\n role: 'switch',\n type: 'button',\n '[attr.aria-checked]': 'checked()',\n '[attr.aria-required]': 'required',\n '[attr.data-state]': 'checked() ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'disabled ? \"true\" : null',\n '[attr.disabled]': 'disabled ? disabled : null',\n\n '(focus)': '_onTouched?.()',\n '(click)': 'toggle()'\n }\n})\nexport class RdxSwitchRootDirective implements SwitchProps, ControlValueAccessor {\n @Input({ transform: booleanAttribute }) required = false;\n\n readonly checked = model<boolean>(false);\n\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Output() readonly onCheckedChange = new EventEmitter<boolean>();\n\n /**\n * The method to be called in order to update ngModel.\n */\n _onChange?: (checked: boolean) => void;\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n */\n _onTouched?: () => void;\n\n registerOnChange(fn: (checked: boolean) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n writeValue(checked: boolean): void {\n this.checked.set(checked);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n protected toggle(): void {\n if (this.disabled) {\n return;\n }\n\n this.checked.set(!this.checked());\n this._onChange?.(this.checked());\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { injectSwitch } from './switch-root.directive';\n\n@Directive({\n selector: 'span[SwitchThumb]',\n exportAs: 'SwitchThumb',\n standalone: true,\n host: {\n '[attr.data-disabled]': 'switchRoot.disabled ? \"true\" : null',\n '[attr.data-state]': 'switchRoot.checked() ? \"checked\" : \"unchecked\"'\n }\n})\nexport class RdxSwitchThumbDirective {\n protected readonly switchRoot = injectSwitch();\n}\n","import { Directive } from '@angular/core';\n\nimport { injectSwitch } from './switch-root.directive';\n\n@Directive({\n selector: 'input[SwitchInput]',\n exportAs: 'SwitchInput',\n standalone: true,\n host: {\n type: 'checkbox',\n tabindex: '-1',\n '[attr.aria-checked]': 'switchRoot.checked()',\n '[attr.aria-hidden]': 'true',\n '[attr.aria-required]': 'switchRoot.required',\n '[attr.data-state]': 'switchRoot.checked() ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'switchRoot.disabled ? \"true\" : null',\n '[attr.disabled]': 'switchRoot.disabled ? switchRoot.disabled : null',\n style: 'position: absolute; pointerEvents: none; opacity: 0; margin: 0;'\n }\n})\nexport class RdxSwitchInputDirective {\n protected readonly switchRoot = injectSwitch();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-switch.mjs","sources":["../../../packages/primitives/switch/src/switch-root.directive.ts","../../../packages/primitives/switch/src/switch-thumb.directive.ts","../../../packages/primitives/switch/src/switch-input.directive.ts","../../../packages/primitives/switch/radix-ng-primitives-switch.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n EventEmitter,\n inject,\n InjectionToken,\n input,\n InputSignalWithTransform,\n model,\n ModelSignal,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RdxSwitchToken = new InjectionToken<RdxSwitchRootDirective>('RdxSwitchToken');\n\nexport function injectSwitch(): RdxSwitchRootDirective {\n return inject(RdxSwitchToken);\n}\n\nexport interface SwitchProps {\n checked?: ModelSignal<boolean>;\n defaultChecked?: boolean;\n required?: InputSignalWithTransform<boolean, BooleanInput>;\n onCheckedChange?: EventEmitter<boolean>;\n}\n\nlet idIterator = 0;\n\n@Directive({\n selector: 'button[SwitchRoot]',\n exportAs: 'SwitchRoot',\n standalone: true,\n providers: [\n { provide: RdxSwitchToken, useExisting: RdxSwitchRootDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxSwitchRootDirective, multi: true }\n ],\n host: {\n role: 'switch',\n type: 'button',\n '[id]': 'elementId()',\n '[attr.aria-checked]': 'checked()',\n '[attr.aria-required]': 'required',\n '[attr.data-state]': 'checked() ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'disabledState() ? \"true\" : null',\n '[attr.disabled]': 'disabledState() ? disabledState() : null',\n\n '(focus)': '_onTouched?.()',\n '(click)': 'toggle()'\n }\n})\nexport class RdxSwitchRootDirective implements SwitchProps, ControlValueAccessor {\n readonly id = input<string>(`rdx-switch-${idIterator++}`);\n protected readonly elementId = computed(() => (this.id() ? this.id() : null));\n\n // When true, indicates that the user must check\n // the switch before the owning form can be submitted.\n readonly required = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n // The controlled state of the switch\n readonly checked = model<boolean>(false);\n\n // When true, prevents the user from interacting with the switch.\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n /*\n * @ignore\n */\n readonly disabledState = computed(() => this.disabled());\n\n @Output() onCheckedChange = new EventEmitter<boolean>();\n\n /**\n * The method to be called in order to update ngModel.\n */\n _onChange?: (checked: boolean) => void;\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n */\n _onTouched?: () => void;\n\n /**\n * Registers a function to call when the checked state changes.\n * @param fn Function to call on change.\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a function to call when the component is touched.\n * @param fn Function to call on touch.\n */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /**\n * Writes a new value to the model.\n * @param checked The new checked value.\n */\n writeValue(checked: boolean): void {\n this.checked.set(checked);\n }\n\n /**\n * Toggles the checked state of the switch.\n * If the switch is disabled, the function returns early.\n */\n protected toggle(): void {\n if (this.disabledState()) {\n return;\n }\n\n this.checked.set(!this.checked());\n this._onChange?.(this.checked());\n\n this.onCheckedChange.emit(this.checked());\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { injectSwitch } from './switch-root.directive';\n\n@Directive({\n selector: 'span[SwitchThumb]',\n exportAs: 'SwitchThumb',\n standalone: true,\n host: {\n '[attr.data-disabled]': 'switchRoot.disabledState() ? \"true\" : null',\n '[attr.data-state]': 'switchRoot.checked() ? \"checked\" : \"unchecked\"'\n }\n})\nexport class RdxSwitchThumbDirective {\n protected readonly switchRoot = injectSwitch();\n}\n","import { Directive } from '@angular/core';\n\nimport { injectSwitch } from './switch-root.directive';\n\n@Directive({\n selector: 'input[SwitchInput]',\n exportAs: 'SwitchInput',\n standalone: true,\n host: {\n type: 'checkbox',\n tabindex: '-1',\n '[attr.defaultChecked]': 'switchRoot.checked()',\n '[attr.aria-checked]': 'switchRoot.checked()',\n '[attr.aria-hidden]': 'true',\n '[attr.aria-required]': 'switchRoot.required()',\n '[attr.data-state]': 'switchRoot.checked() ? \"checked\" : \"unchecked\"',\n '[attr.data-disabled]': 'switchRoot.disabledState() ? \"true\" : null',\n '[attr.disabled]': 'switchRoot.disabledState() ? switchRoot.disabledState() : null',\n '[attr.value]': 'switchRoot.checked() ? \"on\" : \"off\"',\n style: 'transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;'\n }\n})\nexport class RdxSwitchInputDirective {\n protected readonly switchRoot = injectSwitch();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,222 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { InjectionToken, signal, computed, Injectable, inject, input, Directive, EventEmitter, effect, Input, Output, booleanAttribute, NgModule } from '@angular/core';
|
3
|
+
|
4
|
+
const TABS_CONTEXT_TOKEN = new InjectionToken('TabsContext');
|
5
|
+
class RdxTabsContextService {
|
6
|
+
constructor() {
|
7
|
+
this.baseId = this.generateId();
|
8
|
+
this.value = signal(undefined);
|
9
|
+
this.orientation = signal('horizontal');
|
10
|
+
this.dir = signal(undefined);
|
11
|
+
this.activationMode = signal('automatic');
|
12
|
+
this.value$ = computed(() => this.value());
|
13
|
+
this.orientation$ = computed(() => this.orientation());
|
14
|
+
this.dir$ = computed(() => this.dir());
|
15
|
+
this.activationMode$ = computed(() => this.activationMode());
|
16
|
+
}
|
17
|
+
setValue(value) {
|
18
|
+
this.value.set(value);
|
19
|
+
}
|
20
|
+
setOrientation(orientation) {
|
21
|
+
this.orientation.set(orientation);
|
22
|
+
}
|
23
|
+
setDir(dir) {
|
24
|
+
this.dir.set(dir);
|
25
|
+
}
|
26
|
+
setActivationMode(mode) {
|
27
|
+
this.activationMode.set(mode);
|
28
|
+
}
|
29
|
+
getBaseId() {
|
30
|
+
return this.baseId;
|
31
|
+
}
|
32
|
+
generateId() {
|
33
|
+
return `tabs-${Math.random().toString(36).substr(2, 9)}`;
|
34
|
+
}
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsContextService, providedIn: 'root' }); }
|
37
|
+
}
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsContextService, decorators: [{
|
39
|
+
type: Injectable,
|
40
|
+
args: [{
|
41
|
+
providedIn: 'root'
|
42
|
+
}]
|
43
|
+
}] });
|
44
|
+
|
45
|
+
class RdxTabsContentDirective {
|
46
|
+
constructor() {
|
47
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
48
|
+
this.value = input.required();
|
49
|
+
this.selected = computed(() => this.tabsContext.value$() === this.value());
|
50
|
+
}
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxTabsContentDirective, isStandalone: true, selector: "[TabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "id": "tabsContext.getBaseId()", "attr.aria-labelledby": "tabsContext.getBaseId()", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabsContext.orientation$()", "hidden": "!selected()" } }, ngImport: i0 }); }
|
53
|
+
}
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsContentDirective, decorators: [{
|
55
|
+
type: Directive,
|
56
|
+
args: [{
|
57
|
+
selector: '[TabsContent]',
|
58
|
+
standalone: true,
|
59
|
+
host: {
|
60
|
+
role: 'tabpanel',
|
61
|
+
tabindex: '0',
|
62
|
+
'[id]': 'tabsContext.getBaseId()',
|
63
|
+
'[attr.aria-labelledby]': 'tabsContext.getBaseId()',
|
64
|
+
'[attr.data-state]': 'selected() ? "active" : "inactive"',
|
65
|
+
'[attr.data-orientation]': 'tabsContext.orientation$()',
|
66
|
+
'[hidden]': '!selected()'
|
67
|
+
}
|
68
|
+
}]
|
69
|
+
}] });
|
70
|
+
|
71
|
+
class RdxTabsListDirective {
|
72
|
+
constructor() {
|
73
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
74
|
+
}
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxTabsListDirective, isStandalone: true, selector: "[TabsList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabsContext.orientation$()", "attr.data-orientation": "tabsContext.orientation$()" } }, ngImport: i0 }); }
|
77
|
+
}
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsListDirective, decorators: [{
|
79
|
+
type: Directive,
|
80
|
+
args: [{
|
81
|
+
selector: '[TabsList]',
|
82
|
+
standalone: true,
|
83
|
+
host: {
|
84
|
+
role: 'tablist',
|
85
|
+
'[attr.aria-orientation]': 'tabsContext.orientation$()',
|
86
|
+
'[attr.data-orientation]': 'tabsContext.orientation$()'
|
87
|
+
}
|
88
|
+
}]
|
89
|
+
}] });
|
90
|
+
|
91
|
+
class RdxTabsRootDirective {
|
92
|
+
constructor() {
|
93
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
94
|
+
this.orientation = 'horizontal';
|
95
|
+
// Event handler called when the value changes.
|
96
|
+
this.onValueChange = new EventEmitter();
|
97
|
+
effect(() => {
|
98
|
+
const value = this.tabsContext.value$();
|
99
|
+
if (value !== undefined) {
|
100
|
+
this.onValueChange.emit(value);
|
101
|
+
}
|
102
|
+
});
|
103
|
+
}
|
104
|
+
ngOnInit() {
|
105
|
+
this.tabsContext.setOrientation(this.orientation);
|
106
|
+
if (this.dir) {
|
107
|
+
this.tabsContext.setDir(this.dir);
|
108
|
+
}
|
109
|
+
if (this.value) {
|
110
|
+
this.tabsContext.setValue(this.value);
|
111
|
+
}
|
112
|
+
else if (this.defaultValue) {
|
113
|
+
this.tabsContext.setValue(this.defaultValue);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
117
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxTabsRootDirective, isStandalone: true, selector: "[TabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
|
118
|
+
}
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
|
120
|
+
type: Directive,
|
121
|
+
args: [{
|
122
|
+
selector: '[TabsRoot]',
|
123
|
+
standalone: true,
|
124
|
+
providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }],
|
125
|
+
host: {
|
126
|
+
'[attr.data-orientation]': 'orientation',
|
127
|
+
'[attr.dir]': 'dir'
|
128
|
+
}
|
129
|
+
}]
|
130
|
+
}], ctorParameters: () => [], propDecorators: { value: [{
|
131
|
+
type: Input
|
132
|
+
}], defaultValue: [{
|
133
|
+
type: Input
|
134
|
+
}], orientation: [{
|
135
|
+
type: Input
|
136
|
+
}], dir: [{
|
137
|
+
type: Input
|
138
|
+
}], onValueChange: [{
|
139
|
+
type: Output
|
140
|
+
}] } });
|
141
|
+
|
142
|
+
class RdxTabsTriggerDirective {
|
143
|
+
constructor() {
|
144
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
145
|
+
// A unique value that associates the trigger with a content.
|
146
|
+
this.value = input.required();
|
147
|
+
// When true, prevents the user from interacting with the tab.
|
148
|
+
this.disabled = input(false, {
|
149
|
+
transform: booleanAttribute
|
150
|
+
});
|
151
|
+
this.contentId = computed(() => `${this.tabsContext.getBaseId()}-content-${this.value()}`);
|
152
|
+
this.triggerId = computed(() => `${this.tabsContext.getBaseId()}-trigger-${this.value}`);
|
153
|
+
this.selected = computed(() => this.tabsContext.value$() === this.value());
|
154
|
+
}
|
155
|
+
onMouseDown(event) {
|
156
|
+
if (!this.disabled() && event.button === 0 && !event.ctrlKey) {
|
157
|
+
this.tabsContext?.setValue(this.value());
|
158
|
+
}
|
159
|
+
else {
|
160
|
+
// prevent focus to avoid accidental activation
|
161
|
+
event.preventDefault();
|
162
|
+
}
|
163
|
+
}
|
164
|
+
onKeyDown(event) {
|
165
|
+
if ([' ', 'Enter'].includes(event.key)) {
|
166
|
+
this.tabsContext?.setValue(this.value());
|
167
|
+
}
|
168
|
+
}
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[TabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
|
171
|
+
}
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
|
173
|
+
type: Directive,
|
174
|
+
args: [{
|
175
|
+
selector: '[TabsTrigger]',
|
176
|
+
standalone: true,
|
177
|
+
host: {
|
178
|
+
type: 'button',
|
179
|
+
role: 'tab',
|
180
|
+
'[id]': 'triggerId',
|
181
|
+
'[attr.aria-selected]': 'selected()',
|
182
|
+
'[attr.aria-controls]': 'contentId()',
|
183
|
+
'[attr.data-disabled]': "disabled() ? '' : undefined",
|
184
|
+
'[attr.data-state]': "selected() ? 'active' : 'inactive'",
|
185
|
+
'(mousedown)': 'onMouseDown($event)',
|
186
|
+
'(keydown)': 'onKeyDown($event)'
|
187
|
+
}
|
188
|
+
}]
|
189
|
+
}] });
|
190
|
+
|
191
|
+
const tabsImports = [
|
192
|
+
RdxTabsRootDirective,
|
193
|
+
RdxTabsContentDirective,
|
194
|
+
RdxTabsListDirective,
|
195
|
+
RdxTabsTriggerDirective
|
196
|
+
];
|
197
|
+
class RdxTabsModule {
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
199
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsModule, imports: [RdxTabsRootDirective,
|
200
|
+
RdxTabsContentDirective,
|
201
|
+
RdxTabsListDirective,
|
202
|
+
RdxTabsTriggerDirective], exports: [RdxTabsRootDirective,
|
203
|
+
RdxTabsContentDirective,
|
204
|
+
RdxTabsListDirective,
|
205
|
+
RdxTabsTriggerDirective] }); }
|
206
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsModule, providers: [RdxTabsContextService] }); }
|
207
|
+
}
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxTabsModule, decorators: [{
|
209
|
+
type: NgModule,
|
210
|
+
args: [{
|
211
|
+
imports: [...tabsImports],
|
212
|
+
exports: [...tabsImports],
|
213
|
+
providers: [RdxTabsContextService]
|
214
|
+
}]
|
215
|
+
}] });
|
216
|
+
|
217
|
+
/**
|
218
|
+
* Generated bundle index. Do not edit.
|
219
|
+
*/
|
220
|
+
|
221
|
+
export { RdxTabsContentDirective, RdxTabsContextService, RdxTabsListDirective, RdxTabsModule, RdxTabsRootDirective, RdxTabsTriggerDirective, TABS_CONTEXT_TOKEN };
|
222
|
+
//# sourceMappingURL=radix-ng-primitives-tabs.mjs.map
|