@edsis/ui 0.0.2 → 0.0.3
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/empty/README.md +1 -1
- package/fesm2022/edsis-ui-accordion.mjs +15 -15
- package/fesm2022/edsis-ui-alert-dialog.mjs +27 -27
- package/fesm2022/edsis-ui-alert.mjs +12 -12
- package/fesm2022/edsis-ui-aspect-ratio.mjs +3 -3
- package/fesm2022/edsis-ui-avatar.mjs +18 -18
- package/fesm2022/edsis-ui-badge.mjs +3 -3
- package/fesm2022/edsis-ui-breadcrumb.mjs +21 -21
- package/fesm2022/edsis-ui-button-group.mjs +9 -9
- package/fesm2022/edsis-ui-button.mjs +3 -3
- package/fesm2022/edsis-ui-calendar.mjs +3 -3
- package/fesm2022/edsis-ui-card.mjs +21 -21
- package/fesm2022/edsis-ui-carousel.mjs +18 -18
- package/fesm2022/edsis-ui-chart.mjs +80 -78
- package/fesm2022/edsis-ui-chart.mjs.map +1 -1
- package/fesm2022/edsis-ui-checkbox.mjs +3 -3
- package/fesm2022/edsis-ui-collapsible.mjs +12 -12
- package/fesm2022/edsis-ui-combobox.mjs +3 -3
- package/fesm2022/edsis-ui-command.mjs +41 -35
- package/fesm2022/edsis-ui-command.mjs.map +1 -1
- package/fesm2022/edsis-ui-composer.mjs +21 -21
- package/fesm2022/edsis-ui-context-menu.mjs +13 -7
- package/fesm2022/edsis-ui-context-menu.mjs.map +1 -1
- package/fesm2022/edsis-ui-date-picker.mjs +3 -3
- package/fesm2022/edsis-ui-dialog.mjs +27 -23
- package/fesm2022/edsis-ui-dialog.mjs.map +1 -1
- package/fesm2022/edsis-ui-dropdown-menu.mjs +58 -46
- package/fesm2022/edsis-ui-dropdown-menu.mjs.map +1 -1
- package/fesm2022/edsis-ui-editor.mjs +22 -20
- package/fesm2022/edsis-ui-editor.mjs.map +1 -1
- package/fesm2022/edsis-ui-empty.mjs +18 -18
- package/fesm2022/edsis-ui-form.mjs +38 -38
- package/fesm2022/edsis-ui-form.mjs.map +1 -1
- package/fesm2022/edsis-ui-hover-card.mjs +34 -13
- package/fesm2022/edsis-ui-hover-card.mjs.map +1 -1
- package/fesm2022/edsis-ui-input-group.mjs +18 -18
- package/fesm2022/edsis-ui-input-otp.mjs +15 -15
- package/fesm2022/edsis-ui-input.mjs +3 -3
- package/fesm2022/edsis-ui-item.mjs +30 -30
- package/fesm2022/edsis-ui-kanban.mjs +27 -27
- package/fesm2022/edsis-ui-kbd.mjs +6 -6
- package/fesm2022/edsis-ui-label.mjs +3 -3
- package/fesm2022/edsis-ui-layout-services.mjs +6 -0
- package/fesm2022/edsis-ui-layout-services.mjs.map +1 -0
- package/fesm2022/edsis-ui-layout-types.mjs +6 -0
- package/fesm2022/edsis-ui-layout-types.mjs.map +1 -0
- package/fesm2022/edsis-ui-layout.mjs +572 -0
- package/fesm2022/edsis-ui-layout.mjs.map +1 -0
- package/fesm2022/edsis-ui-menubar.mjs +22 -16
- package/fesm2022/edsis-ui-menubar.mjs.map +1 -1
- package/fesm2022/edsis-ui-native-select.mjs +9 -9
- package/fesm2022/edsis-ui-nav-service.mjs +343 -0
- package/fesm2022/edsis-ui-nav-service.mjs.map +1 -0
- package/fesm2022/edsis-ui-nav.mjs +2340 -0
- package/fesm2022/edsis-ui-nav.mjs.map +1 -0
- package/fesm2022/edsis-ui-navigation-menu.mjs +30 -24
- package/fesm2022/edsis-ui-navigation-menu.mjs.map +1 -1
- package/fesm2022/edsis-ui-page.mjs +397 -0
- package/fesm2022/edsis-ui-page.mjs.map +1 -0
- package/fesm2022/edsis-ui-pagination.mjs +3 -3
- package/fesm2022/edsis-ui-pillbox.mjs +16 -16
- package/fesm2022/edsis-ui-pillbox.mjs.map +1 -1
- package/fesm2022/edsis-ui-popover.mjs +16 -10
- package/fesm2022/edsis-ui-popover.mjs.map +1 -1
- package/fesm2022/edsis-ui-progress.mjs +3 -3
- package/fesm2022/edsis-ui-radio.mjs +6 -6
- package/fesm2022/edsis-ui-resizable.mjs +12 -12
- package/fesm2022/edsis-ui-scroll-area.mjs +3 -3
- package/fesm2022/edsis-ui-select.mjs +6 -6
- package/fesm2022/edsis-ui-separator.mjs +3 -3
- package/fesm2022/edsis-ui-sheet.mjs +27 -23
- package/fesm2022/edsis-ui-sheet.mjs.map +1 -1
- package/fesm2022/edsis-ui-skeleton.mjs +3 -3
- package/fesm2022/edsis-ui-slider.mjs +6 -6
- package/fesm2022/edsis-ui-spinner.mjs +3 -3
- package/fesm2022/edsis-ui-switch.mjs +3 -3
- package/fesm2022/edsis-ui-table.mjs +24 -24
- package/fesm2022/edsis-ui-tabs.mjs +18 -18
- package/fesm2022/edsis-ui-textarea.mjs +3 -3
- package/fesm2022/edsis-ui-theme.mjs +209 -0
- package/fesm2022/edsis-ui-theme.mjs.map +1 -0
- package/fesm2022/edsis-ui-timeline.mjs +18 -18
- package/fesm2022/edsis-ui-toast.mjs +3 -3
- package/fesm2022/edsis-ui-toggle-group.mjs +9 -9
- package/fesm2022/edsis-ui-toggle.mjs +3 -3
- package/fesm2022/edsis-ui-tooltip.mjs +12 -12
- package/layout/README.md +454 -0
- package/nav/README.md +96 -0
- package/package.json +31 -2
- package/page/README.md +46 -0
- package/types/edsis-ui-command.d.ts +4 -1
- package/types/edsis-ui-context-menu.d.ts +2 -1
- package/types/edsis-ui-dropdown-menu.d.ts +5 -2
- package/types/edsis-ui-editor.d.ts +1 -0
- package/types/edsis-ui-hover-card.d.ts +3 -1
- package/types/edsis-ui-layout-services.d.ts +1 -0
- package/types/edsis-ui-layout-types.d.ts +1 -0
- package/types/edsis-ui-layout.d.ts +153 -0
- package/types/edsis-ui-menubar.d.ts +2 -0
- package/types/edsis-ui-nav-service.d.ts +138 -0
- package/types/edsis-ui-nav.d.ts +205 -0
- package/types/edsis-ui-navigation-menu.d.ts +2 -0
- package/types/edsis-ui-page.d.ts +137 -0
- package/types/edsis-ui-popover.d.ts +2 -1
- package/types/edsis-ui-theme.d.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edsis-ui-layout.mjs","sources":["../../../library/ui/layout/types/layout.types.ts","../../../library/ui/layout/services/layout.service.ts","../../../library/ui/layout/ui-layout.component.ts","../../../library/ui/layout/vertical/ui-layout-vertical.component.ts","../../../library/ui/layout/horizontal/ui-layout-horizontal.component.ts","../../../library/ui/layout/empty/ui-layout-empty.component.ts","../../../library/ui/layout/nav/ui-layout-nav.component.ts","../../../library/ui/layout/content/ui-layout-content.component.ts","../../../library/ui/layout/edsis-ui-layout.ts"],"sourcesContent":["import type { Signal } from '@angular/core';\n\nexport const UI_LAYOUT_TYPES = ['vertical', 'horizontal', 'empty'] as const;\nexport const UI_LAYOUT_SURFACES = ['flat', 'grid', 'honeycome', 'line-vertical', 'line-horizontal'] as const;\nexport const UI_LAYOUT_STYLES = ['flat', 'border-rail'] as const;\nexport const UI_LAYOUT_WIDTHS = ['full', 'wide', 'container'] as const;\n\nexport type UiLayoutType = (typeof UI_LAYOUT_TYPES)[number];\nexport type UiLayoutSurface = (typeof UI_LAYOUT_SURFACES)[number];\nexport type UiLayoutStyle = (typeof UI_LAYOUT_STYLES)[number];\nexport type UiLayoutWidth = (typeof UI_LAYOUT_WIDTHS)[number];\n\nexport const UI_LAYOUT_DEFAULT_SURFACE: UiLayoutSurface = 'flat';\nexport const UI_LAYOUT_DEFAULT_TYPE: UiLayoutType = 'vertical';\nexport const UI_LAYOUT_DEFAULT_STYLE: UiLayoutStyle = 'flat';\nexport const UI_LAYOUT_DEFAULT_WIDTH: UiLayoutWidth = 'full';\n\nexport const UI_LAYOUT_SURFACE_STORAGE_KEY = 'layout-surface';\nexport const UI_LAYOUT_APPEARANCE_STORAGE_KEY = 'layout-appearance';\nexport const UI_LAYOUT_TYPE_STORAGE_KEY = 'layout-type';\nexport const UI_LAYOUT_STYLE_STORAGE_KEY = 'layout-style';\nexport const UI_LAYOUT_WIDTH_STORAGE_KEY = 'layout-width';\n\nexport interface UiLayoutContextValue {\n surface: Signal<UiLayoutSurface>;\n type: Signal<UiLayoutType>;\n appearance: Signal<UiLayoutStyle>;\n style: Signal<UiLayoutStyle>;\n width: Signal<UiLayoutWidth>;\n}\n\nexport function isUiLayoutSurface(value: string | null): value is UiLayoutSurface {\n return value !== null && (UI_LAYOUT_SURFACES as readonly string[]).includes(value);\n}\n\nexport function isUiLayoutType(value: string | null): value is UiLayoutType {\n return value !== null && (UI_LAYOUT_TYPES as readonly string[]).includes(value);\n}\n\nexport function isUiLayoutStyle(value: string | null): value is UiLayoutStyle {\n return value !== null && (UI_LAYOUT_STYLES as readonly string[]).includes(value);\n}\n\nexport function isUiLayoutWidth(value: string | null): value is UiLayoutWidth {\n return value !== null && (UI_LAYOUT_WIDTHS as readonly string[]).includes(value);\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport {\n UI_LAYOUT_APPEARANCE_STORAGE_KEY,\n isUiLayoutSurface,\n isUiLayoutStyle,\n isUiLayoutType,\n isUiLayoutWidth,\n UI_LAYOUT_DEFAULT_SURFACE,\n UI_LAYOUT_DEFAULT_STYLE,\n UI_LAYOUT_DEFAULT_TYPE,\n UI_LAYOUT_DEFAULT_WIDTH,\n UI_LAYOUT_SURFACE_STORAGE_KEY,\n UI_LAYOUT_STYLE_STORAGE_KEY,\n UI_LAYOUT_TYPE_STORAGE_KEY,\n UI_LAYOUT_WIDTH_STORAGE_KEY,\n type UiLayoutSurface,\n type UiLayoutStyle,\n type UiLayoutType,\n type UiLayoutWidth,\n} from '../types/layout.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutService {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly surfaceState = signal<UiLayoutSurface>(this.getStoredSurface());\n private readonly typeState = signal<UiLayoutType>(this.getStoredType());\n private readonly styleState = signal<UiLayoutStyle>(this.getStoredStyle());\n private readonly widthState = signal<UiLayoutWidth>(this.getStoredWidth());\n\n readonly surface = this.surfaceState.asReadonly();\n readonly type = this.typeState.asReadonly();\n readonly appearance = this.styleState.asReadonly();\n readonly style = this.styleState.asReadonly();\n readonly width = this.widthState.asReadonly();\n\n registerDefaults(defaults: {\n surface?: UiLayoutSurface;\n appearance?: UiLayoutStyle;\n type?: UiLayoutType;\n width?: UiLayoutWidth;\n }): this {\n if (defaults.surface !== undefined) {\n this.registerSurface(defaults.surface);\n }\n\n if (defaults.appearance !== undefined) {\n this.registerAppearance(defaults.appearance);\n }\n\n if (defaults.type !== undefined) {\n this.registerType(defaults.type);\n }\n\n if (defaults.width !== undefined) {\n this.registerWidth(defaults.width);\n }\n\n return this;\n }\n\n registerSurface(surface: UiLayoutSurface): void {\n const storedSurface = this.readStorage(UI_LAYOUT_SURFACE_STORAGE_KEY);\n\n if (isUiLayoutSurface(storedSurface)) {\n this.surfaceState.set(storedSurface);\n return;\n }\n\n this.setSurface(surface);\n }\n\n registerType(type: UiLayoutType): void {\n const storedType = this.readStorage(UI_LAYOUT_TYPE_STORAGE_KEY);\n\n if (isUiLayoutType(storedType)) {\n this.typeState.set(storedType);\n return;\n }\n\n this.setType(type);\n }\n\n registerAppearance(appearance: UiLayoutStyle): void {\n this.setAppearance(this.getStoredAppearanceOrDefault(appearance));\n }\n\n registerStyle(style: UiLayoutStyle): void {\n this.registerAppearance(style);\n }\n\n registerWidth(width: UiLayoutWidth): void {\n const storedWidth = this.readStorage(UI_LAYOUT_WIDTH_STORAGE_KEY);\n\n if (isUiLayoutWidth(storedWidth)) {\n this.widthState.set(storedWidth);\n return;\n }\n\n this.setWidth(width);\n }\n\n setSurface(surface: UiLayoutSurface): void {\n this.surfaceState.set(surface);\n this.writeStorage(UI_LAYOUT_SURFACE_STORAGE_KEY, surface);\n }\n\n setType(type: UiLayoutType): void {\n this.typeState.set(type);\n this.writeStorage(UI_LAYOUT_TYPE_STORAGE_KEY, type);\n }\n\n setAppearance(appearance: UiLayoutStyle): void {\n this.styleState.set(appearance);\n this.writeStorage(UI_LAYOUT_APPEARANCE_STORAGE_KEY, appearance);\n this.removeStorage(UI_LAYOUT_STYLE_STORAGE_KEY);\n }\n\n setStyle(style: UiLayoutStyle): void {\n this.setAppearance(style);\n }\n\n setWidth(width: UiLayoutWidth): void {\n this.widthState.set(width);\n this.writeStorage(UI_LAYOUT_WIDTH_STORAGE_KEY, width);\n }\n\n getStoredSurface(): UiLayoutSurface {\n const value = this.readStorage(UI_LAYOUT_SURFACE_STORAGE_KEY);\n return isUiLayoutSurface(value) ? value : UI_LAYOUT_DEFAULT_SURFACE;\n }\n\n getStoredType(): UiLayoutType {\n const value = this.readStorage(UI_LAYOUT_TYPE_STORAGE_KEY);\n return isUiLayoutType(value) ? value : UI_LAYOUT_DEFAULT_TYPE;\n }\n\n getStoredAppearance(): UiLayoutStyle {\n const value = this.readStoredAppearance();\n return value ?? UI_LAYOUT_DEFAULT_STYLE;\n }\n\n getStoredStyle(): UiLayoutStyle {\n return this.getStoredAppearance();\n }\n\n getStoredWidth(): UiLayoutWidth {\n const value = this.readStorage(UI_LAYOUT_WIDTH_STORAGE_KEY);\n return isUiLayoutWidth(value) ? value : UI_LAYOUT_DEFAULT_WIDTH;\n }\n\n private readStorage(key: string): string | null {\n const storage = this.getStorage();\n if (!storage) {\n return null;\n }\n\n try {\n return storage.getItem(key);\n } catch {\n return null;\n }\n }\n\n private removeStorage(key: string): void {\n const storage = this.getStorage();\n if (!storage) {\n return;\n }\n\n try {\n storage.removeItem(key);\n } catch {\n return;\n }\n }\n\n private writeStorage(key: string, value: string): void {\n const storage = this.getStorage();\n if (!storage) {\n return;\n }\n\n try {\n storage.setItem(key, value);\n } catch {\n return;\n }\n }\n\n private getStorage(): Storage | null {\n if (!isPlatformBrowser(this.platformId)) {\n return null;\n }\n\n try {\n return localStorage;\n } catch {\n return null;\n }\n }\n\n private readStoredAppearance(): UiLayoutStyle | null {\n const appearance = this.readStorage(UI_LAYOUT_APPEARANCE_STORAGE_KEY);\n if (isUiLayoutStyle(appearance)) {\n return appearance;\n }\n\n const legacyStyle = this.readStorage(UI_LAYOUT_STYLE_STORAGE_KEY);\n return isUiLayoutStyle(legacyStyle) ? legacyStyle : null;\n }\n\n private getStoredAppearanceOrDefault(fallback: UiLayoutStyle): UiLayoutStyle {\n return this.readStoredAppearance() ?? fallback;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input } from '@angular/core';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from './services/layout.service';\nimport {\n UI_LAYOUT_DEFAULT_STYLE,\n UI_LAYOUT_DEFAULT_SURFACE,\n UI_LAYOUT_DEFAULT_WIDTH,\n type UiLayoutStyle,\n type UiLayoutSurface,\n type UiLayoutWidth,\n} from './types/layout.types';\n\n@Component({\n selector: 'ui-layout',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-surface]': 'resolvedSurface()',\n '[attr.data-layout-appearance]': 'resolvedAppearance()',\n '[attr.data-layout-style]': 'resolvedStyle()',\n '[attr.data-layout-width]': 'resolvedWidth()',\n '[attr.data-layout-type]': 'layout.type()',\n },\n template: `\n @if (isBorderRail()) {\n <div aria-hidden=\"true\" data-layout-rail class=\"pointer-events-none absolute inset-0 z-0\">\n <div [class]=\"railPaddingClasses()\">\n <div data-layout-rail-anchor [class]=\"railAnchorClasses()\">\n <div\n data-layout-rail-top-left-horizontal\n class=\"absolute top-0 right-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-rail-top-left-vertical\n class=\"absolute bottom-full left-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n <div\n data-layout-rail-top-right-horizontal\n class=\"absolute top-0 left-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-rail-top-right-vertical\n class=\"absolute bottom-full right-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n <div\n data-layout-rail-bottom-left-horizontal\n class=\"absolute bottom-0 right-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-rail-bottom-left-vertical\n class=\"absolute top-full left-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n <div\n data-layout-rail-bottom-right-horizontal\n class=\"absolute bottom-0 left-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-rail-bottom-right-vertical\n class=\"absolute top-full right-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n\n @if (showsHorizontalInsetRails()) {\n <div data-layout-horizontal-top-rail class=\"absolute inset-x-0 top-12 h-0.5 bg-border\"></div>\n <div\n data-layout-horizontal-top-left-extension\n class=\"absolute top-12 right-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-horizontal-top-right-extension\n class=\"absolute top-12 left-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div data-layout-horizontal-bottom-rail class=\"absolute inset-x-0 bottom-12 h-0.5 bg-border\"></div>\n <div\n data-layout-horizontal-bottom-left-extension\n class=\"absolute bottom-12 right-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n <div\n data-layout-horizontal-bottom-right-extension\n class=\"absolute bottom-12 left-full h-0.5 w-[calc((100vw-100%)/2)] bg-border\"></div>\n }\n </div>\n </div>\n </div>\n }\n\n <div [class]=\"frameClasses()\">\n <div [class]=\"contentShellClasses()\">\n <ng-content />\n </div>\n </div>\n `,\n})\nexport class UiLayoutComponent {\n protected readonly layout = inject(LayoutService);\n\n readonly surface = input<UiLayoutSurface | null>(null);\n readonly appearance = input<UiLayoutStyle | null>(null);\n readonly layoutStyleAttribute = input<UiLayoutStyle | null>(null, { alias: 'layout-style' });\n readonly width = input<UiLayoutWidth | null>(null);\n readonly class = input<string>('');\n\n protected readonly appearanceInput = computed(() => this.appearance() ?? this.layoutStyleAttribute());\n protected readonly resolvedSurface = computed(() => this.surface() ?? this.layout.surface());\n protected readonly resolvedAppearance = computed(() => this.appearanceInput() ?? this.layout.appearance());\n protected readonly resolvedStyle = computed(() => this.layout.style());\n protected readonly resolvedWidth = computed(() => this.width() ?? this.layout.width());\n protected readonly isBorderRail = computed(() => this.resolvedAppearance() === 'border-rail');\n protected readonly showsHorizontalInsetRails = computed(() => {\n const layoutType = this.layout.type();\n return this.isBorderRail() && (layoutType === 'horizontal' || layoutType === 'vertical');\n });\n protected readonly railPaddingClasses = computed(() => cn('h-full w-full', this.widthClasses()));\n protected readonly railAnchorClasses = computed(() =>\n cn('relative h-full min-h-0 min-w-0', this.frameWidthClasses()),\n );\n protected readonly contentShellClasses = computed(() =>\n cn('relative z-10 h-full min-h-0 w-full min-w-0', this.isBorderRail() ? 'overflow-visible' : 'overflow-hidden'),\n );\n\n protected readonly hostClasses = computed(() =>\n cn(\n 'relative isolate block h-dvh w-full min-w-0 box-border overflow-hidden text-foreground',\n this.surfaceClasses(),\n this.widthClasses(),\n this.class(),\n ),\n );\n\n protected readonly frameClasses = computed(() =>\n cn(\n 'relative h-full min-h-0 min-w-0 border-border bg-background/55 backdrop-blur-xs',\n this.frameWidthClasses(),\n this.isBorderRail() ? 'overflow-visible border-2' : 'overflow-hidden border',\n ),\n );\n\n constructor() {\n effect(() => {\n const surface = this.surface();\n if (surface !== null) {\n this.layout.setSurface(surface);\n } else {\n this.layout.registerSurface(UI_LAYOUT_DEFAULT_SURFACE);\n }\n\n const appearance = this.appearanceInput();\n if (appearance !== null) {\n this.layout.setAppearance(appearance);\n } else {\n this.layout.registerAppearance(UI_LAYOUT_DEFAULT_STYLE);\n }\n\n const width = this.width();\n if (width !== null) {\n this.layout.setWidth(width);\n } else {\n this.layout.registerWidth(UI_LAYOUT_DEFAULT_WIDTH);\n }\n });\n }\n\n private surfaceClasses(): string {\n switch (this.resolvedSurface()) {\n case 'grid':\n return '[--ui-layout-grid-size:2rem] bg-background bg-[linear-gradient(rgba(148,163,184,0.18)_1px,transparent_1px),linear-gradient(to_right,rgba(148,163,184,0.18)_1px,transparent_1px)] bg-position-[center_center] bg-size-[var(--ui-layout-grid-size)_var(--ui-layout-grid-size)]';\n case 'honeycome':\n return 'bg-background bg-[radial-gradient(circle_at_0_0,rgba(148,163,184,0.22)_1px,transparent_1.5px)] bg-position-[center_center] bg-size-[1.25rem_1.25rem]';\n case 'line-vertical':\n return 'bg-background bg-[linear-gradient(to_right,rgba(148,163,184,0.22)_1px,transparent_1px)] bg-position-[center_center] bg-size-[2rem_2rem]';\n case 'line-horizontal':\n return 'bg-background bg-[linear-gradient(rgba(148,163,184,0.22)_1px,transparent_1px)] bg-position-[center_center] bg-size-[2rem_2rem]';\n default:\n return 'bg-background';\n }\n }\n\n private widthClasses(): string {\n switch (this.resolvedWidth()) {\n case 'wide':\n return 'p-4 lg:p-12';\n case 'container':\n return 'p-4 lg:px-0 lg:py-16';\n default:\n return 'p-4';\n }\n }\n\n private frameWidthClasses(): string {\n return this.resolvedWidth() === 'container' ? 'w-full lg:container lg:mx-auto' : 'w-full';\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from '../services/layout.service';\n\n@Component({\n selector: 'ui-layout-vertical',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n 'data-layout-type': 'vertical',\n },\n template: `<ng-content />`,\n})\nexport class UiLayoutVerticalComponent {\n private readonly layout = inject(LayoutService);\n\n readonly class = input<string>('');\n\n protected readonly classes = computed(() =>\n cn(\n 'grid h-full min-h-0 w-full min-w-0 grid-cols-[auto_minmax(0,1fr)]',\n this.layout.style() === 'border-rail' ? 'overflow-visible' : 'overflow-hidden',\n this.class(),\n ),\n );\n\n constructor() {\n this.layout.setType('vertical');\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from '../services/layout.service';\n\n@Component({\n selector: 'ui-layout-horizontal',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n 'data-layout-type': 'horizontal',\n },\n template: `<ng-content />`,\n})\nexport class UiLayoutHorizontalComponent {\n private readonly layout = inject(LayoutService);\n\n readonly class = input<string>('');\n\n protected readonly classes = computed(() =>\n cn('flex h-full min-h-0 w-full min-w-0 flex-col overflow-hidden', this.class()),\n );\n\n constructor() {\n this.layout.setType('horizontal');\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from '../services/layout.service';\n\n@Component({\n selector: 'ui-layout-empty',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n 'data-layout-type': 'empty',\n },\n template: `<ng-content />`,\n})\nexport class UiLayoutEmptyComponent {\n private readonly layout = inject(LayoutService);\n\n readonly class = input<string>('');\n\n protected readonly classes = computed(() => cn('h-full min-h-0 w-full min-w-0 overflow-hidden', this.class()));\n\n constructor() {\n this.layout.setType('empty');\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, contentChild, inject, input } from '@angular/core';\nimport { UiNavComponent } from '@edsis/ui/nav';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from '../services/layout.service';\n\n@Component({\n selector: 'ui-layout-nav',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n role: 'navigation',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[attr.data-layout-type]': 'layout.type()',\n '[attr.data-layout-appearance]': 'layout.appearance()',\n '[attr.data-layout-style]': 'layout.style()',\n '[attr.data-layout-nav-rail-offset]': 'resolvedRailOffset()',\n },\n template: `\n @if (showsVerticalRail()) {\n <div\n aria-hidden=\"true\"\n data-layout-nav-rail\n class=\"pointer-events-none absolute inset-y-0 right-0 z-20 w-0.5 transition-transform duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none\"\n [style.transform]=\"railTransform()\">\n <div data-layout-nav-rail-line class=\"absolute inset-y-0 right-0 w-0.5 bg-border\"></div>\n <div\n data-layout-nav-rail-top\n class=\"absolute bottom-full right-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n <div\n data-layout-nav-rail-bottom\n class=\"absolute top-full right-0 h-[calc((100dvh-100%)/2)] w-0.5 bg-border\"></div>\n </div>\n }\n\n <ng-content />\n `,\n})\nexport class UiLayoutNavComponent {\n protected readonly layout = inject(LayoutService);\n protected readonly projectedNav = contentChild(UiNavComponent);\n\n readonly ariaLabel = input<string>('Layout navigation');\n readonly railOffset = input<string | null>(null);\n readonly class = input<string>('');\n protected readonly showsVerticalRail = computed(\n () => this.layout.type() === 'vertical' && this.layout.appearance() === 'border-rail',\n );\n protected readonly resolvedRailOffset = computed(\n () => this.railOffset() ?? this.projectedNav()?.previewRailOffset() ?? '0px',\n );\n protected readonly railTransform = computed(() => `translateX(${this.resolvedRailOffset()})`);\n\n protected readonly classes = computed(() => {\n const layoutType = this.layout.type();\n const showsVerticalRail = this.showsVerticalRail();\n\n return cn(\n 'relative block min-h-0 min-w-0',\n layoutType === 'horizontal' && 'h-12 min-h-12 w-full shrink-0 overflow-visible',\n layoutType === 'vertical' &&\n (showsVerticalRail\n ? 'h-full w-max max-w-full shrink-0 overflow-visible'\n : 'h-full w-max max-w-full shrink-0 overflow-hidden'),\n layoutType === 'empty' && 'hidden',\n this.class(),\n );\n });\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { cn } from '@edsis/ui/utils';\nimport { LayoutService } from '../services/layout.service';\n\n@Component({\n selector: 'ui-layout-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.data-layout-type]': 'layout.type()',\n '[attr.data-layout-width]': 'layout.width()',\n },\n template: `<ng-content />`,\n})\nexport class UiLayoutContentComponent {\n protected readonly layout = inject(LayoutService);\n\n readonly class = input<string>('');\n\n protected readonly classes = computed(() => {\n const layoutType = this.layout.type();\n\n return cn(\n 'block min-h-0 min-w-0 overflow-auto',\n layoutType === 'horizontal' && 'flex-1',\n layoutType === 'vertical' && 'h-full',\n layoutType === 'empty' && 'h-full w-full',\n this.layout.width() === 'container' && 'w-full lg:container lg:mx-auto',\n this.class(),\n );\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -129,10 +129,10 @@ class MenubarComponent {
|
|
|
129
129
|
horizontalStep() {
|
|
130
130
|
return getComputedStyle(this.host.nativeElement).direction === 'rtl' ? -1 : 1;
|
|
131
131
|
}
|
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.15", type: MenubarComponent, isStandalone: true, selector: "ui-menubar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeydown($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menubar\"" } }, queries: [{ propertyName: "triggers", predicate: i0.forwardRef(() => MenubarTriggerDirective), descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
134
134
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarComponent, decorators: [{
|
|
136
136
|
type: Component,
|
|
137
137
|
args: [{
|
|
138
138
|
selector: 'ui-menubar',
|
|
@@ -149,10 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
149
149
|
args: [forwardRef(() => MenubarTriggerDirective), { descendants: true }]
|
|
150
150
|
}] } });
|
|
151
151
|
class MenubarMenuComponent {
|
|
152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.15", type: MenubarMenuComponent, isStandalone: true, selector: "ui-menubar-menu", host: { classAttribute: "contents" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarMenuComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
157
|
args: [{
|
|
158
158
|
selector: 'ui-menubar-menu',
|
|
@@ -165,10 +165,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
165
165
|
}] });
|
|
166
166
|
class MenubarContentDirective {
|
|
167
167
|
template = inject(TemplateRef);
|
|
168
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
169
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
169
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: MenubarContentDirective, isStandalone: true, selector: "ng-template[uiMenubarContent]", exportAs: ["uiMenubarContent"], ngImport: i0 });
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarContentDirective, decorators: [{
|
|
172
172
|
type: Directive,
|
|
173
173
|
args: [{
|
|
174
174
|
selector: 'ng-template[uiMenubarContent]',
|
|
@@ -187,6 +187,9 @@ class MenubarTriggerDirective {
|
|
|
187
187
|
menubar = inject(MenubarComponent, { optional: true });
|
|
188
188
|
destroyRef = inject(DestroyRef);
|
|
189
189
|
overlayRef = null;
|
|
190
|
+
constructor() {
|
|
191
|
+
this.destroyRef.onDestroy(() => this.close({ restoreFocus: false, emitOpenedChange: false }));
|
|
192
|
+
}
|
|
190
193
|
toggle() {
|
|
191
194
|
if (this.disabled()) {
|
|
192
195
|
return;
|
|
@@ -222,14 +225,17 @@ class MenubarTriggerDirective {
|
|
|
222
225
|
}
|
|
223
226
|
}
|
|
224
227
|
close(options = {}) {
|
|
225
|
-
const { restoreFocus = true } = options;
|
|
228
|
+
const { restoreFocus = true, emitOpenedChange = true } = options;
|
|
226
229
|
if (!this.isOpen()) {
|
|
227
230
|
return;
|
|
228
231
|
}
|
|
229
|
-
this.overlayRef
|
|
232
|
+
const overlayRef = this.overlayRef;
|
|
230
233
|
this.overlayRef = null;
|
|
231
234
|
this.isOpen.set(false);
|
|
232
|
-
|
|
235
|
+
overlayRef?.dispose();
|
|
236
|
+
if (emitOpenedChange) {
|
|
237
|
+
this.openedChange.emit(false);
|
|
238
|
+
}
|
|
233
239
|
this.menubar?.notifyClosed(this);
|
|
234
240
|
if (restoreFocus) {
|
|
235
241
|
this.el.nativeElement.focus();
|
|
@@ -268,10 +274,10 @@ class MenubarTriggerDirective {
|
|
|
268
274
|
const firstItem = overlayElement.querySelector('[role="menuitem"]:not([aria-disabled="true"]), [role="menuitemcheckbox"]:not([aria-disabled="true"]), [role="menuitemradio"]:not([aria-disabled="true"])');
|
|
269
275
|
firstItem?.focus();
|
|
270
276
|
}
|
|
271
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
272
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
277
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
278
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.15", type: MenubarTriggerDirective, isStandalone: true, selector: "[uiMenubarTrigger]", inputs: { uiMenubarTrigger: { classPropertyName: "uiMenubarTrigger", publicName: "uiMenubarTrigger", isSignal: true, isRequired: true, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "click": "toggle()", "keydown.enter": "openFromKeyboard($any($event), false)", "keydown.space": "openFromKeyboard($any($event), false)", "keydown.arrowDown": "openFromKeyboard($any($event), true)", "focus": "syncActiveState()", "mouseenter": "openFromHover()" }, properties: { "attr.role": "\"menuitem\"", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.tabindex": "tabIndex()", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "inline-flex min-w-0 select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground" }, exportAs: ["uiMenubarTrigger"], ngImport: i0 });
|
|
273
279
|
}
|
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MenubarTriggerDirective, decorators: [{
|
|
275
281
|
type: Directive,
|
|
276
282
|
args: [{
|
|
277
283
|
selector: '[uiMenubarTrigger]',
|
|
@@ -292,7 +298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
292
298
|
'(mouseenter)': 'openFromHover()',
|
|
293
299
|
},
|
|
294
300
|
}]
|
|
295
|
-
}], propDecorators: { uiMenubarTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "uiMenubarTrigger", required: true }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }] } });
|
|
301
|
+
}], ctorParameters: () => [], propDecorators: { uiMenubarTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "uiMenubarTrigger", required: true }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }] } });
|
|
296
302
|
|
|
297
303
|
/**
|
|
298
304
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edsis-ui-menubar.mjs","sources":["../../../library/ui/menubar/menubar.component.ts","../../../library/ui/menubar/edsis-ui-menubar.ts"],"sourcesContent":["import { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n QueryList,\n TemplateRef,\n ViewContainerRef,\n computed,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { cn } from '@edsis/ui/utils';\nimport { merge } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nexport type MenubarAlign = 'start' | 'center' | 'end';\n\nfunction position(align: MenubarAlign, side: 'bottom' | 'top'): ConnectedPosition {\n const originX = align === 'start' ? 'start' : align === 'end' ? 'end' : 'center';\n\n if (side === 'bottom') {\n return {\n originX,\n originY: 'bottom',\n overlayX: originX,\n overlayY: 'top',\n offsetY: 4,\n };\n }\n\n return {\n originX,\n originY: 'top',\n overlayX: originX,\n overlayY: 'bottom',\n offsetY: -4,\n };\n}\n\n@Component({\n selector: 'ui-menubar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.role]': '\"menubar\"',\n '(keydown)': 'onKeydown($any($event))',\n },\n template: `<ng-content />`,\n})\nexport class MenubarComponent {\n readonly class = input<string>('');\n readonly loop = input<boolean>(true);\n\n @ContentChildren(forwardRef(() => MenubarTriggerDirective), { descendants: true })\n private readonly triggers!: QueryList<MenubarTriggerDirective>;\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly activeTrigger = signal<MenubarTriggerDirective | null>(null);\n private readonly openTrigger = signal<MenubarTriggerDirective | null>(null);\n\n protected readonly classes = computed(() =>\n cn(\n 'inline-flex min-h-10 items-center gap-1 rounded-md border border-border bg-background p-1 text-foreground shadow-sm',\n this.class(),\n ),\n );\n\n setActiveTrigger(trigger: MenubarTriggerDirective): void {\n if (trigger.disabled()) {\n return;\n }\n\n this.activeTrigger.set(trigger);\n }\n\n tabIndexFor(trigger: MenubarTriggerDirective): number {\n if (trigger.disabled()) {\n return -1;\n }\n\n const enabledTriggers = this.enabledTriggers();\n\n if (enabledTriggers.length === 0) {\n return -1;\n }\n\n const activeTrigger = this.activeTrigger();\n const resolvedActiveTrigger =\n activeTrigger && enabledTriggers.includes(activeTrigger) ? activeTrigger : enabledTriggers[0];\n\n return resolvedActiveTrigger === trigger ? 0 : -1;\n }\n\n hasOpenTrigger(except?: MenubarTriggerDirective): boolean {\n const currentOpenTrigger = this.openTrigger();\n return !!currentOpenTrigger && currentOpenTrigger !== except;\n }\n\n notifyOpen(trigger: MenubarTriggerDirective): void {\n const currentOpenTrigger = this.openTrigger();\n\n if (currentOpenTrigger && currentOpenTrigger !== trigger) {\n currentOpenTrigger.close({ restoreFocus: false });\n }\n\n this.openTrigger.set(trigger);\n this.setActiveTrigger(trigger);\n }\n\n notifyClosed(trigger: MenubarTriggerDirective): void {\n if (this.openTrigger() === trigger) {\n this.openTrigger.set(null);\n }\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n const currentTrigger = this.resolveTrigger(event.target);\n\n if (!currentTrigger) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentTrigger.open({ focusFirstItem: true });\n return;\n }\n\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n this.moveFocus(currentTrigger, event.key === 'Home' ? 'start' : 'end');\n return;\n }\n\n if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.moveFocus(currentTrigger, event.key === 'ArrowRight' ? 'next' : 'previous');\n }\n }\n\n private enabledTriggers(): MenubarTriggerDirective[] {\n return this.triggers ? this.triggers.toArray().filter((trigger) => !trigger.disabled()) : [];\n }\n\n private resolveTrigger(target: EventTarget | null): MenubarTriggerDirective | null {\n return this.triggers?.toArray().find((trigger) => trigger.containsTarget(target)) ?? null;\n }\n\n private moveFocus(currentTrigger: MenubarTriggerDirective, direction: 'previous' | 'next' | 'start' | 'end'): void {\n const enabledTriggers = this.enabledTriggers();\n\n if (enabledTriggers.length === 0) {\n return;\n }\n\n const currentIndex = enabledTriggers.indexOf(currentTrigger);\n\n if (currentIndex === -1) {\n enabledTriggers[0]?.focus();\n return;\n }\n\n const nextTrigger =\n direction === 'start'\n ? enabledTriggers[0]\n : direction === 'end'\n ? enabledTriggers[enabledTriggers.length - 1]\n : enabledTriggers[\n this.nextIndex(\n currentIndex,\n direction === 'next' ? this.horizontalStep() : -this.horizontalStep(),\n enabledTriggers.length,\n )\n ];\n\n if (!nextTrigger || nextTrigger === currentTrigger) {\n return;\n }\n\n nextTrigger.focus();\n this.setActiveTrigger(nextTrigger);\n\n if (this.hasOpenTrigger(nextTrigger)) {\n nextTrigger.open();\n }\n }\n\n private nextIndex(currentIndex: number, delta: number, length: number): number {\n const rawIndex = currentIndex + delta;\n\n if (this.loop()) {\n return (rawIndex + length) % length;\n }\n\n return Math.max(0, Math.min(length - 1, rawIndex));\n }\n\n private horizontalStep(): number {\n return getComputedStyle(this.host.nativeElement).direction === 'rtl' ? -1 : 1;\n }\n}\n\n@Component({\n selector: 'ui-menubar-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'contents',\n },\n template: `<ng-content />`,\n})\nexport class MenubarMenuComponent {}\n\n@Directive({\n selector: 'ng-template[uiMenubarContent]',\n exportAs: 'uiMenubarContent',\n})\nexport class MenubarContentDirective {\n readonly template = inject<TemplateRef<unknown>>(TemplateRef);\n}\n\n@Directive({\n selector: '[uiMenubarTrigger]',\n exportAs: 'uiMenubarTrigger',\n host: {\n class:\n 'inline-flex min-w-0 select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n '[attr.role]': '\"menuitem\"',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.data-state]': 'isOpen() ? \"open\" : \"closed\"',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '(click)': 'toggle()',\n '(keydown.enter)': 'openFromKeyboard($any($event), false)',\n '(keydown.space)': 'openFromKeyboard($any($event), false)',\n '(keydown.arrowDown)': 'openFromKeyboard($any($event), true)',\n '(focus)': 'syncActiveState()',\n '(mouseenter)': 'openFromHover()',\n },\n})\nexport class MenubarTriggerDirective {\n readonly uiMenubarTrigger = input.required<MenubarContentDirective>();\n readonly align = input<MenubarAlign>('start');\n readonly disabled = input<boolean>(false);\n\n readonly openedChange = output<boolean>();\n readonly isOpen = signal(false);\n\n private readonly overlay = inject(Overlay);\n private readonly vcr = inject(ViewContainerRef);\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly menubar = inject(MenubarComponent, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n private overlayRef: OverlayRef | null = null;\n\n toggle(): void {\n if (this.disabled()) {\n return;\n }\n\n this.isOpen() ? this.close() : this.open();\n }\n\n open(options: { focusFirstItem?: boolean } = {}): void {\n if (this.isOpen() || this.disabled()) {\n return;\n }\n\n this.menubar?.notifyOpen(this);\n\n const overlayRef = this.overlay.create({\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.el)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withPositions([position(this.align(), 'bottom'), position(this.align(), 'top')]),\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n panelClass: 'ui-menubar-panel',\n });\n\n const portal = new TemplatePortal(this.uiMenubarTrigger().template, this.vcr);\n\n overlayRef.attach(portal);\n this.overlayRef = overlayRef;\n\n merge(\n overlayRef.outsidePointerEvents().pipe(filter((event) => !this.el.nativeElement.contains(event.target as Node))),\n overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')),\n overlayRef.detachments(),\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.close());\n\n this.isOpen.set(true);\n this.openedChange.emit(true);\n\n if (options.focusFirstItem) {\n queueMicrotask(() => this.focusFirstItem());\n }\n }\n\n close(options: { restoreFocus?: boolean } = {}): void {\n const { restoreFocus = true } = options;\n\n if (!this.isOpen()) {\n return;\n }\n\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen.set(false);\n this.openedChange.emit(false);\n this.menubar?.notifyClosed(this);\n\n if (restoreFocus) {\n this.el.nativeElement.focus();\n }\n }\n\n focus(): void {\n this.el.nativeElement.focus();\n }\n\n containsTarget(target: EventTarget | null): boolean {\n return target instanceof Node && this.el.nativeElement.contains(target);\n }\n\n protected tabIndex(): number {\n return this.menubar?.tabIndexFor(this) ?? (this.disabled() ? -1 : 0);\n }\n\n protected openFromKeyboard(event: KeyboardEvent, focusFirstItem: boolean): void {\n if (this.disabled()) {\n return;\n }\n\n event.preventDefault();\n this.open({ focusFirstItem });\n }\n\n protected syncActiveState(): void {\n this.menubar?.setActiveTrigger(this);\n }\n\n protected openFromHover(): void {\n if (this.disabled() || !this.menubar?.hasOpenTrigger(this)) {\n return;\n }\n\n this.open();\n }\n\n private focusFirstItem(): void {\n const overlayElement = this.overlayRef?.overlayElement;\n\n if (!overlayElement) {\n return;\n }\n\n const firstItem = overlayElement.querySelector<HTMLElement>(\n '[role=\"menuitem\"]:not([aria-disabled=\"true\"]), [role=\"menuitemcheckbox\"]:not([aria-disabled=\"true\"]), [role=\"menuitemradio\"]:not([aria-disabled=\"true\"])',\n );\n\n firstItem?.focus();\n }\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":"edsis-ui-menubar.mjs","sources":["../../../library/ui/menubar/menubar.component.ts","../../../library/ui/menubar/edsis-ui-menubar.ts"],"sourcesContent":["import { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n QueryList,\n TemplateRef,\n ViewContainerRef,\n computed,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { cn } from '@edsis/ui/utils';\nimport { merge } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nexport type MenubarAlign = 'start' | 'center' | 'end';\n\nfunction position(align: MenubarAlign, side: 'bottom' | 'top'): ConnectedPosition {\n const originX = align === 'start' ? 'start' : align === 'end' ? 'end' : 'center';\n\n if (side === 'bottom') {\n return {\n originX,\n originY: 'bottom',\n overlayX: originX,\n overlayY: 'top',\n offsetY: 4,\n };\n }\n\n return {\n originX,\n originY: 'top',\n overlayX: originX,\n overlayY: 'bottom',\n offsetY: -4,\n };\n}\n\n@Component({\n selector: 'ui-menubar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.role]': '\"menubar\"',\n '(keydown)': 'onKeydown($any($event))',\n },\n template: `<ng-content />`,\n})\nexport class MenubarComponent {\n readonly class = input<string>('');\n readonly loop = input<boolean>(true);\n\n @ContentChildren(forwardRef(() => MenubarTriggerDirective), { descendants: true })\n private readonly triggers!: QueryList<MenubarTriggerDirective>;\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly activeTrigger = signal<MenubarTriggerDirective | null>(null);\n private readonly openTrigger = signal<MenubarTriggerDirective | null>(null);\n\n protected readonly classes = computed(() =>\n cn(\n 'inline-flex min-h-10 items-center gap-1 rounded-md border border-border bg-background p-1 text-foreground shadow-sm',\n this.class(),\n ),\n );\n\n setActiveTrigger(trigger: MenubarTriggerDirective): void {\n if (trigger.disabled()) {\n return;\n }\n\n this.activeTrigger.set(trigger);\n }\n\n tabIndexFor(trigger: MenubarTriggerDirective): number {\n if (trigger.disabled()) {\n return -1;\n }\n\n const enabledTriggers = this.enabledTriggers();\n\n if (enabledTriggers.length === 0) {\n return -1;\n }\n\n const activeTrigger = this.activeTrigger();\n const resolvedActiveTrigger =\n activeTrigger && enabledTriggers.includes(activeTrigger) ? activeTrigger : enabledTriggers[0];\n\n return resolvedActiveTrigger === trigger ? 0 : -1;\n }\n\n hasOpenTrigger(except?: MenubarTriggerDirective): boolean {\n const currentOpenTrigger = this.openTrigger();\n return !!currentOpenTrigger && currentOpenTrigger !== except;\n }\n\n notifyOpen(trigger: MenubarTriggerDirective): void {\n const currentOpenTrigger = this.openTrigger();\n\n if (currentOpenTrigger && currentOpenTrigger !== trigger) {\n currentOpenTrigger.close({ restoreFocus: false });\n }\n\n this.openTrigger.set(trigger);\n this.setActiveTrigger(trigger);\n }\n\n notifyClosed(trigger: MenubarTriggerDirective): void {\n if (this.openTrigger() === trigger) {\n this.openTrigger.set(null);\n }\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n const currentTrigger = this.resolveTrigger(event.target);\n\n if (!currentTrigger) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentTrigger.open({ focusFirstItem: true });\n return;\n }\n\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n this.moveFocus(currentTrigger, event.key === 'Home' ? 'start' : 'end');\n return;\n }\n\n if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.moveFocus(currentTrigger, event.key === 'ArrowRight' ? 'next' : 'previous');\n }\n }\n\n private enabledTriggers(): MenubarTriggerDirective[] {\n return this.triggers ? this.triggers.toArray().filter((trigger) => !trigger.disabled()) : [];\n }\n\n private resolveTrigger(target: EventTarget | null): MenubarTriggerDirective | null {\n return this.triggers?.toArray().find((trigger) => trigger.containsTarget(target)) ?? null;\n }\n\n private moveFocus(currentTrigger: MenubarTriggerDirective, direction: 'previous' | 'next' | 'start' | 'end'): void {\n const enabledTriggers = this.enabledTriggers();\n\n if (enabledTriggers.length === 0) {\n return;\n }\n\n const currentIndex = enabledTriggers.indexOf(currentTrigger);\n\n if (currentIndex === -1) {\n enabledTriggers[0]?.focus();\n return;\n }\n\n const nextTrigger =\n direction === 'start'\n ? enabledTriggers[0]\n : direction === 'end'\n ? enabledTriggers[enabledTriggers.length - 1]\n : enabledTriggers[\n this.nextIndex(\n currentIndex,\n direction === 'next' ? this.horizontalStep() : -this.horizontalStep(),\n enabledTriggers.length,\n )\n ];\n\n if (!nextTrigger || nextTrigger === currentTrigger) {\n return;\n }\n\n nextTrigger.focus();\n this.setActiveTrigger(nextTrigger);\n\n if (this.hasOpenTrigger(nextTrigger)) {\n nextTrigger.open();\n }\n }\n\n private nextIndex(currentIndex: number, delta: number, length: number): number {\n const rawIndex = currentIndex + delta;\n\n if (this.loop()) {\n return (rawIndex + length) % length;\n }\n\n return Math.max(0, Math.min(length - 1, rawIndex));\n }\n\n private horizontalStep(): number {\n return getComputedStyle(this.host.nativeElement).direction === 'rtl' ? -1 : 1;\n }\n}\n\n@Component({\n selector: 'ui-menubar-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'contents',\n },\n template: `<ng-content />`,\n})\nexport class MenubarMenuComponent {}\n\n@Directive({\n selector: 'ng-template[uiMenubarContent]',\n exportAs: 'uiMenubarContent',\n})\nexport class MenubarContentDirective {\n readonly template = inject<TemplateRef<unknown>>(TemplateRef);\n}\n\n@Directive({\n selector: '[uiMenubarTrigger]',\n exportAs: 'uiMenubarTrigger',\n host: {\n class:\n 'inline-flex min-w-0 select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n '[attr.role]': '\"menuitem\"',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.data-state]': 'isOpen() ? \"open\" : \"closed\"',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '(click)': 'toggle()',\n '(keydown.enter)': 'openFromKeyboard($any($event), false)',\n '(keydown.space)': 'openFromKeyboard($any($event), false)',\n '(keydown.arrowDown)': 'openFromKeyboard($any($event), true)',\n '(focus)': 'syncActiveState()',\n '(mouseenter)': 'openFromHover()',\n },\n})\nexport class MenubarTriggerDirective {\n readonly uiMenubarTrigger = input.required<MenubarContentDirective>();\n readonly align = input<MenubarAlign>('start');\n readonly disabled = input<boolean>(false);\n\n readonly openedChange = output<boolean>();\n readonly isOpen = signal(false);\n\n private readonly overlay = inject(Overlay);\n private readonly vcr = inject(ViewContainerRef);\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly menubar = inject(MenubarComponent, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n private overlayRef: OverlayRef | null = null;\n\n constructor() {\n this.destroyRef.onDestroy(() => this.close({ restoreFocus: false, emitOpenedChange: false }));\n }\n\n toggle(): void {\n if (this.disabled()) {\n return;\n }\n\n this.isOpen() ? this.close() : this.open();\n }\n\n open(options: { focusFirstItem?: boolean } = {}): void {\n if (this.isOpen() || this.disabled()) {\n return;\n }\n\n this.menubar?.notifyOpen(this);\n\n const overlayRef = this.overlay.create({\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.el)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withPositions([position(this.align(), 'bottom'), position(this.align(), 'top')]),\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n panelClass: 'ui-menubar-panel',\n });\n\n const portal = new TemplatePortal(this.uiMenubarTrigger().template, this.vcr);\n\n overlayRef.attach(portal);\n this.overlayRef = overlayRef;\n\n merge(\n overlayRef.outsidePointerEvents().pipe(filter((event) => !this.el.nativeElement.contains(event.target as Node))),\n overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')),\n overlayRef.detachments(),\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.close());\n\n this.isOpen.set(true);\n this.openedChange.emit(true);\n\n if (options.focusFirstItem) {\n queueMicrotask(() => this.focusFirstItem());\n }\n }\n\n close(options: { restoreFocus?: boolean; emitOpenedChange?: boolean } = {}): void {\n const { restoreFocus = true, emitOpenedChange = true } = options;\n\n if (!this.isOpen()) {\n return;\n }\n\n const overlayRef = this.overlayRef;\n this.overlayRef = null;\n this.isOpen.set(false);\n overlayRef?.dispose();\n\n if (emitOpenedChange) {\n this.openedChange.emit(false);\n }\n\n this.menubar?.notifyClosed(this);\n\n if (restoreFocus) {\n this.el.nativeElement.focus();\n }\n }\n\n focus(): void {\n this.el.nativeElement.focus();\n }\n\n containsTarget(target: EventTarget | null): boolean {\n return target instanceof Node && this.el.nativeElement.contains(target);\n }\n\n protected tabIndex(): number {\n return this.menubar?.tabIndexFor(this) ?? (this.disabled() ? -1 : 0);\n }\n\n protected openFromKeyboard(event: KeyboardEvent, focusFirstItem: boolean): void {\n if (this.disabled()) {\n return;\n }\n\n event.preventDefault();\n this.open({ focusFirstItem });\n }\n\n protected syncActiveState(): void {\n this.menubar?.setActiveTrigger(this);\n }\n\n protected openFromHover(): void {\n if (this.disabled() || !this.menubar?.hasOpenTrigger(this)) {\n return;\n }\n\n this.open();\n }\n\n private focusFirstItem(): void {\n const overlayElement = this.overlayRef?.overlayElement;\n\n if (!overlayElement) {\n return;\n }\n\n const firstItem = overlayElement.querySelector<HTMLElement>(\n '[role=\"menuitem\"]:not([aria-disabled=\"true\"]), [role=\"menuitemcheckbox\"]:not([aria-disabled=\"true\"]), [role=\"menuitemradio\"]:not([aria-disabled=\"true\"])',\n );\n\n firstItem?.focus();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,10 @@ class NativeSelectComponent {
|
|
|
17
17
|
focus() {
|
|
18
18
|
this.el.nativeElement.focus();
|
|
19
19
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.15", type: NativeSelectComponent, isStandalone: true, selector: "select[ui-native-select]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'select[ui-native-select]', changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class]': 'classes()' }, template: '<ng-content />', styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"] }]
|
|
26
26
|
}], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
@@ -28,10 +28,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
28
28
|
class NativeSelectOptionDirective {
|
|
29
29
|
class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
30
30
|
classes = computed(() => cn(this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
32
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.15", type: NativeSelectOptionDirective, isStandalone: true, selector: "option[ui-native-select-option]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectOptionDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: 'option[ui-native-select-option]',
|
|
@@ -42,10 +42,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42
42
|
class NativeSelectOptGroupDirective {
|
|
43
43
|
class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
44
44
|
classes = computed(() => cn(this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
46
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectOptGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.15", type: NativeSelectOptGroupDirective, isStandalone: true, selector: "optgroup[ui-native-select-opt-group]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: NativeSelectOptGroupDirective, decorators: [{
|
|
49
49
|
type: Directive,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'optgroup[ui-native-select-opt-group]',
|