@frame-ui-ng/components 0.4.0-beta.0 → 0.4.2-beta.0
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/calendar/src/styles/_vars.css +4 -0
- package/calendar/src/styles/calendar.css +29 -5
- package/confirm-popover/src/styles/confirm-popover.css +20 -0
- package/date-picker/src/styles/date-picker.css +27 -1
- package/drag-drop/src/styles/_vars.css +28 -0
- package/drag-drop/src/styles/drag-drop.css +132 -0
- package/fesm2022/frame-ui-ng-components-accordion.mjs +26 -21
- package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-alert.mjs +4 -0
- package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-avatar.mjs +7 -0
- package/fesm2022/frame-ui-ng-components-avatar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-badge.mjs +4 -0
- package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +13 -6
- package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-button-group.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-button.mjs +5 -0
- package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-calendar.mjs +24 -1
- package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-card.mjs +15 -15
- package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-carousel.mjs +33 -16
- package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-checkbox.mjs +7 -9
- package/fesm2022/frame-ui-ng-components-checkbox.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-collapsible.mjs +24 -23
- package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-combobox.mjs +66 -18
- package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-command.mjs +47 -16
- package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-confirm-modal.mjs +3 -0
- package/fesm2022/frame-ui-ng-components-confirm-modal.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +423 -0
- package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -0
- package/fesm2022/frame-ui-ng-components-context-menu.mjs +71 -45
- package/fesm2022/frame-ui-ng-components-context-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-date-picker.mjs +3 -0
- package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-drag-drop.mjs +293 -0
- package/fesm2022/frame-ui-ng-components-drag-drop.mjs.map +1 -0
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +73 -36
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-empty.mjs +6 -0
- package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-field.mjs +21 -12
- package/fesm2022/frame-ui-ng-components-field.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-forms.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-forms.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-hover-card.mjs +49 -43
- package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input-otp.mjs +5 -0
- package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input.mjs +13 -0
- package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-item.mjs +10 -0
- package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-menubar.mjs +15 -0
- package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-modal.mjs +167 -128
- package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +14 -0
- package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-pagination.mjs +8 -0
- package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-popover.mjs +63 -51
- package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-progress.mjs +2 -0
- package/fesm2022/frame-ui-ng-components-progress.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-radio-group.mjs +5 -0
- package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-resizable.mjs +6 -0
- package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-select.mjs +62 -14
- package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-separator.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-separator.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sheet.mjs +99 -88
- package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sidebar.mjs +27 -12
- package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-skeleton.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-skeleton.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-slider.mjs +29 -16
- package/fesm2022/frame-ui-ng-components-slider.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-spinner.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-spinner.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-switch.mjs +6 -0
- package/fesm2022/frame-ui-ng-components-switch.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-table.mjs +76 -50
- package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tabs.mjs +4 -0
- package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-textarea.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-textarea.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-toast.mjs +2 -0
- package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-toggle.mjs +23 -16
- package/fesm2022/frame-ui-ng-components-toggle.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tooltip.mjs +30 -25
- package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-utils.mjs +5 -1
- package/fesm2022/frame-ui-ng-components-utils.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +26 -8
- package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components.mjs +1449 -571
- package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
- package/package.json +10 -2
- package/popover/src/styles/popover.css +106 -101
- package/select/src/styles/select-content.css +27 -19
- package/src/styles/components.css +6 -4
- package/styles/components.css +6 -4
- package/styles.css +6 -4
- package/types/frame-ui-ng-components-accordion.d.ts +11 -4
- package/types/frame-ui-ng-components-alert.d.ts +4 -0
- package/types/frame-ui-ng-components-avatar.d.ts +7 -0
- package/types/frame-ui-ng-components-badge.d.ts +4 -0
- package/types/frame-ui-ng-components-breadcrumb.d.ts +7 -0
- package/types/frame-ui-ng-components-button-group.d.ts +1 -0
- package/types/frame-ui-ng-components-button.d.ts +5 -0
- package/types/frame-ui-ng-components-calendar.d.ts +2 -0
- package/types/frame-ui-ng-components-card.d.ts +8 -3
- package/types/frame-ui-ng-components-carousel.d.ts +11 -2
- package/types/frame-ui-ng-components-checkbox.d.ts +3 -2
- package/types/frame-ui-ng-components-collapsible.d.ts +9 -4
- package/types/frame-ui-ng-components-combobox.d.ts +32 -3
- package/types/frame-ui-ng-components-command.d.ts +26 -4
- package/types/frame-ui-ng-components-confirm-modal.d.ts +2 -0
- package/types/frame-ui-ng-components-confirm-popover.d.ts +87 -0
- package/types/frame-ui-ng-components-context-menu.d.ts +29 -10
- package/types/frame-ui-ng-components-date-picker.d.ts +1 -0
- package/types/frame-ui-ng-components-drag-drop.d.ts +103 -0
- package/types/frame-ui-ng-components-dropdown-menu.d.ts +32 -9
- package/types/frame-ui-ng-components-empty.d.ts +6 -0
- package/types/frame-ui-ng-components-field.d.ts +9 -0
- package/types/frame-ui-ng-components-forms.d.ts +1 -0
- package/types/frame-ui-ng-components-hover-card.d.ts +8 -2
- package/types/frame-ui-ng-components-input-otp.d.ts +4 -0
- package/types/frame-ui-ng-components-input.d.ts +13 -0
- package/types/frame-ui-ng-components-item.d.ts +10 -0
- package/types/frame-ui-ng-components-menubar.d.ts +15 -0
- package/types/frame-ui-ng-components-modal.d.ts +27 -4
- package/types/frame-ui-ng-components-navigation-menu.d.ts +14 -0
- package/types/frame-ui-ng-components-pagination.d.ts +8 -0
- package/types/frame-ui-ng-components-popover.d.ts +14 -2
- package/types/frame-ui-ng-components-progress.d.ts +2 -0
- package/types/frame-ui-ng-components-radio-group.d.ts +5 -0
- package/types/frame-ui-ng-components-resizable.d.ts +3 -0
- package/types/frame-ui-ng-components-select.d.ts +23 -2
- package/types/frame-ui-ng-components-separator.d.ts +1 -0
- package/types/frame-ui-ng-components-sheet.d.ts +11 -0
- package/types/frame-ui-ng-components-sidebar.d.ts +21 -0
- package/types/frame-ui-ng-components-skeleton.d.ts +1 -0
- package/types/frame-ui-ng-components-slider.d.ts +5 -2
- package/types/frame-ui-ng-components-spinner.d.ts +1 -0
- package/types/frame-ui-ng-components-switch.d.ts +6 -0
- package/types/frame-ui-ng-components-table.d.ts +26 -0
- package/types/frame-ui-ng-components-tabs.d.ts +4 -0
- package/types/frame-ui-ng-components-textarea.d.ts +1 -0
- package/types/frame-ui-ng-components-toast.d.ts +2 -0
- package/types/frame-ui-ng-components-toggle.d.ts +8 -2
- package/types/frame-ui-ng-components-tooltip.d.ts +6 -2
- package/types/frame-ui-ng-components-utils.d.ts +3 -1
- package/types/frame-ui-ng-components-virtual-scroll.d.ts +11 -2
- package/types/frame-ui-ng-components.d.ts +507 -80
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-avatar.mjs","sources":["../../../projects/components/avatar/src/avatar.badge.ts","../../../projects/components/avatar/src/avatar.tokens.ts","../../../projects/components/avatar/src/avatar.fallback.ts","../../../projects/components/avatar/src/avatar.group.ts","../../../projects/components/avatar/src/avatar.icon.ts","../../../projects/components/avatar/src/avatar.image.ts","../../../projects/components/avatar/src/avatar.root.ts","../../../projects/components/avatar/src/avatar.types.ts","../../../projects/components/avatar/avatar.module.ts","../../../projects/components/avatar/frame-ui-ng-components-avatar.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[frAvatarBadge]',\n standalone: true,\n host: {\n class: 'frame-avatar__badge',\n },\n})\nexport class FrAvatarBadge {}\n","import { InjectionToken } from '@angular/core';\n\nexport interface FrAvatarContext {\n readonly status: () => 'error' | 'idle' | 'loaded';\n setStatus(status: 'error' | 'idle' | 'loaded'): void;\n}\n\nexport const AVATAR_ROOT = new InjectionToken<FrAvatarContext>('FrAvatar');\n","import { Directive, inject } from '@angular/core';\n\nimport { AVATAR_ROOT } from './avatar.tokens';\n\n@Directive({\n selector: '[frAvatarFallback]',\n standalone: true,\n host: {\n class: 'frame-avatar__fallback',\n '[attr.aria-hidden]': 'root.status() === \"loaded\" ? \"true\" : \"false\"',\n '[attr.data-visible]': 'root.status() === \"loaded\" ? \"false\" : \"true\"',\n },\n})\nexport class FrAvatarFallback {\n protected readonly root = inject(AVATAR_ROOT);\n}\n","import { Directive, booleanAttribute, input } from '@angular/core';\n\nimport { FrAvatarSize } from './avatar.types';\n\n@Directive({\n selector: '[frAvatarGroup]',\n standalone: true,\n host: {\n class: 'frame-avatar-group',\n '[attr.data-expand-on-hover]': 'expandOnHover() ? \"true\" : \"false\"',\n '[attr.data-size]': 'size()',\n },\n})\nexport class FrAvatarGroup {\n readonly expandOnHover = input(false, { transform: booleanAttribute });\n readonly size = input<FrAvatarSize>('md');\n}\n\n@Directive({\n selector: '[frAvatarGroupCount]',\n standalone: true,\n host: {\n class: 'frame-avatar-group__count',\n },\n})\nexport class FrAvatarGroupCount {}\n","import { Directive, inject } from '@angular/core';\n\nimport { AVATAR_ROOT } from './avatar.tokens';\n\n@Directive({\n selector: '[frAvatarIcon]',\n standalone: true,\n host: {\n class: 'frame-avatar__icon',\n '[attr.aria-hidden]': 'root.status() === \"loaded\" ? \"true\" : \"false\"',\n '[attr.data-visible]': 'root.status() === \"loaded\" ? \"false\" : \"true\"',\n },\n})\nexport class FrAvatarIcon {\n protected readonly root = inject(AVATAR_ROOT);\n}\n","import { AfterViewInit, Directive, ElementRef, inject } from '@angular/core';\n\nimport { AVATAR_ROOT } from './avatar.tokens';\n\n@Directive({\n selector: 'img[frAvatarImage]',\n standalone: true,\n host: {\n class: 'frame-avatar__image',\n '(error)': 'handleError()',\n '(load)': 'handleLoad()',\n },\n})\nexport class FrAvatarImage implements AfterViewInit {\n private readonly host = inject<ElementRef<HTMLImageElement>>(ElementRef);\n private readonly root = inject(AVATAR_ROOT);\n\n ngAfterViewInit(): void {\n const image = this.host.nativeElement;\n\n if (!image.getAttribute('src')) {\n this.root.setStatus('error');\n return;\n }\n\n if (image.complete) {\n this.root.setStatus(image.naturalWidth > 0 ? 'loaded' : 'error');\n }\n }\n\n protected handleLoad(): void {\n this.root.setStatus('loaded');\n }\n\n protected handleError(): void {\n this.root.setStatus('error');\n }\n}\n","import { Directive, input, signal } from '@angular/core';\n\nimport { AVATAR_ROOT } from './avatar.tokens';\nimport { FrAvatarSize } from './avatar.types';\n\n@Directive({\n selector: 'FrAvatar, [frAvatar]',\n exportAs: 'frAvatar',\n standalone: true,\n providers: [{ provide: AVATAR_ROOT, useExisting: FrAvatar }],\n host: {\n class: 'frame-avatar',\n '[attr.data-size]': 'size()',\n '[attr.data-status]': 'status()',\n },\n})\nexport class FrAvatar {\n readonly size = input<FrAvatarSize>('md');\n readonly status = signal<'error' | 'idle' | 'loaded'>('idle');\n\n setStatus(status: 'error' | 'idle' | 'loaded'): void {\n this.status.set(status);\n }\n}\n","export const FR_AVATAR_SIZES = ['xs', 'sm', 'md', 'lg'] as const;\n\nexport type FrAvatarSize = (typeof FR_AVATAR_SIZES)[number];\n","import { NgModule } from '@angular/core';\nimport {\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n} from './src/avatar';\n\n@NgModule({\n imports: [\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n ],\n exports: [\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n ],\n})\nexport class FrAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-avatar.mjs","sources":["../../../projects/components/avatar/src/avatar.badge.ts","../../../projects/components/avatar/src/avatar.tokens.ts","../../../projects/components/avatar/src/avatar.fallback.ts","../../../projects/components/avatar/src/avatar.group.ts","../../../projects/components/avatar/src/avatar.icon.ts","../../../projects/components/avatar/src/avatar.image.ts","../../../projects/components/avatar/src/avatar.root.ts","../../../projects/components/avatar/src/avatar.types.ts","../../../projects/components/avatar/avatar.module.ts","../../../projects/components/avatar/frame-ui-ng-components-avatar.ts"],"sourcesContent":["import { Directive } from '@angular/core';\r\n\r\n/** Badge slot for avatar. */\r\n@Directive({\r\n selector: '[frAvatarBadge]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar__badge',\r\n },\r\n})\r\nexport class FrAvatarBadge {}\r\n","import { InjectionToken } from '@angular/core';\n\nexport interface FrAvatarContext {\n readonly status: () => 'error' | 'idle' | 'loaded';\n setStatus(status: 'error' | 'idle' | 'loaded'): void;\n}\n\nexport const AVATAR_ROOT = new InjectionToken<FrAvatarContext>('FrAvatar');\n","import { Directive, inject } from '@angular/core';\r\n\r\nimport { AVATAR_ROOT } from './avatar.tokens';\r\n\r\n/** Avatar fallback component primitive. */\r\n@Directive({\r\n selector: '[frAvatarFallback]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar__fallback',\r\n '[attr.aria-hidden]': 'root.status() === \"loaded\" ? \"true\" : \"false\"',\r\n '[attr.data-visible]': 'root.status() === \"loaded\" ? \"false\" : \"true\"',\r\n },\r\n})\r\nexport class FrAvatarFallback {\r\n protected readonly root = inject(AVATAR_ROOT);\r\n}\r\n","import { Directive, booleanAttribute, input } from '@angular/core';\r\n\r\nimport { FrAvatarSize } from './avatar.types';\r\n\r\n/** Group slot for avatar. */\r\n@Directive({\r\n selector: '[frAvatarGroup]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar-group',\r\n '[attr.data-expand-on-hover]': 'expandOnHover() ? \"true\" : \"false\"',\r\n '[attr.data-size]': 'size()',\r\n },\r\n})\r\nexport class FrAvatarGroup {\r\n readonly expandOnHover = input(false, { transform: booleanAttribute });\r\n readonly size = input<FrAvatarSize>('md');\r\n}\r\n\r\n/** Avatar group count component primitive. */\r\n@Directive({\r\n selector: '[frAvatarGroupCount]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar-group__count',\r\n },\r\n})\r\nexport class FrAvatarGroupCount {}\r\n","import { Directive, inject } from '@angular/core';\r\n\r\nimport { AVATAR_ROOT } from './avatar.tokens';\r\n\r\n/** Icon slot for avatar. */\r\n@Directive({\r\n selector: '[frAvatarIcon]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar__icon',\r\n '[attr.aria-hidden]': 'root.status() === \"loaded\" ? \"true\" : \"false\"',\r\n '[attr.data-visible]': 'root.status() === \"loaded\" ? \"false\" : \"true\"',\r\n },\r\n})\r\nexport class FrAvatarIcon {\r\n protected readonly root = inject(AVATAR_ROOT);\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, inject } from '@angular/core';\r\n\r\nimport { AVATAR_ROOT } from './avatar.tokens';\r\n\r\n/** Avatar image component primitive. */\r\n@Directive({\r\n selector: 'img[frAvatarImage]',\r\n standalone: true,\r\n host: {\r\n class: 'frame-avatar__image',\r\n '(error)': 'handleError()',\r\n '(load)': 'handleLoad()',\r\n },\r\n})\r\nexport class FrAvatarImage implements AfterViewInit {\r\n private readonly host = inject<ElementRef<HTMLImageElement>>(ElementRef);\r\n private readonly root = inject(AVATAR_ROOT);\r\n\r\n ngAfterViewInit(): void {\r\n const image = this.host.nativeElement;\r\n\r\n if (!image.getAttribute('src')) {\r\n this.root.setStatus('error');\r\n return;\r\n }\r\n\r\n if (image.complete) {\r\n this.root.setStatus(image.naturalWidth > 0 ? 'loaded' : 'error');\r\n }\r\n }\r\n\r\n protected handleLoad(): void {\r\n this.root.setStatus('loaded');\r\n }\r\n\r\n protected handleError(): void {\r\n this.root.setStatus('error');\r\n }\r\n}\r\n","import { Directive, input, signal } from '@angular/core';\r\n\r\nimport { AVATAR_ROOT } from './avatar.tokens';\r\nimport { FrAvatarSize } from './avatar.types';\r\n\r\n/** Avatar component primitive. */\r\n@Directive({\r\n selector: 'FrAvatar, [frAvatar]',\r\n exportAs: 'frAvatar',\r\n standalone: true,\r\n providers: [{ provide: AVATAR_ROOT, useExisting: FrAvatar }],\r\n host: {\r\n class: 'frame-avatar',\r\n '[attr.data-size]': 'size()',\r\n '[attr.data-status]': 'status()',\r\n },\r\n})\r\nexport class FrAvatar {\r\n readonly size = input<FrAvatarSize>('md');\r\n readonly status = signal<'error' | 'idle' | 'loaded'>('idle');\r\n\r\n setStatus(status: 'error' | 'idle' | 'loaded'): void {\r\n this.status.set(status);\r\n }\r\n}\r\n","export const FR_AVATAR_SIZES = ['xs', 'sm', 'md', 'lg'] as const;\n\nexport type FrAvatarSize = (typeof FR_AVATAR_SIZES)[number];\n","import { NgModule } from '@angular/core';\nimport {\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n} from './src/avatar';\n\n@NgModule({\n imports: [\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n ],\n exports: [\n FrAvatar,\n FrAvatarBadge,\n FrAvatarFallback,\n FrAvatarGroup,\n FrAvatarGroupCount,\n FrAvatarIcon,\n FrAvatarImage,\n ],\n})\nexport class FrAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const FR_BADGE_VARIANTS = [
|
|
|
13
13
|
'link',
|
|
14
14
|
];
|
|
15
15
|
const FR_BADGE_ICON_POSITIONS = ['inline-start', 'inline-end'];
|
|
16
|
+
/** Inline badge host with variant styling. */
|
|
16
17
|
class FrBadge {
|
|
17
18
|
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
18
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBadge, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -28,6 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
28
29
|
},
|
|
29
30
|
}]
|
|
30
31
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
|
|
32
|
+
/** Icon slot for badge. */
|
|
31
33
|
class FrBadgeIcon {
|
|
32
34
|
position = input('inline-start', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
33
35
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBadgeIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -44,6 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
44
46
|
},
|
|
45
47
|
}]
|
|
46
48
|
}], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }] } });
|
|
49
|
+
/** Label slot for badge. */
|
|
47
50
|
class FrBadgeLabel {
|
|
48
51
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBadgeLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
49
52
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBadgeLabel, isStandalone: true, selector: "[frBadgeLabel]", host: { classAttribute: "frame-badge__label" }, ngImport: i0 });
|
|
@@ -57,6 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
57
60
|
},
|
|
58
61
|
}]
|
|
59
62
|
}] });
|
|
63
|
+
/** Loading indicator slot for badge. */
|
|
60
64
|
class FrBadgeSpinner {
|
|
61
65
|
position = input('inline-start', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
62
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBadgeSpinner, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-badge.mjs","sources":["../../../projects/components/badge/src/badge.ts","../../../projects/components/badge/badge.module.ts","../../../projects/components/badge/frame-ui-ng-components-badge.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\r\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\r\n\r\nexport const FR_BADGE_VARIANTS = [\r\n 'default',\r\n 'secondary',\r\n 'success',\r\n 'destructive',\r\n 'outline',\r\n 'ghost',\r\n 'link',\r\n] as const;\r\nexport const FR_BADGE_ICON_POSITIONS = ['inline-start', 'inline-end'] as const;\r\n\r\nexport type FrBadgeVariant = (typeof FR_BADGE_VARIANTS)[number];\r\nexport type FrBadgeIconPosition = (typeof FR_BADGE_ICON_POSITIONS)[number];\r\n\r\n@Directive({\r\n selector: '[frBadge], frame-badge',\r\n host: {\r\n class: 'frame-badge',\r\n '[attr.data-variant]': 'variant()',\r\n },\r\n})\r\nexport class FrBadge {\r\n readonly variant = input<FrBadgeVariant>('default');\r\n}\r\n\r\n@Directive({\r\n selector: '[frBadgeIcon]',\r\n host: {\r\n class: 'frame-badge__icon',\r\n '[attr.data-icon]': 'position()',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrBadgeIcon {\r\n readonly position = input<FrBadgeIconPosition>('inline-start');\r\n}\r\n\r\n@Directive({\r\n selector: '[frBadgeLabel]',\r\n host: {\r\n class: 'frame-badge__label',\r\n },\r\n})\r\nexport class FrBadgeLabel {}\r\n\r\n@Directive({\r\n selector: '[frBadgeSpinner]',\r\n hostDirectives: [\r\n {\r\n directive: FrSpinner,\r\n inputs: ['sizeValue', 'decorative', 'duration', 'label', 'size', 'stroke'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-badge__spinner',\r\n '[attr.data-icon]': 'position()',\r\n 'aria-hidden': 'true',\r\n '[attr.role]': 'null',\r\n '[attr.aria-label]': 'null',\r\n },\r\n})\r\nexport class FrBadgeSpinner {\r\n readonly position = input<FrBadgeIconPosition>('inline-start');\r\n}\r\n","import { NgModule } from '@angular/core';\nimport {\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n} from './src/badge';\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\n\n@NgModule({\n imports: [\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n FrSpinner,\n ],\n exports: [\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n ],\n})\nexport class FrBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGO,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,WAAW;IACX,SAAS;IACT,aAAa;IACb,SAAS;IACT,OAAO;IACP,MAAM;;MAEK,uBAAuB,GAAG,CAAC,cAAc,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-badge.mjs","sources":["../../../projects/components/badge/src/badge.ts","../../../projects/components/badge/badge.module.ts","../../../projects/components/badge/frame-ui-ng-components-badge.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\r\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\r\n\r\nexport const FR_BADGE_VARIANTS = [\r\n 'default',\r\n 'secondary',\r\n 'success',\r\n 'destructive',\r\n 'outline',\r\n 'ghost',\r\n 'link',\r\n] as const;\r\nexport const FR_BADGE_ICON_POSITIONS = ['inline-start', 'inline-end'] as const;\r\n\r\nexport type FrBadgeVariant = (typeof FR_BADGE_VARIANTS)[number];\r\nexport type FrBadgeIconPosition = (typeof FR_BADGE_ICON_POSITIONS)[number];\r\n\r\n/** Inline badge host with variant styling. */\r\n@Directive({\r\n selector: '[frBadge], frame-badge',\r\n host: {\r\n class: 'frame-badge',\r\n '[attr.data-variant]': 'variant()',\r\n },\r\n})\r\nexport class FrBadge {\r\n readonly variant = input<FrBadgeVariant>('default');\r\n}\r\n\r\n/** Icon slot for badge. */\r\n@Directive({\r\n selector: '[frBadgeIcon]',\r\n host: {\r\n class: 'frame-badge__icon',\r\n '[attr.data-icon]': 'position()',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrBadgeIcon {\r\n readonly position = input<FrBadgeIconPosition>('inline-start');\r\n}\r\n\r\n/** Label slot for badge. */\r\n@Directive({\r\n selector: '[frBadgeLabel]',\r\n host: {\r\n class: 'frame-badge__label',\r\n },\r\n})\r\nexport class FrBadgeLabel {}\r\n\r\n/** Loading indicator slot for badge. */\r\n@Directive({\r\n selector: '[frBadgeSpinner]',\r\n hostDirectives: [\r\n {\r\n directive: FrSpinner,\r\n inputs: ['sizeValue', 'decorative', 'duration', 'label', 'size', 'stroke'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-badge__spinner',\r\n '[attr.data-icon]': 'position()',\r\n 'aria-hidden': 'true',\r\n '[attr.role]': 'null',\r\n '[attr.aria-label]': 'null',\r\n },\r\n})\r\nexport class FrBadgeSpinner {\r\n readonly position = input<FrBadgeIconPosition>('inline-start');\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\nimport {\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n} from './src/badge';\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\n\n@NgModule({\n imports: [\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n FrSpinner,\n ],\n exports: [\n FrBadge,\n FrBadgeIcon,\n FrBadgeLabel,\n FrBadgeSpinner,\n ],\n})\nexport class FrBadgeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, Directive, Component, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
|
+
/** Breadcrumb navigation landmark. */
|
|
4
5
|
class FrBreadcrumb {
|
|
5
6
|
ariaLabel = input('breadcrumb', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
|
|
6
7
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumb, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -16,6 +17,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
16
17
|
},
|
|
17
18
|
}]
|
|
18
19
|
}], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
|
|
20
|
+
/** List slot for breadcrumb. */
|
|
19
21
|
class FrBreadcrumbList {
|
|
20
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
23
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBreadcrumbList, isStandalone: true, selector: "ol[frBreadcrumbList], ul[frBreadcrumbList], [frBreadcrumbList]", host: { classAttribute: "frame-breadcrumb__list" }, ngImport: i0 });
|
|
@@ -29,6 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
29
31
|
},
|
|
30
32
|
}]
|
|
31
33
|
}] });
|
|
34
|
+
/** Item slot for breadcrumb. */
|
|
32
35
|
class FrBreadcrumbItem {
|
|
33
36
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
37
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBreadcrumbItem, isStandalone: true, selector: "li[frBreadcrumbItem], [frBreadcrumbItem]", host: { classAttribute: "frame-breadcrumb__item" }, ngImport: i0 });
|
|
@@ -42,6 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
42
45
|
},
|
|
43
46
|
}]
|
|
44
47
|
}] });
|
|
48
|
+
/** Navigable link inside a breadcrumb item. */
|
|
45
49
|
class FrBreadcrumbLink {
|
|
46
50
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbLink, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
51
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBreadcrumbLink, isStandalone: true, selector: "a[frBreadcrumbLink], [frBreadcrumbLink]", host: { classAttribute: "frame-breadcrumb__link" }, ngImport: i0 });
|
|
@@ -55,6 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
55
59
|
},
|
|
56
60
|
}]
|
|
57
61
|
}] });
|
|
62
|
+
/** Page slot for breadcrumb. */
|
|
58
63
|
class FrBreadcrumbPage {
|
|
59
64
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbPage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
65
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBreadcrumbPage, isStandalone: true, selector: "[frBreadcrumbPage]", host: { attributes: { "aria-current": "page" }, classAttribute: "frame-breadcrumb__page" }, ngImport: i0 });
|
|
@@ -69,6 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
69
74
|
},
|
|
70
75
|
}]
|
|
71
76
|
}] });
|
|
77
|
+
/** Separator slot for breadcrumb. */
|
|
72
78
|
class FrBreadcrumbSeparator {
|
|
73
79
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
80
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrBreadcrumbSeparator, isStandalone: true, selector: "[frBreadcrumbSeparator]", host: { attributes: { "aria-hidden": "true", "role": "presentation" }, classAttribute: "frame-breadcrumb__separator" }, ngImport: i0 });
|
|
@@ -84,12 +90,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
84
90
|
},
|
|
85
91
|
}]
|
|
86
92
|
}] });
|
|
93
|
+
/** Ellipsis slot for breadcrumb. */
|
|
87
94
|
class FrBreadcrumbEllipsis {
|
|
88
95
|
label = input('More pages', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
89
96
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbEllipsis, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrBreadcrumbEllipsis, isStandalone: true, selector: "[frBreadcrumbEllipsis], frame-breadcrumb-ellipsis", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, classAttribute: "frame-breadcrumb__ellipsis" }, ngImport: i0, template: `
|
|
91
|
-
<span aria-hidden="true">...</span>
|
|
92
|
-
<span class="frame-breadcrumb__sr-only">{{ label() }}</span>
|
|
97
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: FrBreadcrumbEllipsis, isStandalone: true, selector: "[frBreadcrumbEllipsis], frame-breadcrumb-ellipsis", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, classAttribute: "frame-breadcrumb__ellipsis" }, ngImport: i0, template: `
|
|
98
|
+
<span aria-hidden="true">...</span>
|
|
99
|
+
<span class="frame-breadcrumb__sr-only">{{ label() }}</span>
|
|
93
100
|
`, isInline: true });
|
|
94
101
|
}
|
|
95
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrBreadcrumbEllipsis, decorators: [{
|
|
@@ -100,9 +107,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
100
107
|
class: 'frame-breadcrumb__ellipsis',
|
|
101
108
|
'role': 'presentation',
|
|
102
109
|
},
|
|
103
|
-
template: `
|
|
104
|
-
<span aria-hidden="true">...</span>
|
|
105
|
-
<span class="frame-breadcrumb__sr-only">{{ label() }}</span>
|
|
110
|
+
template: `
|
|
111
|
+
<span aria-hidden="true">...</span>
|
|
112
|
+
<span class="frame-breadcrumb__sr-only">{{ label() }}</span>
|
|
106
113
|
`,
|
|
107
114
|
}]
|
|
108
115
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-breadcrumb.mjs","sources":["../../../projects/components/breadcrumb/src/breadcrumb.ts","../../../projects/components/breadcrumb/breadcrumb.module.ts","../../../projects/components/breadcrumb/frame-ui-ng-components-breadcrumb.ts"],"sourcesContent":["import { Component, Directive, input } from '@angular/core';\n\n@Directive({\n selector: 'nav[frBreadcrumb], [frBreadcrumb]',\n host: {\n class: 'frame-breadcrumb',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class FrBreadcrumb {\n readonly ariaLabel = input('breadcrumb', { alias: 'aria-label' });\n}\n\n@Directive({\n selector: 'ol[frBreadcrumbList], ul[frBreadcrumbList], [frBreadcrumbList]',\n host: {\n class: 'frame-breadcrumb__list',\n },\n})\nexport class FrBreadcrumbList {}\n\n@Directive({\n selector: 'li[frBreadcrumbItem], [frBreadcrumbItem]',\n host: {\n class: 'frame-breadcrumb__item',\n },\n})\nexport class FrBreadcrumbItem {}\n\n@Directive({\n selector: 'a[frBreadcrumbLink], [frBreadcrumbLink]',\n host: {\n class: 'frame-breadcrumb__link',\n },\n})\nexport class FrBreadcrumbLink {}\n\n@Directive({\n selector: '[frBreadcrumbPage]',\n host: {\n class: 'frame-breadcrumb__page',\n 'aria-current': 'page',\n },\n})\nexport class FrBreadcrumbPage {}\n\n@Directive({\n selector: '[frBreadcrumbSeparator]',\n host: {\n class: 'frame-breadcrumb__separator',\n 'aria-hidden': 'true',\n 'role': 'presentation',\n },\n})\nexport class FrBreadcrumbSeparator {}\n\n@Component({\n selector: '[frBreadcrumbEllipsis], frame-breadcrumb-ellipsis',\n host: {\n class: 'frame-breadcrumb__ellipsis',\n 'role': 'presentation',\n },\n template: `\n <span aria-hidden=\"true\">...</span>\n <span class=\"frame-breadcrumb__sr-only\">{{ label() }}</span>\n `,\n})\nexport class FrBreadcrumbEllipsis {\n readonly label = input('More pages');\n}\n","import { NgModule } from '@angular/core';\nimport {\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n} from './src/breadcrumb';\n\n@NgModule({\n imports: [\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n ],\n exports: [\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n ],\n})\nexport class FrBreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-breadcrumb.mjs","sources":["../../../projects/components/breadcrumb/src/breadcrumb.ts","../../../projects/components/breadcrumb/breadcrumb.module.ts","../../../projects/components/breadcrumb/frame-ui-ng-components-breadcrumb.ts"],"sourcesContent":["import { Component, Directive, input } from '@angular/core';\r\n\r\n/** Breadcrumb navigation landmark. */\r\n@Directive({\r\n selector: 'nav[frBreadcrumb], [frBreadcrumb]',\r\n host: {\r\n class: 'frame-breadcrumb',\r\n '[attr.aria-label]': 'ariaLabel()',\r\n },\r\n})\r\nexport class FrBreadcrumb {\r\n readonly ariaLabel = input('breadcrumb', { alias: 'aria-label' });\r\n}\r\n\r\n/** List slot for breadcrumb. */\r\n@Directive({\r\n selector: 'ol[frBreadcrumbList], ul[frBreadcrumbList], [frBreadcrumbList]',\r\n host: {\r\n class: 'frame-breadcrumb__list',\r\n },\r\n})\r\nexport class FrBreadcrumbList {}\r\n\r\n/** Item slot for breadcrumb. */\r\n@Directive({\r\n selector: 'li[frBreadcrumbItem], [frBreadcrumbItem]',\r\n host: {\r\n class: 'frame-breadcrumb__item',\r\n },\r\n})\r\nexport class FrBreadcrumbItem {}\r\n\r\n/** Navigable link inside a breadcrumb item. */\r\n@Directive({\r\n selector: 'a[frBreadcrumbLink], [frBreadcrumbLink]',\r\n host: {\r\n class: 'frame-breadcrumb__link',\r\n },\r\n})\r\nexport class FrBreadcrumbLink {}\r\n\r\n/** Page slot for breadcrumb. */\r\n@Directive({\r\n selector: '[frBreadcrumbPage]',\r\n host: {\r\n class: 'frame-breadcrumb__page',\r\n 'aria-current': 'page',\r\n },\r\n})\r\nexport class FrBreadcrumbPage {}\r\n\r\n/** Separator slot for breadcrumb. */\r\n@Directive({\r\n selector: '[frBreadcrumbSeparator]',\r\n host: {\r\n class: 'frame-breadcrumb__separator',\r\n 'aria-hidden': 'true',\r\n 'role': 'presentation',\r\n },\r\n})\r\nexport class FrBreadcrumbSeparator {}\r\n\r\n/** Ellipsis slot for breadcrumb. */\r\n@Component({\r\n selector: '[frBreadcrumbEllipsis], frame-breadcrumb-ellipsis',\r\n host: {\r\n class: 'frame-breadcrumb__ellipsis',\r\n 'role': 'presentation',\r\n },\r\n template: `\r\n <span aria-hidden=\"true\">...</span>\r\n <span class=\"frame-breadcrumb__sr-only\">{{ label() }}</span>\r\n `,\r\n})\r\nexport class FrBreadcrumbEllipsis {\r\n readonly label = input('More pages');\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\nimport {\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n} from './src/breadcrumb';\n\n@NgModule({\n imports: [\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n ],\n exports: [\n FrBreadcrumb,\n FrBreadcrumbEllipsis,\n FrBreadcrumbItem,\n FrBreadcrumbLink,\n FrBreadcrumbList,\n FrBreadcrumbPage,\n FrBreadcrumbSeparator,\n ],\n})\nexport class FrBreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { input, Directive, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
const FR_BUTTON_GROUP_ORIENTATIONS = ['horizontal', 'vertical'];
|
|
5
|
+
/** Groups related buttons with shared orientation. */
|
|
5
6
|
class FrButtonGroup {
|
|
6
7
|
orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
7
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-button-group.mjs","sources":["../../../projects/components/button-group/src/button-group.ts","../../../projects/components/button-group/button-group.module.ts","../../../projects/components/button-group/frame-ui-ng-components-button-group.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\n\nexport const FR_BUTTON_GROUP_ORIENTATIONS = ['horizontal', 'vertical'] as const;\nexport type FrButtonGroupOrientation = (typeof FR_BUTTON_GROUP_ORIENTATIONS)[number];\n\n@Directive({\n selector: '[frButtonGroup], frame-button-group',\n host: {\n class: 'frame-button-group',\n '[attr.data-orientation]': 'orientation()',\n role: 'group',\n },\n})\nexport class FrButtonGroup {\n readonly orientation = input<FrButtonGroupOrientation>('horizontal');\n}\n","import { NgModule } from '@angular/core';\nimport {\n FrButtonGroup,\n} from './src/button-group';\n\n@NgModule({\n imports: [\n FrButtonGroup,\n ],\n exports: [\n FrButtonGroup,\n ],\n})\nexport class FrButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAEa,4BAA4B,GAAG,CAAC,YAAY,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-button-group.mjs","sources":["../../../projects/components/button-group/src/button-group.ts","../../../projects/components/button-group/button-group.module.ts","../../../projects/components/button-group/frame-ui-ng-components-button-group.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\r\n\r\nexport const FR_BUTTON_GROUP_ORIENTATIONS = ['horizontal', 'vertical'] as const;\r\nexport type FrButtonGroupOrientation = (typeof FR_BUTTON_GROUP_ORIENTATIONS)[number];\r\n\r\n/** Groups related buttons with shared orientation. */\r\n@Directive({\r\n selector: '[frButtonGroup], frame-button-group',\r\n host: {\r\n class: 'frame-button-group',\r\n '[attr.data-orientation]': 'orientation()',\r\n role: 'group',\r\n },\r\n})\r\nexport class FrButtonGroup {\r\n readonly orientation = input<FrButtonGroupOrientation>('horizontal');\r\n}\r\n","import { NgModule } from '@angular/core';\nimport {\n FrButtonGroup,\n} from './src/button-group';\n\n@NgModule({\n imports: [\n FrButtonGroup,\n ],\n exports: [\n FrButtonGroup,\n ],\n})\nexport class FrButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAEa,4BAA4B,GAAG,CAAC,YAAY,EAAE,UAAU;AAGrE;MASa,aAAa,CAAA;AACf,IAAA,WAAW,GAAG,KAAK,CAA2B,YAAY,kFAAC;wGADzD,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,yBAAyB,EAAE,eAAe;AAC1C,wBAAA,IAAI,EAAE,OAAO;AACd,qBAAA;AACF,iBAAA;;;MCAY,mBAAmB,CAAA;wGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAnB,mBAAmB,EAAA,OAAA,EAAA,CAN5B,aAAa,CAAA,EAAA,OAAA,EAAA,CAGb,aAAa,CAAA,EAAA,CAAA;yGAGJ,mBAAmB,EAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,aAAa;AACd,qBAAA;AACF,iBAAA;;;ACZD;;AAEG;;;;"}
|
|
@@ -10,6 +10,7 @@ const FR_BUTTON_APPEARANCES = [
|
|
|
10
10
|
const FR_BUTTON_LOADING_DISPLAYS = ['inline', 'replace'];
|
|
11
11
|
const FR_BUTTON_RADII = ['full', 'lg', 'md', 'none', 'sm'];
|
|
12
12
|
const FR_BUTTON_SIZES = ['sm', 'md', 'lg'];
|
|
13
|
+
/** Button host with FrameUI size and appearance variants. */
|
|
13
14
|
class FrButton {
|
|
14
15
|
loadingIndicator = contentChild(FrButtonLoading, ...(ngDevMode ? [{ debugName: "loadingIndicator" }] : /* istanbul ignore next */ []));
|
|
15
16
|
spinnerIndicator = contentChild(FrSpinner, ...(ngDevMode ? [{ debugName: "spinnerIndicator" }] : /* istanbul ignore next */ []));
|
|
@@ -45,6 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
45
46
|
},
|
|
46
47
|
}]
|
|
47
48
|
}], propDecorators: { loadingIndicator: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FrButtonLoading), { isSignal: true }] }], spinnerIndicator: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FrSpinner), { isSignal: true }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingDisplay", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
49
|
+
/** Icon-only button host with square sizing. */
|
|
48
50
|
class FrIconButton {
|
|
49
51
|
ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
|
|
50
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrIconButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -67,6 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
67
69
|
},
|
|
68
70
|
}]
|
|
69
71
|
}], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
|
|
72
|
+
/** Icon slot for button. */
|
|
70
73
|
class FrButtonIcon {
|
|
71
74
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrButtonIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
72
75
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrButtonIcon, isStandalone: true, selector: "[frButtonIcon]", host: { attributes: { "aria-hidden": "true" }, classAttribute: "frame-button__icon" }, ngImport: i0 });
|
|
@@ -81,6 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
81
84
|
},
|
|
82
85
|
}]
|
|
83
86
|
}] });
|
|
87
|
+
/** Label slot for button. */
|
|
84
88
|
class FrButtonLabel {
|
|
85
89
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrButtonLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
86
90
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrButtonLabel, isStandalone: true, selector: "[frButtonLabel]", host: { classAttribute: "frame-button__label" }, ngImport: i0 });
|
|
@@ -94,6 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
94
98
|
},
|
|
95
99
|
}]
|
|
96
100
|
}] });
|
|
101
|
+
/** Loading indicator slot for button. */
|
|
97
102
|
class FrButtonLoading {
|
|
98
103
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrButtonLoading, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
104
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: FrButtonLoading, isStandalone: true, selector: "[frButtonLoading]", host: { attributes: { "aria-hidden": "true" }, classAttribute: "frame-button__loading" }, ngImport: i0 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-button.mjs","sources":["../../../projects/components/button/src/button.ts","../../../projects/components/button/button.module.ts","../../../projects/components/button/frame-ui-ng-components-button.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, contentChild, input } from '@angular/core';\r\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\r\n\r\nexport const FR_BUTTON_APPEARANCES = [\r\n 'ghost',\r\n 'outline',\r\n 'primary',\r\n] as const;\r\nexport const FR_BUTTON_LOADING_DISPLAYS = ['inline', 'replace'] as const;\r\nexport const FR_BUTTON_RADII = ['full', 'lg', 'md', 'none', 'sm'] as const;\r\nexport const FR_BUTTON_SIZES = ['sm', 'md', 'lg'] as const;\r\n\r\nexport type FrButtonAppearance = (typeof FR_BUTTON_APPEARANCES)[number];\r\nexport type FrButtonLoadingDisplay = (typeof FR_BUTTON_LOADING_DISPLAYS)[number];\r\nexport type FrButtonRadius = (typeof FR_BUTTON_RADII)[number];\r\nexport type FrButtonSize = (typeof FR_BUTTON_SIZES)[number];\r\n\r\n@Directive({\r\n selector: 'a[frButton], button[frButton]',\r\n host: {\r\n class: 'frame-button',\r\n '[attr.data-appearance]': 'appearance()',\r\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\r\n '[attr.data-has-custom-loading]': 'hasCustomLoadingIndicator() ? \"\" : null',\r\n '[attr.data-loading]': 'loading() ? \"\" : null',\r\n '[attr.data-loading-display]': 'loadingDisplay()',\r\n '[attr.data-radius]': 'radius()',\r\n '[attr.data-size]': 'size()',\r\n '[attr.aria-busy]': 'loading() ? \"true\" : null',\r\n '[attr.aria-disabled]': 'disabled() ? \"true\" : null',\r\n '[attr.disabled]': 'isUnavailable() ? \"\" : null',\r\n '[class.frame-button-disabled]': 'isUnavailable()',\r\n '[class.frame-button-loading]': 'loading()',\r\n },\r\n})\r\nexport class FrButton {\r\n private readonly loadingIndicator = contentChild(FrButtonLoading);\r\n private readonly spinnerIndicator = contentChild(FrSpinner);\r\n\r\n readonly appearance = input<FrButtonAppearance>('primary');\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n readonly loading = input(false, { transform: booleanAttribute });\r\n readonly loadingDisplay = input<FrButtonLoadingDisplay>('replace');\r\n readonly radius = input<FrButtonRadius>('none');\r\n readonly size = input<FrButtonSize>('md');\r\n protected readonly hasCustomLoadingIndicator = computed(\r\n () => !!this.loadingIndicator() || !!this.spinnerIndicator(),\r\n );\r\n protected readonly isUnavailable = computed(() => this.disabled() || this.loading());\r\n}\r\n\r\n@Directive({\r\n selector: 'a[frIconButton], button[frIconButton]',\r\n hostDirectives: [\r\n {\r\n directive: FrButton,\r\n inputs: ['appearance', 'disabled', 'loading', 'loadingDisplay', 'radius', 'size'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-icon-button',\r\n '[attr.data-icon-button]': '\"\"',\r\n '[attr.aria-label]': 'ariaLabel()',\r\n },\r\n})\r\nexport class FrIconButton {\r\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\r\n}\r\n\r\n@Directive({\r\n selector: '[frButtonIcon]',\r\n host: {\r\n class: 'frame-button__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrButtonIcon {}\r\n\r\n@Directive({\r\n selector: '[frButtonLabel]',\r\n host: {\r\n class: 'frame-button__label',\r\n },\r\n})\r\nexport class FrButtonLabel {}\r\n\r\n@Directive({\r\n selector: '[frButtonLoading]',\r\n host: {\r\n class: 'frame-button__loading',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrButtonLoading {}\r\n","import { NgModule } from '@angular/core';\nimport {\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n} from './src/button';\n\n@NgModule({\n imports: [\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n ],\n exports: [\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n ],\n})\nexport class FrButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-button.mjs","sources":["../../../projects/components/button/src/button.ts","../../../projects/components/button/button.module.ts","../../../projects/components/button/frame-ui-ng-components-button.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, contentChild, input } from '@angular/core';\r\nimport { FrSpinner } from '@frame-ui-ng/components/spinner';\r\n\r\nexport const FR_BUTTON_APPEARANCES = [\r\n 'ghost',\r\n 'outline',\r\n 'primary',\r\n] as const;\r\nexport const FR_BUTTON_LOADING_DISPLAYS = ['inline', 'replace'] as const;\r\nexport const FR_BUTTON_RADII = ['full', 'lg', 'md', 'none', 'sm'] as const;\r\nexport const FR_BUTTON_SIZES = ['sm', 'md', 'lg'] as const;\r\n\r\nexport type FrButtonAppearance = (typeof FR_BUTTON_APPEARANCES)[number];\r\nexport type FrButtonLoadingDisplay = (typeof FR_BUTTON_LOADING_DISPLAYS)[number];\r\nexport type FrButtonRadius = (typeof FR_BUTTON_RADII)[number];\r\nexport type FrButtonSize = (typeof FR_BUTTON_SIZES)[number];\r\n\r\n/** Button host with FrameUI size and appearance variants. */\r\n@Directive({\r\n selector: 'a[frButton], button[frButton]',\r\n host: {\r\n class: 'frame-button',\r\n '[attr.data-appearance]': 'appearance()',\r\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\r\n '[attr.data-has-custom-loading]': 'hasCustomLoadingIndicator() ? \"\" : null',\r\n '[attr.data-loading]': 'loading() ? \"\" : null',\r\n '[attr.data-loading-display]': 'loadingDisplay()',\r\n '[attr.data-radius]': 'radius()',\r\n '[attr.data-size]': 'size()',\r\n '[attr.aria-busy]': 'loading() ? \"true\" : null',\r\n '[attr.aria-disabled]': 'disabled() ? \"true\" : null',\r\n '[attr.disabled]': 'isUnavailable() ? \"\" : null',\r\n '[class.frame-button-disabled]': 'isUnavailable()',\r\n '[class.frame-button-loading]': 'loading()',\r\n },\r\n})\r\nexport class FrButton {\r\n private readonly loadingIndicator = contentChild(FrButtonLoading);\r\n private readonly spinnerIndicator = contentChild(FrSpinner);\r\n\r\n readonly appearance = input<FrButtonAppearance>('primary');\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n readonly loading = input(false, { transform: booleanAttribute });\r\n readonly loadingDisplay = input<FrButtonLoadingDisplay>('replace');\r\n readonly radius = input<FrButtonRadius>('none');\r\n readonly size = input<FrButtonSize>('md');\r\n protected readonly hasCustomLoadingIndicator = computed(\r\n () => !!this.loadingIndicator() || !!this.spinnerIndicator(),\r\n );\r\n protected readonly isUnavailable = computed(() => this.disabled() || this.loading());\r\n}\r\n\r\n/** Icon-only button host with square sizing. */\r\n@Directive({\r\n selector: 'a[frIconButton], button[frIconButton]',\r\n hostDirectives: [\r\n {\r\n directive: FrButton,\r\n inputs: ['appearance', 'disabled', 'loading', 'loadingDisplay', 'radius', 'size'],\r\n },\r\n ],\r\n host: {\r\n class: 'frame-icon-button',\r\n '[attr.data-icon-button]': '\"\"',\r\n '[attr.aria-label]': 'ariaLabel()',\r\n },\r\n})\r\nexport class FrIconButton {\r\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\r\n}\r\n\r\n/** Icon slot for button. */\r\n@Directive({\r\n selector: '[frButtonIcon]',\r\n host: {\r\n class: 'frame-button__icon',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrButtonIcon {}\r\n\r\n/** Label slot for button. */\r\n@Directive({\r\n selector: '[frButtonLabel]',\r\n host: {\r\n class: 'frame-button__label',\r\n },\r\n})\r\nexport class FrButtonLabel {}\r\n\r\n/** Loading indicator slot for button. */\r\n@Directive({\r\n selector: '[frButtonLoading]',\r\n host: {\r\n class: 'frame-button__loading',\r\n 'aria-hidden': 'true',\r\n },\r\n})\r\nexport class FrButtonLoading {}\r\n\r\n","import { NgModule } from '@angular/core';\nimport {\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n} from './src/button';\n\n@NgModule({\n imports: [\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n ],\n exports: [\n FrButton,\n FrButtonIcon,\n FrButtonLabel,\n FrButtonLoading,\n FrIconButton,\n ],\n})\nexport class FrButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const VALUE_ACCESSOR = {
|
|
|
8
8
|
useExisting: forwardRef(() => FrCalendar),
|
|
9
9
|
multi: true,
|
|
10
10
|
};
|
|
11
|
+
/** Calendar control for single-date and range selection. */
|
|
11
12
|
class FrCalendar {
|
|
12
13
|
mode = input('single', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
13
14
|
captionLayout = input('label', ...(ngDevMode ? [{ debugName: "captionLayout" }] : /* istanbul ignore next */ []));
|
|
@@ -57,6 +58,7 @@ class FrCalendar {
|
|
|
57
58
|
yearOptions = computed(() => Array.from({ length: Math.max(0, this.toYear() - this.fromYear() + 1) }, (_, index) => this.fromYear() + index), ...(ngDevMode ? [{ debugName: "yearOptions" }] : /* istanbul ignore next */ []));
|
|
58
59
|
months = computed(() => Array.from({ length: Math.max(1, this.numberOfMonths()) }, (_, index) => this.buildMonth(addMonths(this.currentMonth(), index))), ...(ngDevMode ? [{ debugName: "months" }] : /* istanbul ignore next */ []));
|
|
59
60
|
activeDate = computed(() => this.resolveActiveDate(), ...(ngDevMode ? [{ debugName: "activeDate" }] : /* istanbul ignore next */ []));
|
|
61
|
+
hasDateLabels = computed(() => Object.keys(this.dateLabels()).length > 0, ...(ngDevMode ? [{ debugName: "hasDateLabels" }] : /* istanbul ignore next */ []));
|
|
60
62
|
onTouched = () => undefined;
|
|
61
63
|
onChange = () => undefined;
|
|
62
64
|
writeValue(value) {
|
|
@@ -152,6 +154,7 @@ class FrCalendar {
|
|
|
152
154
|
}
|
|
153
155
|
resolveActiveDate() {
|
|
154
156
|
const focused = this.focusedDate();
|
|
157
|
+
// Prefer the roving-focus target, then selection, then today, then first enabled day.
|
|
155
158
|
if (focused && this.findDay(focused) && !this.isDayDisabled(focused)) {
|
|
156
159
|
return cloneDate(focused);
|
|
157
160
|
}
|
|
@@ -199,6 +202,7 @@ class FrCalendar {
|
|
|
199
202
|
if (this.focusDayElement(date)) {
|
|
200
203
|
return;
|
|
201
204
|
}
|
|
205
|
+
// Month navigation may render the target button one tick later.
|
|
202
206
|
setTimeout(() => {
|
|
203
207
|
this.focusDayElement(date);
|
|
204
208
|
});
|
|
@@ -217,6 +221,7 @@ class FrCalendar {
|
|
|
217
221
|
const start = startOfMonth(monthDate);
|
|
218
222
|
const gridStart = startOfWeek(start, this.firstDayOfWeek());
|
|
219
223
|
const weeks = [];
|
|
224
|
+
// Always build a six-week grid so layout height stays stable across months.
|
|
220
225
|
for (let week = 0; week < 6; week++) {
|
|
221
226
|
const days = [];
|
|
222
227
|
for (let dayIndex = 0; dayIndex < 7; dayIndex++) {
|
|
@@ -250,7 +255,7 @@ class FrCalendar {
|
|
|
250
255
|
};
|
|
251
256
|
}
|
|
252
257
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: FrCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
253
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrCalendar, isStandalone: true, selector: "frame-calendar", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, captionLayout: { classPropertyName: "captionLayout", publicName: "captionLayout", isSignal: true, isRequired: false, transformFunction: null }, numberOfMonths: { classPropertyName: "numberOfMonths", publicName: "numberOfMonths", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, fromYear: { classPropertyName: "fromYear", publicName: "fromYear", isSignal: true, isRequired: false, transformFunction: null }, toYear: { classPropertyName: "toYear", publicName: "toYear", isSignal: true, isRequired: false, transformFunction: null }, showOutsideDays: { classPropertyName: "showOutsideDays", publicName: "showOutsideDays", isSignal: true, isRequired: false, transformFunction: null }, showWeekNumber: { classPropertyName: "showWeekNumber", publicName: "showWeekNumber", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: true, isRequired: false, transformFunction: null }, dateLabels: { classPropertyName: "dateLabels", publicName: "dateLabels", isSignal: true, isRequired: false, transformFunction: null }, disabledMatcher: { classPropertyName: "disabledMatcher", publicName: "disabledMatcher", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null }, previousMonthTemplate: { classPropertyName: "previousMonthTemplate", publicName: "previousMonthTemplate", isSignal: true, isRequired: false, transformFunction: null }, nextMonthTemplate: { classPropertyName: "nextMonthTemplate", publicName: "nextMonthTemplate", isSignal: true, isRequired: false, transformFunction: null }, previousMonthIcon: { classPropertyName: "previousMonthIcon", publicName: "previousMonthIcon", isSignal: true, isRequired: false, transformFunction: null }, nextMonthIcon: { classPropertyName: "nextMonthIcon", publicName: "nextMonthIcon", isSignal: true, isRequired: false, transformFunction: null }, previousMonthLabel: { classPropertyName: "previousMonthLabel", publicName: "previousMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, nextMonthLabel: { classPropertyName: "nextMonthLabel", publicName: "nextMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", monthChange: "monthChange" }, host: { properties: { "attr.data-mode": "mode()", "attr.data-caption-layout": "captionLayout()", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.dir": "dir()" }, classAttribute: "frame-calendar" }, providers: [VALUE_ACCESSOR], ngImport: i0, template: `
|
|
258
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: FrCalendar, isStandalone: true, selector: "frame-calendar", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, captionLayout: { classPropertyName: "captionLayout", publicName: "captionLayout", isSignal: true, isRequired: false, transformFunction: null }, numberOfMonths: { classPropertyName: "numberOfMonths", publicName: "numberOfMonths", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, fromYear: { classPropertyName: "fromYear", publicName: "fromYear", isSignal: true, isRequired: false, transformFunction: null }, toYear: { classPropertyName: "toYear", publicName: "toYear", isSignal: true, isRequired: false, transformFunction: null }, showOutsideDays: { classPropertyName: "showOutsideDays", publicName: "showOutsideDays", isSignal: true, isRequired: false, transformFunction: null }, showWeekNumber: { classPropertyName: "showWeekNumber", publicName: "showWeekNumber", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disabledDates: { classPropertyName: "disabledDates", publicName: "disabledDates", isSignal: true, isRequired: false, transformFunction: null }, dateLabels: { classPropertyName: "dateLabels", publicName: "dateLabels", isSignal: true, isRequired: false, transformFunction: null }, disabledMatcher: { classPropertyName: "disabledMatcher", publicName: "disabledMatcher", isSignal: true, isRequired: false, transformFunction: null }, cellTemplate: { classPropertyName: "cellTemplate", publicName: "cellTemplate", isSignal: true, isRequired: false, transformFunction: null }, previousMonthTemplate: { classPropertyName: "previousMonthTemplate", publicName: "previousMonthTemplate", isSignal: true, isRequired: false, transformFunction: null }, nextMonthTemplate: { classPropertyName: "nextMonthTemplate", publicName: "nextMonthTemplate", isSignal: true, isRequired: false, transformFunction: null }, previousMonthIcon: { classPropertyName: "previousMonthIcon", publicName: "previousMonthIcon", isSignal: true, isRequired: false, transformFunction: null }, nextMonthIcon: { classPropertyName: "nextMonthIcon", publicName: "nextMonthIcon", isSignal: true, isRequired: false, transformFunction: null }, previousMonthLabel: { classPropertyName: "previousMonthLabel", publicName: "previousMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, nextMonthLabel: { classPropertyName: "nextMonthLabel", publicName: "nextMonthLabel", isSignal: true, isRequired: false, transformFunction: null }, month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", monthChange: "monthChange" }, host: { properties: { "attr.data-mode": "mode()", "attr.data-caption-layout": "captionLayout()", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-week-number": "showWeekNumber() ? \"\" : null", "attr.data-date-labels": "hasDateLabels() ? \"\" : null", "attr.dir": "dir()" }, classAttribute: "frame-calendar" }, providers: [VALUE_ACCESSOR], ngImport: i0, template: `
|
|
254
259
|
<div class="frame-calendar__header">
|
|
255
260
|
<button
|
|
256
261
|
class="frame-calendar__nav-button"
|
|
@@ -325,6 +330,14 @@ class FrCalendar {
|
|
|
325
330
|
}
|
|
326
331
|
|
|
327
332
|
<table class="frame-calendar__table" role="grid" [attr.aria-readonly]="true">
|
|
333
|
+
<colgroup>
|
|
334
|
+
@if (showWeekNumber()) {
|
|
335
|
+
<col class="frame-calendar__week-number-column" />
|
|
336
|
+
}
|
|
337
|
+
@for (weekday of weekdayLabels(); track weekday) {
|
|
338
|
+
<col class="frame-calendar__day-column" />
|
|
339
|
+
}
|
|
340
|
+
</colgroup>
|
|
328
341
|
<thead>
|
|
329
342
|
<tr>
|
|
330
343
|
@if (showWeekNumber()) {
|
|
@@ -401,6 +414,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
401
414
|
'[attr.data-mode]': 'mode()',
|
|
402
415
|
'[attr.data-caption-layout]': 'captionLayout()',
|
|
403
416
|
'[attr.data-disabled]': 'isDisabled() ? "" : null',
|
|
417
|
+
'[attr.data-week-number]': 'showWeekNumber() ? "" : null',
|
|
418
|
+
'[attr.data-date-labels]': 'hasDateLabels() ? "" : null',
|
|
404
419
|
'[attr.dir]': 'dir()',
|
|
405
420
|
},
|
|
406
421
|
template: `
|
|
@@ -478,6 +493,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
|
|
|
478
493
|
}
|
|
479
494
|
|
|
480
495
|
<table class="frame-calendar__table" role="grid" [attr.aria-readonly]="true">
|
|
496
|
+
<colgroup>
|
|
497
|
+
@if (showWeekNumber()) {
|
|
498
|
+
<col class="frame-calendar__week-number-column" />
|
|
499
|
+
}
|
|
500
|
+
@for (weekday of weekdayLabels(); track weekday) {
|
|
501
|
+
<col class="frame-calendar__day-column" />
|
|
502
|
+
}
|
|
503
|
+
</colgroup>
|
|
481
504
|
<thead>
|
|
482
505
|
<tr>
|
|
483
506
|
@if (showWeekNumber()) {
|