@raintonic/formaui 0.4.0 → 0.9.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/CHANGELOG.md +80 -35
- package/README.md +22 -26
- package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs +39 -41
- package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-cdk-form-field.mjs +207 -3
- package/fesm2022/raintonic-formaui-cdk-form-field.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-cdk-overlay.mjs +19 -1
- package/fesm2022/raintonic-formaui-cdk-overlay.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs +5 -12
- package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-accordion.mjs +8 -5
- package/fesm2022/raintonic-formaui-components-accordion.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-alert.mjs +16 -2
- package/fesm2022/raintonic-formaui-components-alert.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-autocomplete.mjs +255 -462
- package/fesm2022/raintonic-formaui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-avatar.mjs +34 -59
- package/fesm2022/raintonic-formaui-components-avatar.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-badge.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-badge.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-breadcrumb.mjs +4 -4
- package/fesm2022/raintonic-formaui-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-button-group.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-button-group.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-button.mjs +15 -20
- package/fesm2022/raintonic-formaui-components-button.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-card.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-card.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-checkbox.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-checkbox.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-chip.mjs +97 -0
- package/fesm2022/raintonic-formaui-components-chip.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-data-table.mjs +69 -29
- package/fesm2022/raintonic-formaui-components-data-table.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-date-picker.mjs +223 -144
- package/fesm2022/raintonic-formaui-components-date-picker.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-divider.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-divider.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-drawer.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-drawer.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-dropdown-menu.mjs +888 -0
- package/fesm2022/raintonic-formaui-components-dropdown-menu.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-dual-tier-navigation.mjs +774 -0
- package/fesm2022/raintonic-formaui-components-dual-tier-navigation.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-empty-state.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-empty-state.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-file-upload.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-file-upload.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-form-field.mjs +81 -50
- package/fesm2022/raintonic-formaui-components-form-field.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-icon.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-icon.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-input.mjs +47 -12
- package/fesm2022/raintonic-formaui-components-input.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-list.mjs +4 -4
- package/fesm2022/raintonic-formaui-components-list.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-number-input.mjs +20 -12
- package/fesm2022/raintonic-formaui-components-number-input.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-paginator.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-paginator.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-password-input.mjs +35 -110
- package/fesm2022/raintonic-formaui-components-password-input.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-popover.mjs +3 -2
- package/fesm2022/raintonic-formaui-components-popover.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-progressbar.mjs +3 -2
- package/fesm2022/raintonic-formaui-components-progressbar.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-radio.mjs +5 -6
- package/fesm2022/raintonic-formaui-components-radio.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-select.mjs +257 -412
- package/fesm2022/raintonic-formaui-components-select.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-side-panel.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-side-panel.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-sidebar-nav-menu.mjs +525 -0
- package/fesm2022/raintonic-formaui-components-sidebar-nav-menu.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-skeleton.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-skeleton.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-slider.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-slider.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-spinner.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-spinner.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-stepper.mjs +50 -45
- package/fesm2022/raintonic-formaui-components-stepper.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-strength-meter.mjs +149 -0
- package/fesm2022/raintonic-formaui-components-strength-meter.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tab.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-tab.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-time-picker.mjs +194 -154
- package/fesm2022/raintonic-formaui-components-time-picker.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-toggle-group.mjs +302 -0
- package/fesm2022/raintonic-formaui-components-toggle-group.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-toggle.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-toggle.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-toolbar.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-toolbar.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-tooltip.mjs +10 -4
- package/fesm2022/raintonic-formaui-components-tooltip.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-topbar.mjs +60 -0
- package/fesm2022/raintonic-formaui-components-topbar.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tree-select.mjs +59 -69
- package/fesm2022/raintonic-formaui-components-tree-select.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-tree-table.mjs +2 -2
- package/fesm2022/raintonic-formaui-components-tree-table.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-components-tree.mjs +31 -5
- package/fesm2022/raintonic-formaui-components-tree.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-core.mjs +279 -1
- package/fesm2022/raintonic-formaui-core.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-services-breakpoint.mjs +93 -0
- package/fesm2022/raintonic-formaui-services-breakpoint.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-services-dialog.mjs +314 -16
- package/fesm2022/raintonic-formaui-services-dialog.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-services-notification.mjs +93 -29
- package/fesm2022/raintonic-formaui-services-notification.mjs.map +1 -1
- package/fesm2022/raintonic-formaui-services-theme.mjs +46 -196
- package/fesm2022/raintonic-formaui-services-theme.mjs.map +1 -1
- package/fesm2022/raintonic-formaui.mjs +1 -1
- package/fesm2022/raintonic-formaui.mjs.map +1 -1
- package/llms-full.txt +2329 -450
- package/llms.txt +36 -33
- package/package.json +42 -19
- package/styles/fonts/Geist-Bold.woff2 +0 -0
- package/styles/fonts/Geist-Italic.woff2 +0 -0
- package/styles/fonts/Geist-Light.woff2 +0 -0
- package/styles/fonts/Geist-Medium.woff2 +0 -0
- package/styles/fonts/Geist-Regular.woff2 +0 -0
- package/styles/fonts/Geist-SemiBold.woff2 +0 -0
- package/styles/fonts/GeistMono-Regular.woff2 +0 -0
- package/styles/generated/_tokens.scss +906 -0
- package/styles/index.scss +11 -10
- package/styles/partials/_brand.scss +46 -0
- package/styles/partials/_constants.scss +22 -20
- package/styles/partials/_fonts.scss +54 -10
- package/styles/partials/_grid.scss +29 -18
- package/styles/partials/_mixins.scss +69 -27
- package/styles/partials/_motion.scss +28 -33
- package/styles/partials/_theme.scss +28 -255
- package/styles/partials/_type.scss +117 -0
- package/styles/partials/_typography.scss +45 -45
- package/styles/partials/_utilities.scss +198 -98
- package/styles/partials/components/_button.scss +144 -75
- package/styles/partials/components/_dialog.scss +181 -180
- package/styles/partials/components/_overlay.scss +87 -87
- package/styles/partials/themes/_dark.scss +3 -268
- package/styles/partials/themes/_light.scss +4 -268
- package/styles/styles.css +7744 -0
- package/styles/styles.entry.scss +3 -0
- package/styles/utilities.css +4802 -0
- package/styles/utilities.entry.scss +3 -0
- package/types/raintonic-formaui-cdk-drag-drop.d.ts +0 -1
- package/types/raintonic-formaui-cdk-drag-drop.d.ts.map +1 -1
- package/types/raintonic-formaui-cdk-form-field.d.ts +118 -2
- package/types/raintonic-formaui-cdk-form-field.d.ts.map +1 -1
- package/types/raintonic-formaui-cdk-overlay.d.ts +2 -0
- package/types/raintonic-formaui-cdk-overlay.d.ts.map +1 -1
- package/types/raintonic-formaui-cdk-virtual-scroll.d.ts +0 -1
- package/types/raintonic-formaui-cdk-virtual-scroll.d.ts.map +1 -1
- package/types/raintonic-formaui-components-accordion.d.ts +1 -1
- package/types/raintonic-formaui-components-accordion.d.ts.map +1 -1
- package/types/raintonic-formaui-components-alert.d.ts +6 -1
- package/types/raintonic-formaui-components-alert.d.ts.map +1 -1
- package/types/raintonic-formaui-components-autocomplete.d.ts +73 -116
- package/types/raintonic-formaui-components-autocomplete.d.ts.map +1 -1
- package/types/raintonic-formaui-components-avatar.d.ts +13 -31
- package/types/raintonic-formaui-components-avatar.d.ts.map +1 -1
- package/types/raintonic-formaui-components-button.d.ts +4 -10
- package/types/raintonic-formaui-components-button.d.ts.map +1 -1
- package/types/raintonic-formaui-components-chip.d.ts +43 -0
- package/types/raintonic-formaui-components-chip.d.ts.map +1 -0
- package/types/raintonic-formaui-components-data-table.d.ts +48 -11
- package/types/raintonic-formaui-components-data-table.d.ts.map +1 -1
- package/types/raintonic-formaui-components-date-picker.d.ts +59 -23
- package/types/raintonic-formaui-components-date-picker.d.ts.map +1 -1
- package/types/raintonic-formaui-components-dropdown-menu.d.ts +394 -0
- package/types/raintonic-formaui-components-dropdown-menu.d.ts.map +1 -0
- package/types/raintonic-formaui-components-dual-tier-navigation.d.ts +87 -0
- package/types/raintonic-formaui-components-dual-tier-navigation.d.ts.map +1 -0
- package/types/raintonic-formaui-components-form-field.d.ts +51 -21
- package/types/raintonic-formaui-components-form-field.d.ts.map +1 -1
- package/types/raintonic-formaui-components-input.d.ts +20 -11
- package/types/raintonic-formaui-components-input.d.ts.map +1 -1
- package/types/raintonic-formaui-components-number-input.d.ts +5 -3
- package/types/raintonic-formaui-components-number-input.d.ts.map +1 -1
- package/types/raintonic-formaui-components-password-input.d.ts +18 -32
- package/types/raintonic-formaui-components-password-input.d.ts.map +1 -1
- package/types/raintonic-formaui-components-popover.d.ts.map +1 -1
- package/types/raintonic-formaui-components-progressbar.d.ts +1 -1
- package/types/raintonic-formaui-components-progressbar.d.ts.map +1 -1
- package/types/raintonic-formaui-components-radio.d.ts +1 -2
- package/types/raintonic-formaui-components-radio.d.ts.map +1 -1
- package/types/raintonic-formaui-components-select.d.ts +107 -76
- package/types/raintonic-formaui-components-select.d.ts.map +1 -1
- package/types/raintonic-formaui-components-sidebar-nav-menu.d.ts +223 -0
- package/types/raintonic-formaui-components-sidebar-nav-menu.d.ts.map +1 -0
- package/types/raintonic-formaui-components-stepper.d.ts +4 -2
- package/types/raintonic-formaui-components-stepper.d.ts.map +1 -1
- package/types/raintonic-formaui-components-strength-meter.d.ts +78 -0
- package/types/raintonic-formaui-components-strength-meter.d.ts.map +1 -0
- package/types/raintonic-formaui-components-time-picker.d.ts +44 -24
- package/types/raintonic-formaui-components-time-picker.d.ts.map +1 -1
- package/types/raintonic-formaui-components-toggle-group.d.ts +100 -0
- package/types/raintonic-formaui-components-toggle-group.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tooltip.d.ts +2 -1
- package/types/raintonic-formaui-components-tooltip.d.ts.map +1 -1
- package/types/raintonic-formaui-components-topbar.d.ts +48 -0
- package/types/raintonic-formaui-components-topbar.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tree-select.d.ts +25 -9
- package/types/raintonic-formaui-components-tree-select.d.ts.map +1 -1
- package/types/raintonic-formaui-components-tree.d.ts +12 -1
- package/types/raintonic-formaui-components-tree.d.ts.map +1 -1
- package/types/raintonic-formaui-core.d.ts +243 -5
- package/types/raintonic-formaui-core.d.ts.map +1 -1
- package/types/raintonic-formaui-services-breakpoint.d.ts +44 -0
- package/types/raintonic-formaui-services-breakpoint.d.ts.map +1 -0
- package/types/raintonic-formaui-services-dialog.d.ts +141 -2
- package/types/raintonic-formaui-services-dialog.d.ts.map +1 -1
- package/types/raintonic-formaui-services-notification.d.ts +24 -2
- package/types/raintonic-formaui-services-notification.d.ts.map +1 -1
- package/types/raintonic-formaui-services-theme.d.ts +13 -103
- package/types/raintonic-formaui-services-theme.d.ts.map +1 -1
- package/types/raintonic-formaui.d.ts +1 -1
- package/fesm2022/raintonic-formaui-components-big-menu.mjs +0 -86
- package/fesm2022/raintonic-formaui-components-big-menu.mjs.map +0 -1
- package/fesm2022/raintonic-formaui-components-menu.mjs +0 -896
- package/fesm2022/raintonic-formaui-components-menu.mjs.map +0 -1
- package/fesm2022/raintonic-formaui-components-sidebar.mjs +0 -275
- package/fesm2022/raintonic-formaui-components-sidebar.mjs.map +0 -1
- package/fesm2022/raintonic-formaui-components-tag.mjs +0 -95
- package/fesm2022/raintonic-formaui-components-tag.mjs.map +0 -1
- package/styles/_fonts-entry.scss +0 -3
- package/styles/fonts/inter-tight-latin-italic.woff2 +0 -0
- package/styles/fonts/inter-tight-latin.woff2 +0 -0
- package/types/raintonic-formaui-components-big-menu.d.ts +0 -73
- package/types/raintonic-formaui-components-big-menu.d.ts.map +0 -1
- package/types/raintonic-formaui-components-menu.d.ts +0 -403
- package/types/raintonic-formaui-components-menu.d.ts.map +0 -1
- package/types/raintonic-formaui-components-sidebar.d.ts +0 -185
- package/types/raintonic-formaui-components-sidebar.d.ts.map +0 -1
- package/types/raintonic-formaui-components-tag.d.ts +0 -43
- package/types/raintonic-formaui-components-tag.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raintonic-formaui-components-tag.mjs","sources":["../../../lib/components/tag/tag.types.ts","../../../lib/components/tag/tag.intl.ts","../../../lib/components/tag/tag.component.ts","../../../lib/components/tag/tag.component.html","../../../lib/components/tag/raintonic-formaui-components-tag.ts"],"sourcesContent":["export type FuiTagVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\r\nexport type FuiTagSize = 'sm' | 'md';\r\n\r\nexport const FUI_TAG_VARIANTS: readonly FuiTagVariant[] = [\r\n 'primary',\r\n 'secondary',\r\n 'success',\r\n 'warning',\r\n 'danger',\r\n 'info',\r\n] as const;\r\nexport const FUI_TAG_SIZES: readonly FuiTagSize[] = ['sm', 'md'] as const;\r\n\r\nexport interface FuiTagRemoveEvent {\r\n tag: unknown;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FuiIntlBase } from '@raintonic/formaui/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FuiTagIntl extends FuiIntlBase {\r\n removeAriaLabel(label: string): string {\r\n return `Remove ${label}`;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ViewEncapsulation,\r\n computed,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n booleanAttribute,\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FuiIconComponent } from '@raintonic/formaui/components/icon';\r\nimport { FuiTagVariant, FuiTagSize, FUI_TAG_VARIANTS, FuiTagRemoveEvent } from './tag.types';\r\nimport { FuiTagIntl } from './tag.intl';\r\n\r\n@Component({\r\n selector: 'fui-tag',\r\n standalone: true,\r\n imports: [FuiIconComponent],\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'fui-tag',\r\n '[class]': 'computedClasses()',\r\n '[class.fui-tag--selected]': '_selected()',\r\n '[class.fui-tag--disabled]': 'disabled()',\r\n '[attr.role]': 'selectable() ? \"option\" : null',\r\n '[attr.aria-selected]': 'selectable() ? _selected() : null',\r\n '[attr.aria-pressed]': 'selectable() ? _selected() : null',\r\n '[attr.tabindex]': 'selectable() || removable() ? 0 : null',\r\n '(click)': 'onClick()',\r\n '(keydown.enter)': 'onClick()',\r\n '(keydown.space)': 'onSpace($event)',\r\n },\r\n})\r\nexport class FuiTagComponent {\r\n readonly intl = inject(FuiTagIntl);\r\n private readonly _cdr = inject(ChangeDetectorRef);\r\n\r\n readonly label = input.required<string>();\r\n readonly variant = input<FuiTagVariant, FuiTagVariant | string>('primary', {\r\n transform: (v) => ((FUI_TAG_VARIANTS as readonly string[]).includes(v) ? (v as FuiTagVariant) : 'primary'),\r\n });\r\n readonly size = input<FuiTagSize>('md');\r\n readonly icon = input<string | null>(null);\r\n readonly removable = input(false);\r\n readonly selectable = input(false);\r\n readonly selected = input(false);\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n\r\n readonly removed = output<FuiTagRemoveEvent>();\r\n readonly selectedChange = output<boolean>();\r\n\r\n readonly _selected = signal(false);\r\n\r\n readonly computedClasses = computed(() => {\r\n return `fui-tag fui-tag--${this.variant()} fui-tag--${this.size()}`;\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n this._selected.set(this.selected());\r\n });\r\n this.intl.changes.pipe(takeUntilDestroyed()).subscribe(() => { this._cdr.markForCheck(); });\r\n }\r\n\r\n onClick(): void {\r\n if (this.disabled()) return;\r\n if (this.selectable()) {\r\n this._selected.update((v) => !v);\r\n this.selectedChange.emit(this._selected());\r\n }\r\n }\r\n\r\n onSpace(event: Event): void {\r\n event.preventDefault();\r\n this.onClick();\r\n }\r\n\r\n onRemove(event: Event): void {\r\n event.stopPropagation();\r\n if (!this.disabled()) {\r\n this.removed.emit({ tag: this });\r\n }\r\n }\r\n}\r\n","<span class=\"fui-tag__content\">\r\n @if (icon()) {\r\n <fui-icon class=\"fui-tag__icon\" [name]=\"icon()!\" size=\"sm\" aria-hidden=\"true\" />\r\n }\r\n <span class=\"fui-tag__label\">{{ label() }}</span>\r\n</span>\r\n\r\n@if (removable() && !disabled()) {\r\n <button\r\n class=\"fui-tag__remove\"\r\n type=\"button\"\r\n [attr.aria-label]=\"intl.removeAriaLabel(label())\"\r\n (click)=\"onRemove($event)\"\r\n (keydown.enter)=\"onRemove($event)\"\r\n >\r\n <fui-icon name=\"x\" size=\"sm\" aria-hidden=\"true\" />\r\n </button>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/styles/_fonts-entry.scss
DELETED
|
Binary file
|
|
Binary file
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit } from '@angular/core';
|
|
3
|
-
import { FuiIntlBase } from '@raintonic/formaui/core';
|
|
4
|
-
|
|
5
|
-
interface BigMenuItem {
|
|
6
|
-
id: string;
|
|
7
|
-
label: string;
|
|
8
|
-
icon: string;
|
|
9
|
-
children: BigMenuChild[];
|
|
10
|
-
}
|
|
11
|
-
interface BigMenuChild {
|
|
12
|
-
id: string;
|
|
13
|
-
label: string;
|
|
14
|
-
icon: string;
|
|
15
|
-
isActive?: boolean;
|
|
16
|
-
link?: string;
|
|
17
|
-
value?: string;
|
|
18
|
-
badge?: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
declare class FuiBigMenuIntl extends FuiIntlBase {
|
|
22
|
-
rootAriaLabel: string;
|
|
23
|
-
categoriesAriaLabel: string;
|
|
24
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiBigMenuIntl, never>;
|
|
25
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FuiBigMenuIntl>;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @component FuiBigMenuComponent
|
|
30
|
-
* @selector fui-big-menu
|
|
31
|
-
* @description A two-level navigation mega-menu. The primary column displays icon-based
|
|
32
|
-
* main menu items; hovering over or selecting a main item reveals a secondary flyout
|
|
33
|
-
* panel listing its children. Designed for application-level navigation alongside
|
|
34
|
-
* `fui-toolbar` and `fui-sidebar`.
|
|
35
|
-
*
|
|
36
|
-
* @input menu - (required) Array of `BigMenuItem` objects defining the menu structure
|
|
37
|
-
*
|
|
38
|
-
* @output itemMenuClick - Emits `{ item: BigMenuChild; event: MouseEvent }` when a child item is clicked
|
|
39
|
-
*
|
|
40
|
-
* @cssvar --fui-big-menu-width - Width of the primary icon column (default: 90px)
|
|
41
|
-
* @cssvar --fui-big-menu-bg - Background color of both menu panels
|
|
42
|
-
* @cssvar --fui-big-menu-border-color - Border color between panels and edge
|
|
43
|
-
* @cssvar --fui-big-menu-item-size - Width and height of primary menu item icons
|
|
44
|
-
* @cssvar --fui-big-menu-item-border-radius - Border radius of primary item icons
|
|
45
|
-
* @cssvar --fui-big-menu-secondary-width - Width of the secondary flyout panel (default: 228px)
|
|
46
|
-
* @cssvar --fui-big-menu-secondary-item-height - Height of each child item row
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* <fui-big-menu [menu]="menuItems" (itemMenuClick)="onItemClick($event)"></fui-big-menu>
|
|
50
|
-
*/
|
|
51
|
-
declare class FuiBigMenuComponent implements OnInit {
|
|
52
|
-
readonly intl: FuiBigMenuIntl;
|
|
53
|
-
private readonly _cdr;
|
|
54
|
-
menu: _angular_core.InputSignal<BigMenuItem[]>;
|
|
55
|
-
itemMenuClick: _angular_core.OutputEmitterRef<{
|
|
56
|
-
item: BigMenuChild;
|
|
57
|
-
event: MouseEvent;
|
|
58
|
-
}>;
|
|
59
|
-
selectedMainVoice: _angular_core.WritableSignal<BigMenuItem | null>;
|
|
60
|
-
selectedMainVoiceId: _angular_core.Signal<string | undefined>;
|
|
61
|
-
showSecondaryMenu: _angular_core.WritableSignal<boolean>;
|
|
62
|
-
constructor();
|
|
63
|
-
ngOnInit(): void;
|
|
64
|
-
selectMainVoice(voice: BigMenuItem): void;
|
|
65
|
-
onMouseOver(): void;
|
|
66
|
-
onMouseLeave(): void;
|
|
67
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiBigMenuComponent, never>;
|
|
68
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiBigMenuComponent, "fui-big-menu", never, { "menu": { "alias": "menu"; "required": true; "isSignal": true; }; }, { "itemMenuClick": "itemMenuClick"; }, never, ["[top-content]", "[bottom-content]"], true, never>;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export { FuiBigMenuComponent, FuiBigMenuIntl };
|
|
72
|
-
export type { BigMenuChild, BigMenuItem };
|
|
73
|
-
//# sourceMappingURL=raintonic-formaui-components-big-menu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raintonic-formaui-components-big-menu.d.ts","sources":["../../../lib/components/big-menu/big-menu-item.interface.ts","../../../lib/components/big-menu/big-menu.intl.ts","../../../lib/components/big-menu/big-menu.component.ts"],"mappings":";;;;UAAiB,WAAW;;;;cAIhB,YAAY;AACvB;UAEgB,YAAY;;;;;;;;AAQ5B;;ACZD,cACa,cAAe,SAAQ,WAAW;AAC7C;AACA;oDAFW,cAAc;wDAAd,cAAc;AAG1B;;ACAD;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,cAMa,mBAAoB,YAAW,MAAM;mBACnC,cAAA;AACb;AAEA,UAAI,aAAA,CAAA,WAAA,CAAA,WAAA;mBAES,aAAA,CAAA,gBAAA;cAAkB,YAAY;eAAS,UAAU;AAAM;AACpE,uBAAiB,aAAA,CAAA,cAAA,CAAA,WAAA;AACjB,yBAAmB,aAAA,CAAA,MAAA;AACnB,uBAAiB,aAAA,CAAA,cAAA;;AAMjB;AAIA,2BAAuB,WAAW;AAOlC;AAKA;oDA/BW,mBAAmB;sDAAnB,mBAAmB;AAkC/B;;;;","names":[]}
|
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, ElementRef, AfterViewInit } from '@angular/core';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Available menu positions relative to the trigger element
|
|
6
|
-
*/
|
|
7
|
-
type FuiMenuPosition = 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end';
|
|
8
|
-
declare const RT_MENU_POSITIONS: readonly ["top-start", "top", "top-end", "bottom-start", "bottom", "bottom-end", "left-start", "left", "left-end", "right-start", "right", "right-end"];
|
|
9
|
-
/**
|
|
10
|
-
* Available menu sizes
|
|
11
|
-
*/
|
|
12
|
-
type FuiMenuSize = 'sm' | 'md' | 'lg';
|
|
13
|
-
declare const RT_MENU_SIZES: readonly ["sm", "md", "lg"];
|
|
14
|
-
/**
|
|
15
|
-
* # FuiMenu Component
|
|
16
|
-
*
|
|
17
|
-
* A dropdown menu component that provides a list of options or actions.
|
|
18
|
-
* Designed to work with external triggers using the fuiMenuTrigger directive.
|
|
19
|
-
*
|
|
20
|
-
* ## Features
|
|
21
|
-
* - Multiple positioning options relative to trigger
|
|
22
|
-
* - Keyboard navigation (Arrow keys, Enter, Escape)
|
|
23
|
-
* - Click outside to close
|
|
24
|
-
* - Full accessibility support (ARIA attributes, focus management)
|
|
25
|
-
* - Customizable size variants
|
|
26
|
-
* - Auto-positioning with collision detection
|
|
27
|
-
* - Portal attachment to document body to avoid clipping issues
|
|
28
|
-
*
|
|
29
|
-
* ## Usage
|
|
30
|
-
*
|
|
31
|
-
* ### Basic Menu with External Trigger
|
|
32
|
-
* ```html
|
|
33
|
-
* <button fuiButton fuiMenuTrigger [fuiMenuTriggerFor]="menu">
|
|
34
|
-
* Open Menu
|
|
35
|
-
* </button>
|
|
36
|
-
* <fui-menu #menu>
|
|
37
|
-
* <fui-menu-item>Option 1</fui-menu-item>
|
|
38
|
-
* <fui-menu-item>Option 2</fui-menu-item>
|
|
39
|
-
* </fui-menu>
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* ### Menu with Custom Position
|
|
43
|
-
* ```html
|
|
44
|
-
* <button fuiButton fuiMenuTrigger [fuiMenuTriggerFor]="menu">
|
|
45
|
-
* Open Menu
|
|
46
|
-
* </button>
|
|
47
|
-
* <fui-menu #menu position="top-start" size="lg">
|
|
48
|
-
* <fui-menu-item>Profile</fui-menu-item>
|
|
49
|
-
* <fui-menu-item variant="danger">Logout</fui-menu-item>
|
|
50
|
-
* </fui-menu>
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* ### Menu without Portal (for special cases)
|
|
54
|
-
* ```html
|
|
55
|
-
* <button fuiButton fuiMenuTrigger [fuiMenuTriggerFor]="menu">
|
|
56
|
-
* Open Menu
|
|
57
|
-
* </button>
|
|
58
|
-
* <fui-menu #menu [attachToBody]="false">
|
|
59
|
-
* <fui-menu-item>Option 1</fui-menu-item>
|
|
60
|
-
* <fui-menu-item>Option 2</fui-menu-item>
|
|
61
|
-
* </fui-menu>
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* ### Menu with Data Passed from Trigger
|
|
65
|
-
* ```html
|
|
66
|
-
* <button fuiButton fuiMenuTrigger
|
|
67
|
-
* [fuiMenuTriggerFor]="dynamicMenu"
|
|
68
|
-
* [menuTriggerData]="{ user: currentUser, items: menuItems }">
|
|
69
|
-
* Open Menu
|
|
70
|
-
* </button>
|
|
71
|
-
* <fui-menu #dynamicMenu>
|
|
72
|
-
* <!-- Access data in component using menu.menuData() -->
|
|
73
|
-
* </fui-menu>
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* ```typescript
|
|
77
|
-
* @Component({
|
|
78
|
-
* template: `
|
|
79
|
-
* <fui-menu #menu>
|
|
80
|
-
* <fui-menu-item *ngFor="let item of menu.menuData()?.items">
|
|
81
|
-
* {{ item.label }}
|
|
82
|
-
* </fui-menu-item>
|
|
83
|
-
* </fui-menu>
|
|
84
|
-
* `
|
|
85
|
-
* })
|
|
86
|
-
* export class MyComponent { }
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
declare class FuiMenuComponent implements OnDestroy {
|
|
90
|
-
/**
|
|
91
|
-
* Menu position relative to the trigger element
|
|
92
|
-
* @default 'bottom-start'
|
|
93
|
-
*/
|
|
94
|
-
readonly position: _angular_core.InputSignal<FuiMenuPosition>;
|
|
95
|
-
/**
|
|
96
|
-
* Menu size variant
|
|
97
|
-
* @default 'md'
|
|
98
|
-
*/
|
|
99
|
-
readonly size: _angular_core.InputSignal<FuiMenuSize>;
|
|
100
|
-
/**
|
|
101
|
-
* Whether the menu should close when clicking outside
|
|
102
|
-
* @default true
|
|
103
|
-
*/
|
|
104
|
-
readonly closeOnClickOutside: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
105
|
-
/**
|
|
106
|
-
* Whether the menu should close when pressing Escape
|
|
107
|
-
* @default true
|
|
108
|
-
*/
|
|
109
|
-
readonly closeOnEscape: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
110
|
-
/**
|
|
111
|
-
* Whether the menu is disabled
|
|
112
|
-
* @default false
|
|
113
|
-
*/
|
|
114
|
-
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
115
|
-
/**
|
|
116
|
-
* Whether to attach the menu panel to the document body to avoid clipping issues
|
|
117
|
-
* @default true
|
|
118
|
-
*/
|
|
119
|
-
readonly attachToBody: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
120
|
-
/**
|
|
121
|
-
* Emitted when the menu open state changes
|
|
122
|
-
*/
|
|
123
|
-
readonly openChange: _angular_core.OutputEmitterRef<boolean>;
|
|
124
|
-
/**
|
|
125
|
-
* Emitted when a menu item is selected
|
|
126
|
-
*/
|
|
127
|
-
readonly itemSelected: _angular_core.OutputEmitterRef<Event>;
|
|
128
|
-
protected readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
129
|
-
protected readonly _animationState: _angular_core.WritableSignal<"void" | "enter" | "leave">;
|
|
130
|
-
private readonly _triggerElement;
|
|
131
|
-
private readonly _menuData;
|
|
132
|
-
private _previousFocusedElement;
|
|
133
|
-
private _overlayRef;
|
|
134
|
-
private _overlaySubscriptions;
|
|
135
|
-
private _closeAnimationTimeout;
|
|
136
|
-
readonly computedClasses: _angular_core.Signal<string>;
|
|
137
|
-
private readonly _elementRef;
|
|
138
|
-
private readonly _overlayService;
|
|
139
|
-
private readonly _document;
|
|
140
|
-
private readonly _ngZone;
|
|
141
|
-
private _outsideClickSub?;
|
|
142
|
-
menuPanel?: ElementRef<HTMLElement>;
|
|
143
|
-
private readonly _menuItems;
|
|
144
|
-
constructor();
|
|
145
|
-
/**
|
|
146
|
-
* Whether the menu is currently open
|
|
147
|
-
*/
|
|
148
|
-
isOpen(): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* Opens the menu
|
|
151
|
-
*/
|
|
152
|
-
open(): void;
|
|
153
|
-
/**
|
|
154
|
-
* Closes the menu
|
|
155
|
-
*/
|
|
156
|
-
close(): void;
|
|
157
|
-
/**
|
|
158
|
-
* Toggles the menu open/closed state
|
|
159
|
-
*/
|
|
160
|
-
toggle(): void;
|
|
161
|
-
/**
|
|
162
|
-
* Sets the trigger element for positioning (called by trigger directive)
|
|
163
|
-
*/
|
|
164
|
-
setTriggerElement(element: HTMLElement): void;
|
|
165
|
-
/**
|
|
166
|
-
* Gets the menu data passed from the trigger
|
|
167
|
-
* Returns a signal containing the data
|
|
168
|
-
*/
|
|
169
|
-
menuData(): unknown;
|
|
170
|
-
/**
|
|
171
|
-
* Sets the menu data (called by trigger directive)
|
|
172
|
-
* @param data The data to pass to the menu
|
|
173
|
-
*/
|
|
174
|
-
setMenuData(data: unknown): void;
|
|
175
|
-
private _listenForOutsideClicks;
|
|
176
|
-
onDocumentKeydown(event: KeyboardEvent): void;
|
|
177
|
-
onMenuClick(event: Event): void;
|
|
178
|
-
ngOnDestroy(): void;
|
|
179
|
-
private _openMenu;
|
|
180
|
-
private _closeMenu;
|
|
181
|
-
private _createOverlay;
|
|
182
|
-
private _getPositionsForMenuPosition;
|
|
183
|
-
private _restoreFocus;
|
|
184
|
-
private _getMenuItems;
|
|
185
|
-
/** @internal Called by FuiMenuTriggerDirective */
|
|
186
|
-
_focusFirstItem(): void;
|
|
187
|
-
/** @internal Called by FuiMenuTriggerDirective */
|
|
188
|
-
_focusLastItem(): void;
|
|
189
|
-
private _focusNextItem;
|
|
190
|
-
private _focusPreviousItem;
|
|
191
|
-
/**
|
|
192
|
-
* Focuses a menu item and updates roving tabindex across all items.
|
|
193
|
-
*/
|
|
194
|
-
private _focusItem;
|
|
195
|
-
/**
|
|
196
|
-
* Resets all items to tabindex="-1" when the menu closes.
|
|
197
|
-
*/
|
|
198
|
-
private _resetRovingTabindex;
|
|
199
|
-
/**
|
|
200
|
-
* Updates roving tabindex: sets tabindex="0" on the target item
|
|
201
|
-
* and tabindex="-1" on all other items.
|
|
202
|
-
*/
|
|
203
|
-
private _updateRovingTabindex;
|
|
204
|
-
private _disposeOverlay;
|
|
205
|
-
private _startCloseAnimation;
|
|
206
|
-
private _clearCloseTimeout;
|
|
207
|
-
/**
|
|
208
|
-
* Checks if this menu's overlay is the topmost (most recently opened) overlay.
|
|
209
|
-
* This ensures that only the topmost menu responds to keyboard events when
|
|
210
|
-
* multiple menus are open (e.g., nested menus).
|
|
211
|
-
*/
|
|
212
|
-
private _isTopmostOverlay;
|
|
213
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiMenuComponent, never>;
|
|
214
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiMenuComponent, "fui-menu", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "attachToBody": { "alias": "attachToBody"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; "itemSelected": "itemSelected"; }, ["_menuItems"], ["*"], true, never>;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Available menu item variants
|
|
219
|
-
*/
|
|
220
|
-
type MenuItemVariant = 'default' | 'danger';
|
|
221
|
-
declare const MENU_ITEM_VARIANTS: readonly ["default", "danger"];
|
|
222
|
-
/**
|
|
223
|
-
* # FuiMenuItem Component
|
|
224
|
-
*
|
|
225
|
-
* A menu item component designed to be used within fui-menu.
|
|
226
|
-
* Provides consistent styling and behavior for menu options.
|
|
227
|
-
*
|
|
228
|
-
* ## Features
|
|
229
|
-
* - Default and danger variants
|
|
230
|
-
* - Full accessibility support (ARIA attributes, keyboard navigation)
|
|
231
|
-
* - Icon support with proper spacing
|
|
232
|
-
* - Disabled state support
|
|
233
|
-
* - Hover and focus states
|
|
234
|
-
* - Keyboard activation (Enter and Space)
|
|
235
|
-
*
|
|
236
|
-
* ## Usage
|
|
237
|
-
*
|
|
238
|
-
* ### Basic Menu Item
|
|
239
|
-
* ```html
|
|
240
|
-
* <fui-menu-item>Profile</fui-menu-item>
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* ### Menu Item with Icon
|
|
244
|
-
* ```html
|
|
245
|
-
* <fui-menu-item>
|
|
246
|
-
* <fui-icon name="user" fuiPrefix></fui-icon>
|
|
247
|
-
* Profile
|
|
248
|
-
* </fui-menu-item>
|
|
249
|
-
* ```
|
|
250
|
-
*
|
|
251
|
-
* ### Danger Menu Item
|
|
252
|
-
* ```html
|
|
253
|
-
* <fui-menu-item variant="danger">
|
|
254
|
-
* <fui-icon name="trash" fuiPrefix></fui-icon>
|
|
255
|
-
* Delete Account
|
|
256
|
-
* </fui-menu-item>
|
|
257
|
-
* ```
|
|
258
|
-
*
|
|
259
|
-
* ### Disabled Menu Item
|
|
260
|
-
* ```html
|
|
261
|
-
* <fui-menu-item [disabled]="true">
|
|
262
|
-
* Unavailable Option
|
|
263
|
-
* </fui-menu-item>
|
|
264
|
-
* ```
|
|
265
|
-
*
|
|
266
|
-
* @example
|
|
267
|
-
* ```typescript
|
|
268
|
-
* import { FuiMenuItemComponent } from '@raintonic/formaui/components/menu';
|
|
269
|
-
*
|
|
270
|
-
* @Component({
|
|
271
|
-
* standalone: true,
|
|
272
|
-
* imports: [FuiMenuItemComponent],
|
|
273
|
-
* templateUrl: './my-component.component.html',
|
|
274
|
-
* styleUrl: './my-component.component.scss'
|
|
275
|
-
* })
|
|
276
|
-
* export class MyComponent {
|
|
277
|
-
* onItemClick(event: Event) {
|
|
278
|
-
* console.log('Menu item clicked:', event);
|
|
279
|
-
* }
|
|
280
|
-
* }
|
|
281
|
-
* ```
|
|
282
|
-
*/
|
|
283
|
-
declare class FuiMenuItemComponent {
|
|
284
|
-
/**
|
|
285
|
-
* Menu item variant that determines the visual style
|
|
286
|
-
* @default 'default'
|
|
287
|
-
*/
|
|
288
|
-
readonly variant: _angular_core.InputSignalWithTransform<MenuItemVariant, string>;
|
|
289
|
-
/**
|
|
290
|
-
* Whether the menu item is disabled
|
|
291
|
-
* @default false
|
|
292
|
-
*/
|
|
293
|
-
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
294
|
-
/**
|
|
295
|
-
* Emitted when the menu item is clicked or activated
|
|
296
|
-
*/
|
|
297
|
-
readonly selected: _angular_core.OutputEmitterRef<Event>;
|
|
298
|
-
/**
|
|
299
|
-
* Internal tabindex for roving tabindex pattern.
|
|
300
|
-
* Managed by the parent FuiMenuComponent.
|
|
301
|
-
* @internal
|
|
302
|
-
*/
|
|
303
|
-
readonly tabIndex: _angular_core.WritableSignal<string>;
|
|
304
|
-
readonly computedClasses: _angular_core.Signal<string>;
|
|
305
|
-
/** @internal */ readonly _elementRef: ElementRef<HTMLElement>;
|
|
306
|
-
private readonly _renderer;
|
|
307
|
-
onClick(event: Event): void;
|
|
308
|
-
onKeydown(event: KeyboardEvent): void;
|
|
309
|
-
/**
|
|
310
|
-
* Focuses the menu item
|
|
311
|
-
*/
|
|
312
|
-
focus(): void;
|
|
313
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiMenuItemComponent, never>;
|
|
314
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiMenuItemComponent, "fui-menu-item", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, ["*"], true, never>;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* # fuiMenuTrigger Directive
|
|
319
|
-
*
|
|
320
|
-
* A directive that marks an element as a menu trigger, similar to Angular Material's matMenuTriggerFor.
|
|
321
|
-
* This directive should be used in conjunction with FuiMenuComponent.
|
|
322
|
-
*
|
|
323
|
-
* ## Usage
|
|
324
|
-
*
|
|
325
|
-
* ### Basic Usage
|
|
326
|
-
* ```html
|
|
327
|
-
* <button fuiMenuTrigger [menuTriggerFor]="menu">Open Menu</button>
|
|
328
|
-
* <fui-menu #menu>
|
|
329
|
-
* <fui-menu-item>Option 1</fui-menu-item>
|
|
330
|
-
* <fui-menu-item>Option 2</fui-menu-item>
|
|
331
|
-
* </fui-menu>
|
|
332
|
-
* ```
|
|
333
|
-
*
|
|
334
|
-
* ### With Menu Reference
|
|
335
|
-
* ```html
|
|
336
|
-
* <button fuiMenuTrigger [menuTriggerFor]="userMenu">
|
|
337
|
-
* <fui-icon name="user"></fui-icon>
|
|
338
|
-
* User Menu
|
|
339
|
-
* </button>
|
|
340
|
-
*
|
|
341
|
-
* <fui-menu #userMenu position="bottom-end">
|
|
342
|
-
* <fui-menu-item>Profile</fui-menu-item>
|
|
343
|
-
* <fui-menu-item>Settings</fui-menu-item>
|
|
344
|
-
* <fui-menu-item variant="danger">Logout</fui-menu-item>
|
|
345
|
-
* </fui-menu>
|
|
346
|
-
* ```
|
|
347
|
-
*
|
|
348
|
-
* ### Passing Data to Menu
|
|
349
|
-
* ```html
|
|
350
|
-
* <button fuiMenuTrigger
|
|
351
|
-
* [menuTriggerFor]="dynamicMenu"
|
|
352
|
-
* [menuTriggerData]="{ user: currentUser, role: 'admin' }">
|
|
353
|
-
* Open Menu
|
|
354
|
-
* </button>
|
|
355
|
-
*
|
|
356
|
-
* <fui-menu #dynamicMenu>
|
|
357
|
-
* <!-- Access menu data in your component via menu.menuData() -->
|
|
358
|
-
* </fui-menu>
|
|
359
|
-
* ```
|
|
360
|
-
*
|
|
361
|
-
* @example
|
|
362
|
-
* ```typescript
|
|
363
|
-
* import { FuiMenuTriggerDirective, FuiMenuComponent, FuiMenuItemComponent } from '@raintonic/formaui/components/menu';
|
|
364
|
-
*
|
|
365
|
-
* @Component({
|
|
366
|
-
* standalone: true,
|
|
367
|
-
* imports: [FuiMenuTriggerDirective, FuiMenuComponent, FuiMenuItemComponent],
|
|
368
|
-
* template: `
|
|
369
|
-
* <button fuiMenuTrigger [menuTriggerFor]="menu">Open Menu</button>
|
|
370
|
-
* <fui-menu #menu>
|
|
371
|
-
* <fui-menu-item>Option 1</fui-menu-item>
|
|
372
|
-
* <fui-menu-item>Option 2</fui-menu-item>
|
|
373
|
-
* </fui-menu>
|
|
374
|
-
* `
|
|
375
|
-
* })
|
|
376
|
-
* export class MyComponent { }
|
|
377
|
-
* ```
|
|
378
|
-
*/
|
|
379
|
-
declare class FuiMenuTriggerDirective implements AfterViewInit {
|
|
380
|
-
private readonly _elementRef;
|
|
381
|
-
/** The menu instance that this trigger should open */
|
|
382
|
-
readonly menuTriggerFor: _angular_core.InputSignal<FuiMenuComponent | null | undefined>;
|
|
383
|
-
/**
|
|
384
|
-
* Data to be passed to the menu.
|
|
385
|
-
* Can be accessed in the menu component or menu items.
|
|
386
|
-
* Similar to Angular Material's matMenuTriggerData.
|
|
387
|
-
*/
|
|
388
|
-
readonly menuTriggerData: _angular_core.InputSignal<unknown>;
|
|
389
|
-
/** The menu instance that this trigger is associated with */
|
|
390
|
-
menu: FuiMenuComponent | null;
|
|
391
|
-
constructor();
|
|
392
|
-
ngAfterViewInit(): void;
|
|
393
|
-
onClick(event: Event): void;
|
|
394
|
-
onKeydown(event: KeyboardEvent): void;
|
|
395
|
-
/** Gets the trigger element */
|
|
396
|
-
getElement(): HTMLElement;
|
|
397
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiMenuTriggerDirective, never>;
|
|
398
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FuiMenuTriggerDirective, "[fuiMenuTrigger]", never, { "menuTriggerFor": { "alias": "menuTriggerFor"; "required": false; "isSignal": true; }; "menuTriggerData": { "alias": "menuTriggerData"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
export { FuiMenuComponent, FuiMenuItemComponent, FuiMenuTriggerDirective, MENU_ITEM_VARIANTS, RT_MENU_POSITIONS, RT_MENU_SIZES };
|
|
402
|
-
export type { FuiMenuPosition, FuiMenuSize, MenuItemVariant };
|
|
403
|
-
//# sourceMappingURL=raintonic-formaui-components-menu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raintonic-formaui-components-menu.d.ts","sources":["../../../lib/components/menu/menu.component.ts","../../../lib/components/menu/menu-item.component.ts","../../../lib/components/menu/menu-trigger.directive.ts"],"mappings":";;;AAuBA;;AAEG;AACG,KAAM,eAAe;AAc3B,cAAa,iBAAiB;AAe9B;;AAEG;AACG,KAAM,WAAW;AAEvB,cAAa,aAAa;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EG;AACH,cAWa,gBAAiB,YAAW,SAAS;AAChD;;;AAGG;uBACc,aAAA,CAAA,WAAA,CAAA,eAAA;AAEjB;;;AAGG;mBACU,aAAA,CAAA,WAAA,CAAA,WAAA;AAEb;;;AAGG;kCACyB,aAAA,CAAA,wBAAA;AAE5B;;;AAGG;4BACmB,aAAA,CAAA,wBAAA;AAEtB;;;AAGG;uBACc,aAAA,CAAA,wBAAA;AAEjB;;;AAGG;2BACkB,aAAA,CAAA,wBAAA;AAErB;;AAEG;yBACgB,aAAA,CAAA,gBAAA;AAEnB;;AAEG;2BACkB,aAAA,CAAA,gBAAA,CAAA,KAAA;AAGrB,gCAA0B,aAAA,CAAA,cAAA;AAC1B,wCAAkC,aAAA,CAAA,cAAA;AAClC;AACA;;;;;8BAOwB,aAAA,CAAA,MAAA;AAWxB;AACA;AACA;AACA;;AAI2C,gBAAY,UAAU,CAAC,WAAW;AAG7E;;AAqBA;;AAEG;AACH;AAIA;;AAEG;AACH;AAKA;;AAEG;AACH;AAIA;;AAEG;AACH;AAQA;;AAEG;AACH,+BAA2B,WAAW;AAItC;;;AAGG;AACH;AAIA;;;AAGG;AACH;AAKA;AA2BA,6BAAyB,aAAa;AAgCtC,uBAAmB,KAAK;AAYxB;AAOA;AAcA;AAcA;AA8DA;AAqEA;AAWA;;AAQA;;AAQA;AAOA;AAWA;AAWA;;AAEG;AACH;AAKA;;AAEG;AACH;AAOA;;;AAGG;AACH;AAWA;AAQA;AAcA;AAOA;;;;AAIG;AACH;oDArgBW,gBAAgB;sDAAhB,gBAAgB;AAihB5B;;ACxpBD;;AAEG;KACS,eAAe;AAE3B,cAAa,kBAAkB;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DG;AACH,cAaa,oBAAoB;AAC/B;;;AAGG;sBACa,aAAA,CAAA,wBAAA,CAAA,eAAA;AAIhB;;;AAGG;uBACc,aAAA,CAAA,wBAAA;AAEjB;;AAEG;uBACc,aAAA,CAAA,gBAAA,CAAA,KAAA;AAEjB;;;;AAIG;uBACc,aAAA,CAAA,cAAA;8BAGO,aAAA,CAAA,MAAA;2CAUe,UAAU,CAAC,WAAW;AAC7D;AAGA,mBAAe,KAAK;AAWpB,qBAAiB,aAAa;AAgB9B;;AAEG;AACH;oDAxEW,oBAAoB;sDAApB,oBAAoB;AA2EhC;;ACtKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DG;AACH,cAQa,uBAAwB,YAAW,aAAa;AAC3D;;6BAGuB,aAAA,CAAA,WAAA,CAAA,gBAAA;AAEvB;;;;AAIG;8BACqB,aAAA,CAAA,WAAA;;AAGxB,UAAM,gBAAgB;;AActB;AAWA,mBAAe,KAAK;AAkBpB,qBAAiB,aAAa;;AA6C9B,kBAAc,WAAW;oDAtGd,uBAAuB;sDAAvB,uBAAuB;AAyGnC;;;;","names":[]}
|