{"version":3,"file":"mosaik-elements-angular.mjs","sources":["../../src/Utils/Proxy.ts","../../src/Controls/Components/Layouts/Absolute/AbsoluteItemComponent.ts","../../src/Controls/Components/Layouts/Absolute/AbsoluteComponent.ts","../../src/Controls/Components/Grouping/actionbar/ActionbarGroupComponent.ts","../../src/Controls/Components/Grouping/actionbar/ActionbarItemComponent.ts","../../src/Controls/Components/Grouping/actionbar/ActionbarSeparatorComponent.ts","../../src/Controls/Components/Grouping/actionbar/ActionbarComponent.ts","../../src/Controls/Components/Buttons/Anchor/AnchorComponent.ts","../../src/Controls/Components/Shell/AppHeaderComponent.ts","../../src/Controls/Components/Shell/AppComponent.ts","../../src/Controls/Components/Media/Chat/Tools/AttachmentChatToolComponent.ts","../../src/Controls/Components/Media/Audio/AudioComponent.ts","../../src/Cdk/Animations/AnimationRegistry.ts","../../src/Cdk/Animations/AnimateDirective.ts","../../src/Cdk/Animations/provideAnimate.ts","../../src/Cdk/Breakpoint/BreakpointRegistry.ts","../../src/Cdk/Breakpoint/BreakpointDirective.ts","../../src/Cdk/Breakpoint/provideBreakpoints.ts","../../src/Cdk/Cancel.ts","../../src/Cdk/controllers/useController.ts","../../src/Cdk/Controls/Effects/PerspectiveDirective.ts","../../src/Cdk/Controls/Effects/RippleDirective.ts","../../src/Cdk/Controls/Effects/ScaleDirective.ts","../../src/Cdk/Controls/FlexDirective.ts","../../src/Controls/Components/Ranges/ProgressRing/ProgressRingComponent.ts","../../src/Cdk/Controls/Grouping/CardIsBusyDirective.ts","../../src/Cdk/Controls/Layouts/Dock/DockDirective.ts","../../src/Cdk/Controls/Primitives/Directives/Error/ErrorKindDirective.ts","../../src/Cdk/Controls/Primitives/Directives/Error/ErrorGroupDirective.ts","../../src/Cdk/Controls/Primitives/Directives/Error/FormFieldStateDirective.ts","../../src/Controls/Components/Primitives/Flip/FlipComponent.ts","../../src/Cdk/Controls/Primitives/Directives/Flip/FlipToDirective.ts","../../src/Cdk/Controls/Primitives/Directives/Tooltip/TooltipDirective.ts","../../src/Cdk/Controls/Selectors/DataList/defineItem.ts","../../src/Cdk/Controls/Selectors/DataList/defineItems.ts","../../src/Cdk/Controls/Selectors/DataList/IItemDefContext.ts","../../src/Cdk/Controls/Selectors/DataList/ItemCellDefDirective.ts","../../src/Cdk/Forms/FormStatusHostDirective.ts","../../src/Cdk/Forms/FormFieldStatusHostDirective.ts","../../src/Controls/Components/Selectors/DataList/DataListComponent.ts","../../src/Cdk/Controls/Selectors/DataList/ItemDefDirective.ts","../../src/Cdk/Controls/Selectors/DataTable/CellDefDirective.ts","../../src/Controls/Components/Selectors/DataTable/DataTableComponent.ts","../../src/Cdk/Controls/Selectors/DataTable/HeaderCellDefDirective.ts","../../src/Cdk/Controls/Selectors/DataTable/ColumnDefDirective.ts","../../src/Cdk/Controls/Selectors/DataTable/defineColumn.ts","../../src/Cdk/Controls/Selectors/DataTable/defineColumns.ts","../../src/Cdk/Controls/Selectors/DataTable/ICellDefContext.ts","../../src/Cdk/Controls/Selectors/DataTable/IHeaderCellDefContext.ts","../../src/Controls/Components/Selectors/Stepper/StepperComponent.ts","../../src/Cdk/Controls/Selectors/Stepper/StepperNextDirective.ts","../../src/Cdk/Controls/Selectors/Stepper/StepperPrevDirective.ts","../../src/Controls/Components/Selectors/Wizard/WizardComponent.ts","../../src/Cdk/Controls/Selectors/Wizard/WizardNextDirective.ts","../../src/Cdk/Controls/Selectors/Wizard/WizardPrevDirective.ts","../../src/Cdk/Controls/SpacerDirective.ts","../../src/Cdk/Controls/TextFormatterDirective.ts","../../src/Cdk/Controls/TypographyDirective.ts","../../src/Cdk/dom/GlobalDomRef.ts","../../src/Cdk/dom/provideGlobalDom.ts","../../src/Cdk/Forms/FormFieldStatusDirective.ts","../../src/Cdk/Forms/ReactiveFormValidator.ts","../../src/Cdk/Forms/SignalFormValidator.ts","../../src/Cdk/Forms/provideForms.ts","../../src/Cdk/Forms/Validators/ReactiveValidators.ts","../../src/Cdk/Forms/Validators/SignalValidators.ts","../../src/Cdk/Icon/IconRegistry.ts","../../src/Cdk/Icon/IconDirective.ts","../../src/Cdk/Icon/IconNameDirective.ts","../../src/Cdk/Icon/provideIcons.ts","../../src/Cdk/Overlays/Dialog/behaviors/Abstracts/DialogBehavior.ts","../../src/Cdk/Overlays/Dialog/behaviors/DialogBreakpointBehavior.ts","../../src/Cdk/Overlays/Dialog/behaviors/DialogStackBehavior.ts","../../src/Controls/Components/Overlays/Dialog/DialogHeaderComponent.ts","../../src/Controls/Components/Overlays/Dialog/DialogHeaderTextComponent.ts","../../src/Controls/Components/Overlays/Dialog/DialogHeaderSubTextComponent.ts","../../src/Cdk/Overlays/Dialog/DialogTokens.ts","../../src/Controls/Components/Overlays/Dialog/DialogActionsComponent.ts","../../src/Controls/Components/Buttons/Button/ButtonComponent.ts","../../src/Cdk/Portal/PortalComponent.ts","../../src/Controls/Components/Overlays/Dialog/DialogComponent.ts","../../src/Cdk/Pipes/OfPipe.ts","../../src/Controls/Components/Overlays/Dialog/DialogFooterComponent.ts","../../src/Cdk/Overlays/Dialog/Slots/DialogSlotsTokens.ts","../../src/Cdk/Overlays/Dialog/Slots/provideDialogSlots.ts","../../src/Cdk/Overlays/Dialog/DialogPortalComponent.ts","../../src/Cdk/Overlays/Dialog/DialogPortalComponent.html","../../src/Cdk/Portal/PortalRef.ts","../../src/Cdk/Overlays/Dialog/DialogRef.ts","../../src/Cdk/Injection/StatelessInjector.ts","../../src/Cdk/Portal/PortalProvider.ts","../../src/Cdk/Overlays/Dialog/DialogService.ts","../../src/Cdk/Overlays/Dialog/provideDialogs.ts","../../src/Cdk/Overlays/Dialog/Slots/DialogActionsDirective.ts","../../src/Cdk/Overlays/Dialog/Slots/DialogContentDirective.ts","../../src/Cdk/Overlays/Dialog/Slots/DialogFooterDirective.ts","../../src/Cdk/Overlays/Dialog/Slots/DialogHeaderDirective.ts","../../src/Cdk/Overlays/Drawer/behaviors/Abstracts/DrawerBehavior.ts","../../src/Cdk/Overlays/Drawer/behaviors/DrawerBreakpointBehavior.ts","../../src/Cdk/Overlays/Drawer/behaviors/DrawerStackBehavior.ts","../../src/Cdk/Overlays/Drawer/DrawerTokens.ts","../../src/Controls/Components/Overlays/Drawer/DrawerComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerHeaderComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerHeaderTextComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerHeaderSubTextComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerContentComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerActionsComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerFooterComponent.ts","../../src/Controls/Components/Primitives/Dismiss/DismissComponent.ts","../../src/Cdk/Overlays/Drawer/Slots/DrawerSlotsTokens.ts","../../src/Cdk/Overlays/Drawer/Slots/provideDrawerSlots.ts","../../src/Cdk/Overlays/Drawer/DrawerPortalComponent.ts","../../src/Cdk/Overlays/Drawer/DrawerPortalComponent.html","../../src/Cdk/Overlays/Drawer/DrawerRef.ts","../../src/Cdk/Overlays/Drawer/DrawerService.ts","../../src/Cdk/Overlays/Drawer/provideDrawers.ts","../../src/Cdk/Overlays/Drawer/Slots/DrawerActionsDirective.ts","../../src/Cdk/Overlays/Drawer/Slots/DrawerContentDirective.ts","../../src/Cdk/Overlays/Drawer/Slots/DrawerFooterDirective.ts","../../src/Cdk/Overlays/Drawer/Slots/DrawerHeaderDirective.ts","../../src/Cdk/Overlays/MessageBox/MessageBoxTokens.ts","../../src/Controls/Components/Overlays/MessageBox/MessageBoxComponent.ts","../../src/Cdk/Overlays/MessageBox/MessageBoxPortalComponent.ts","../../src/Cdk/Overlays/MessageBox/MessageBoxPortalComponent.html","../../src/Cdk/Overlays/MessageBox/MessageBoxRef.ts","../../src/Cdk/Overlays/MessageBox/MessageBoxService.ts","../../src/Cdk/Overlays/MessageBox/provideMessageBoxes.ts","../../src/Controls/Components/Overlays/Sheet/SheetComponent.ts","../../src/Controls/Components/Overlays/Sheet/SheetContentComponent.ts","../../src/Controls/Components/Overlays/Sheet/SheetFooterComponent.ts","../../src/Controls/Components/Overlays/Sheet/SheetHeaderComponent.ts","../../src/Controls/Components/Overlays/Sheet/SheetHeaderSubTextComponent.ts","../../src/Controls/Components/Overlays/Sheet/SheetHeaderTextComponent.ts","../../src/Cdk/Overlays/Sheet/SheetTokens.ts","../../src/Cdk/Overlays/Sheet/Slots/SheetSlotsTokens.ts","../../src/Cdk/Overlays/Sheet/Slots/provideSheetSlots.ts","../../src/Cdk/Overlays/Sheet/SheetPortalComponent.ts","../../src/Cdk/Overlays/Sheet/SheetPortalComponent.html","../../src/Cdk/Overlays/Sheet/SheetRef.ts","../../src/Cdk/Overlays/Sheet/SheetService.ts","../../src/Cdk/Overlays/Sheet/provideSheets.ts","../../src/Cdk/Overlays/Sheet/Slots/SheetContentDirective.ts","../../src/Cdk/Overlays/Sheet/Slots/SheetFooterDirective.ts","../../src/Cdk/Overlays/Sheet/Slots/SheetHeaderDirective.ts","../../src/Cdk/Overlays/Toast/ToastTokens.ts","../../src/Controls/Components/Overlays/Toast/ToastComponent.ts","../../src/Cdk/Overlays/Toast/ToastPortalComponent.ts","../../src/Cdk/Overlays/Toast/ToastPortalComponent.html","../../src/Cdk/Overlays/Toast/ToastRef.ts","../../src/Cdk/Overlays/Toast/ToastService.ts","../../src/Cdk/Overlays/Toast/provideToasts.ts","../../src/Cdk/Services/TimeUpdateService.ts","../../src/Cdk/Pipes/DateAgoPipe.ts","../../src/Cdk/Pipes/FilterByPipe.ts","../../src/Cdk/Pipes/FormatPipe.ts","../../src/Cdk/Pipes/OrderByPipe.ts","../../src/Cdk/Pipes/TimeAgoPipe.ts","../../src/Cdk/Services/provideTimeUpdates.ts","../../src/Cdk/Utils/deepMerge.ts","../../src/Cdk/Theme/ThemeTokens.ts","../../src/Cdk/Theme/ThemeService.ts","../../src/Cdk/Theme/provideTheme.ts","../../src/Cdk/Translate/TranslateService.ts","../../src/Cdk/Translate/provideTranslations.ts","../../src/Cdk/Translate/TranslateDirective.ts","../../src/Cdk/Translate/TranslatePipe.ts","../../src/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxComponent.ts","../../src/Controls/Components/Media/Avatar/AvatarGroupComponent.ts","../../src/Controls/Components/Media/Avatar/AvatarComponent.ts","../../src/Controls/Components/Primitives/Backdrop/BackdropComponent.ts","../../src/Controls/Components/Media/Badge/BadgeComponent.ts","../../src/Controls/Components/Grouping/BannerGroup/BannerGroupComponent.ts","../../src/Controls/Components/Grouping/Banner/BannerHeaderComponent.ts","../../src/Controls/Components/Grouping/Banner/BannerSubHeaderComponent.ts","../../src/Controls/Components/Grouping/Banner/BannerComponent.ts","../../src/Controls/Components/Primitives/Box/BoxComponent.ts","../../src/Controls/Components/Grouping/Breadcrumb/BreadcrumbItemComponent.ts","../../src/Controls/Components/Grouping/Breadcrumb/BreadcrumbComponent.ts","../../src/Controls/Components/States/Busy/BusyStateComponent.ts","../../src/Controls/Components/Buttons/Button/ButtonGroupComponent.ts","../../src/Controls/Components/Inputs/Calendar/CalendarHeaderComponent.ts","../../src/Controls/Components/Inputs/Calendar/CalendarItemComponent.ts","../../src/Controls/Components/Inputs/Calendar/CalendarSubHeaderComponent.ts","../../src/Controls/Components/Inputs/Calendar/CalendarComponent.ts","../../src/Controls/Components/Media/Camera/CameraComponent.ts","../../src/Controls/Components/Grouping/Card/CardActionsComponent.ts","../../src/Controls/Components/Grouping/Card/CardContentComponent.ts","../../src/Controls/Components/Grouping/Card/CardFooterComponent.ts","../../src/Controls/Components/Grouping/Card/CardHeaderComponent.ts","../../src/Controls/Components/Grouping/Card/CardSubTitleComponent.ts","../../src/Controls/Components/Grouping/Card/CardTitleComponent.ts","../../src/Controls/Components/Grouping/Card/CardComponent.ts","../../src/Controls/Components/Selectors/Carousel2/Carousel2Component.ts","../../src/Controls/Components/Selectors/Carousel2/CarouselItem2Component.ts","../../src/Controls/Components/Selectors/Carousel/CarouselItemComponent.ts","../../src/Controls/Components/Selectors/Carousel/CarouselComponent.ts","../../src/Controls/Components/Cells/CellGroupComponent.ts","../../src/Controls/Components/Cells/CellComponent.ts","../../src/Controls/Components/Charts/ChartComponent.ts","../../src/Controls/Components/Media/Chat/ChatHeaderComponent.ts","../../src/Controls/Components/Media/Chat/ChatInputAttachmentListComponent.ts","../../src/Controls/Components/Media/Chat/ChatInputComponent.ts","../../src/Controls/Components/Media/Chat/ChatMarkerComponent.ts","../../src/Controls/Components/Media/Chat/ChatMessageAvatarComponent.ts","../../src/Controls/Components/Media/Chat/ChatMessageDividerComponent.ts","../../src/Controls/Components/Media/Chat/ChatMessageReactionComponent.ts","../../src/Controls/Components/Media/Chat/ChatMessageComponent.ts","../../src/Controls/Components/Media/Chat/ChatComponent.ts","../../src/Controls/Components/Inputs/CheckBox/CheckBoxGroupComponent.ts","../../src/Controls/Components/Inputs/CheckBox/CheckBoxComponent.ts","../../src/Controls/Components/Primitives/Checkmark/CheckmarkComponent.ts","../../src/Controls/Components/Media/Chip/ChipGroupComponent.ts","../../src/Controls/Components/Media/Chip/ChipComponent.ts","../../src/Controls/Components/Inputs/ChipBox/ChipBoxComponent.ts","../../src/Controls/Components/Inputs/Choice/ChoiceGroupHeaderComponent.ts","../../src/Controls/Components/Inputs/Choice/ChoiceGroupComponent.ts","../../src/Controls/Components/Inputs/Choice/ChoiceComponent.ts","../../src/Controls/Components/Primitives/Code/CodeComponent.ts","../../src/Controls/Components/Media/ColorArea/ColorAreaComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorAlphaSliderComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorAreaComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorHueSliderComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorInputsComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorPaletteComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorShadeSliderComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorSwatchComponent.ts","../../src/Controls/Components/Media/ColorEditor/ColorEditorComponent.ts","../../src/Controls/Components/Media/ColorPicker/ColorPickerComponent.ts","../../src/Controls/Components/Media/ColorSlider/ColorSliderComponent.ts","../../src/Controls/Components/Media/ColorSwatch/ColorSwatchGroupComponent.ts","../../src/Controls/Components/Media/ColorSwatch/ColorSwatchComponent.ts","../../src/Controls/Components/Media/ColorThumb/ColorThumbComponent.ts","../../src/Controls/Components/Inputs/ColorBox/ColorBoxComponent.ts","../../src/Controls/Components/Selectors/Combo/ComboItemComponent.ts","../../src/Controls/Components/Selectors/Combo/ComboComponent.ts","../../src/Controls/Components/Media/Comment/CommentComponent.ts","../../src/Controls/Components/Buttons/CompoundButton/CompoundButtonComponent.ts","../../src/Controls/Components/Misc/CookieConsent/CookiesConsentComponent.ts","../../src/Controls/Components/Inputs/DateBox/DateBoxComponent.ts","../../src/Controls/Components/Inputs/DateTimeBox/DateTimeBoxComponent.ts","../../src/Controls/Components/Layouts/Designer/Canvas/DesignerCanvasComponent.ts","../../src/Controls/Components/Layouts/Designer/Content/DesignerContentComponent.ts","../../src/Controls/Components/Layouts/Designer/Frame/DesignerFrameComponent.ts","../../src/Controls/Components/Layouts/Designer/DesignerComponent.ts","../../src/Controls/Components/Overlays/Dialog/DialogContentComponent.ts","../../src/Controls/Components/Grouping/Disclosure/DisclosureComponent.ts","../../src/Controls/Components/Primitives/Divider/DividerComponent.ts","../../src/Controls/Components/Layouts/Dock/DockPanelComponent.ts","../../src/Controls/Components/Primitives/Dot/DotGroupComponent.ts","../../src/Controls/Components/Primitives/Dot/DotComponent.ts","../../src/Controls/Components/Overlays/Drawer/DrawerContainerComponent.ts","../../src/Controls/Components/Primitives/DropZone/DropZoneComponent.ts","../../src/Controls/Components/Buttons/DropDownButton/DropDownButtonComponent.ts","../../src/Controls/Components/Inputs/DurationBox/DurationBoxComponent.ts","../../src/Controls/Components/Primitives/Elevation/ElevationComponent.ts","../../src/Controls/Components/Media/Emoji/EmojiComponent.ts","../../src/Controls/Components/States/Empty/EmptyStateComponent.ts","../../src/Controls/Components/Selectors/ElectronicProgramGuide/EpgChannelComponent.ts","../../src/Controls/Components/Selectors/ElectronicProgramGuide/EpgProgramComponent.ts","../../src/Controls/Components/Selectors/ElectronicProgramGuide/EpgComponent.ts","../../src/Controls/Components/States/Error/ErrorStateComponent.ts","../../src/Controls/Components/Primitives/Error/ErrorComponent.ts","../../src/Controls/Components/Primitives/Expandable/ExpandableComponent.ts","../../src/Controls/Components/Grouping/Expander/ExpanderGroupComponent.ts","../../src/Controls/Components/Grouping/Expander/ExpanderHeaderComponent.ts","../../src/Controls/Components/Grouping/Expander/ExpanderSubHeaderComponent.ts","../../src/Controls/Components/Grouping/Expander/ExpanderComponent.ts","../../src/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonGroupComponent.ts","../../src/Controls/Components/Buttons/FloatingActionButton/FloatingActionButtonComponent.ts","../../src/Controls/Components/Inputs/FileUpload/FilePickerComponent.ts","../../src/Controls/Components/Inputs/FileUpload/FileUploadItemComponent.ts","../../src/Controls/Components/Inputs/FileUpload/FileUploadComponent.ts","../../src/Controls/Components/Primitives/Floating/FloatingTriggerComponent.ts","../../src/Controls/Components/Primitives/Floating/FloatingComponent.ts","../../src/Controls/Components/Layouts/FlowBoard/FlowBoardColumnComposerComponent.ts","../../src/Controls/Components/Layouts/FlowBoard/FlowBoardColumnItemComposerComponent.ts","../../src/Controls/Components/Layouts/FlowBoard/FlowBoardColumnItemComponent.ts","../../src/Controls/Components/Layouts/FlowBoard/FlowBoardColumnComponent.ts","../../src/Controls/Components/Layouts/FlowBoard/FlowBoardComponent.ts","../../src/Controls/Components/Primitives/FocusRing/FocusRingComponent.ts","../../src/Controls/Components/Media/FontEditor/FontEditorComponent.ts","../../src/Controls/Components/Primitives/Footer/FooterItemGroupComponent.ts","../../src/Controls/Components/Primitives/Footer/FooterItemComponent.ts","../../src/Controls/Components/Primitives/Footer/FooterComponent.ts","../../src/Controls/Components/Forms/FormFieldComponent.ts","../../src/Controls/Components/Forms/FormComponent.ts","../../src/Controls/Components/Primitives/ghost/GhostComponent.ts","../../src/Controls/Components/Layouts/Grid/GridItemComponent.ts","../../src/Controls/Components/Layouts/Grid/GridComponent.ts","../../src/Controls/Components/Primitives/Helmet/HelmetComponent.ts","../../src/Controls/Components/Primitives/Hint/HintComponent.ts","../../src/Controls/Components/Media/Icon/IconComponent.ts","../../src/Controls/Components/Media/Image/ImageComponent.ts","../../src/Controls/Components/Primitives/Indicator/IndicatorComponent.ts","../../src/Controls/Components/Primitives/Jumbotron/JumbotronHeaderComponent.ts","../../src/Controls/Components/Primitives/Jumbotron/JumbotronSubHeaderComponent.ts","../../src/Controls/Components/Primitives/Jumbotron/JumbotronComponent.ts","../../src/Controls/Components/Primitives/Kbd/KbdShortcutComponent.ts","../../src/Controls/Components/Primitives/Kbd/KbdComponent.ts","../../src/Controls/Components/Misc/LightChain/LightChainComponent.ts","../../src/Controls/Components/Selectors/List/ListItemGroupComponent.ts","../../src/Controls/Components/Selectors/List/ListItemComponent.ts","../../src/Controls/Components/Selectors/List/ListComponent.ts","../../src/Controls/Components/Primitives/listing/ListingItemMarkerComponent.ts","../../src/Controls/Components/Primitives/listing/ListingItemComponent.ts","../../src/Controls/Components/Primitives/listing/ListingComponent.ts","../../src/Controls/Components/Media/Map/MapComponent.ts","../../src/Controls/Components/Primitives/Marquee/MarqueeComponent.ts","../../src/Controls/Components/Layouts/Masonry/MasonryComponent.ts","../../src/Controls/Components/Selectors/Menu/MenuItemGroupComponent.ts","../../src/Controls/Components/Selectors/Menu/MenuItemComponent.ts","../../src/Controls/Components/Selectors/Menu/MenuComponent.ts","../../src/Controls/Components/Grouping/Message/MessageContentComponent.ts","../../src/Controls/Components/Grouping/Message/MessageComponent.ts","../../src/Controls/Components/Ranges/MeterBar/MeterBarComponent.ts","../../src/Controls/Components/Ranges/MeterRing/MeterRingComponent.ts","../../src/Controls/Components/Primitives/Number/NumberCounterComponent.ts","../../src/Controls/Components/Primitives/Number/NumberComponent.ts","../../src/Controls/Components/Inputs/NumberBox/NumberBoxComponent.ts","../../src/Controls/Components/Layouts/Page/PageContentComponent.ts","../../src/Controls/Components/Layouts/Page/PageHeaderComponent.ts","../../src/Controls/Components/Layouts/Page/PagePreContentComponent.ts","../../src/Controls/Components/Layouts/Page/PagePreHeaderComponent.ts","../../src/Controls/Components/Layouts/Page/PageComponent.ts","../../src/Controls/Components/Layouts/Page/PageMenuComponent.ts","../../src/Controls/Components/Primitives/Paginator/PaginatorComponent.ts","../../src/Controls/Components/Inputs/PasswordBox/PasswordBoxComponent.ts","../../src/Controls/Components/Effects/Pattern/PatternComponent.ts","../../src/Controls/Components/Media/Persona/PersonaComponent.ts","../../src/Controls/Components/Effects/Perspective/PerspectiveComponent.ts","../../src/Controls/Components/Inputs/PinBox/PinBoxComponent.ts","../../src/Controls/Components/Primitives/Pip/PipComponent.ts","../../src/Controls/Components/Primitives/placeholder/PlaceholderComponent.ts","../../src/Controls/Components/Primitives/Popup/PopupComponent.ts","../../src/Controls/Components/Primitives/Portal/PortalHostComponent.ts","../../src/Controls/Components/Primitives/Portal/PortalProjectionComponent.ts","../../src/Controls/Components/Primitives/Portal/PortalComponent.ts","../../src/Controls/Components/Buttons/PressButton/PressButtonComponent.ts","../../src/Controls/Components/Ranges/ProgressBar/ProgressBarComponent.ts","../../src/Controls/Components/Media/QRCode/QRCodeComponent.ts","../../src/Controls/Components/Inputs/Radio/RadioGroupComponent.ts","../../src/Controls/Components/Inputs/Radio/RadioComponent.ts","../../src/Controls/Components/Inputs/Rating/RatingComponent.ts","../../src/Controls/Components/Media/Chat/Tools/ReactionChatToolComponent.ts","../../src/Controls/Components/Grouping/Region/RegionViewComponent.ts","../../src/Controls/Components/Grouping/Region/RegionComponent.ts","../../src/Controls/Components/Buttons/RepeatButton/RepeatButtonComponent.ts","../../src/Controls/Components/Primitives/Adorners/ResizeAdorner/ResizeAdornerComponent.ts","../../src/Controls/Components/Primitives/ResizeThumb/ResizeThumbComponent.ts","../../src/Controls/Components/Layouts/Resize/ResizeComponent.ts","../../src/Controls/Components/Primitives/Ribbon/RibbonComponent.ts","../../src/Controls/Components/Inputs/RichTextBox/RichTextBoxComponent.ts","../../src/Controls/Components/Effects/Ripple/RippleComponent.ts","../../src/Controls/Components/Effects/Scale/ScaleComponent.ts","../../src/Controls/Components/Inputs/Scheduler/SchedulerEventComponent.ts","../../src/Controls/Components/Inputs/Scheduler/SchedulerComponent.ts","../../src/Controls/Components/Primitives/Scroll/ScrollComponent.ts","../../src/Controls/Components/Ranges/ScrubSlider/ScrubSliderComponent.ts","../../src/Controls/Components/Inputs/SearchBox/SearchBoxComponent.ts","../../src/Controls/Components/Selectors/Segment/SegmentItemComponent.ts","../../src/Controls/Components/Selectors/Segment/SegmentComponent.ts","../../src/Controls/Components/Inputs/Select/SelectItemGroupComponent.ts","../../src/Controls/Components/Inputs/Select/SelectItemComponent.ts","../../src/Controls/Components/Inputs/Select/SelectComponent.ts","../../src/Controls/Components/Inputs/SignaturePad/SignaturePadComponent.ts","../../src/Controls/Components/Primitives/Skeleton/SkeletonComponent.ts","../../src/Controls/Components/Ranges/Slider/SliderComponent.ts","../../src/Controls/Components/Ranges/Slider2/Slider2ThumbComponent.ts","../../src/Controls/Components/Ranges/Slider2/Slider2Component.ts","../../src/Controls/Components/Primitives/Spacer/SpacerComponent.ts","../../src/Controls/Components/Buttons/SplitButton/SplitButtonComponent.ts","../../src/Controls/Components/Layouts/Split/SplitComponent.ts","../../src/Controls/Components/Layouts/Stack/StackComponent.ts","../../src/Controls/Components/Selectors/Stepper/StepperItemComponent.ts","../../src/Controls/Components/Primitives/Sticky/StickyComponent.ts","../../src/Controls/Components/States/Success/SuccessStateComponent.ts","../../src/Controls/Components/Primitives/Summary/SummaryComponent.ts","../../src/Controls/Components/Primitives/Swipe/SwipeComponent.ts","../../src/Controls/Components/Selectors/Tab/TabItemComponent.ts","../../src/Controls/Components/Selectors/Tab/TabPanelComponent.ts","../../src/Controls/Components/Selectors/TabStrip/TabStripItemComponent.ts","../../src/Controls/Components/Selectors/TabStrip/TabStripComponent.ts","../../src/Controls/Components/Selectors/Tab/TabComponent.ts","../../src/Controls/Components/Selectors/Table/TableBodyCellComponent.ts","../../src/Controls/Components/Selectors/Table/TableBodyRowComponent.ts","../../src/Controls/Components/Selectors/Table/TableBodyComponent.ts","../../src/Controls/Components/Selectors/Table/editor/TableColumnEditorComponent.ts","../../src/Controls/Components/Selectors/Table/TableFooterCellComponent.ts","../../src/Controls/Components/Selectors/Table/TableFooterRowComponent.ts","../../src/Controls/Components/Selectors/Table/TableFooterComponent.ts","../../src/Controls/Components/Selectors/Table/TableHeaderCellComponent.ts","../../src/Controls/Components/Selectors/Table/TableHeaderRowComponent.ts","../../src/Controls/Components/Selectors/Table/TableHeaderComponent.ts","../../src/Controls/Components/Selectors/Table/TableComponent.ts","../../src/Controls/Components/Primitives/TextFormat/TextFormatComponent.ts","../../src/Controls/Components/Primitives/Text/TextComponent.ts","../../src/Controls/Components/Inputs/TextBox/TextBoxComponent.ts","../../src/Theming/Theme2Component.ts","../../src/Controls/Components/Primitives/thumb/ThumbComponent.ts","../../src/Controls/Components/Primitives/Thumbnail/ThumbnailComponent.ts","../../src/Controls/Components/Primitives/TickBar/TickBarComponent.ts","../../src/Controls/Components/Layouts/TileList/TileListItemComponent.ts","../../src/Controls/Components/Layouts/TileList/TileListComponent.ts","../../src/Controls/Components/Layouts/TileManager/TileManagerTileComponent.ts","../../src/Controls/Components/Layouts/TileManager/TileManagerComponent.ts","../../src/Controls/Components/Buttons/Tile/TileComponent.ts","../../src/Controls/Components/Inputs/TimeBox/TimeBoxComponent.ts","../../src/Controls/Components/Media/Timeline/TimelineContentComponent.ts","../../src/Controls/Components/Media/Timeline/TimelineItemComponent.ts","../../src/Controls/Components/Media/Timeline/TimelineMarkerComponent.ts","../../src/Controls/Components/Media/Timeline/TimelineOppositeComponent.ts","../../src/Controls/Components/Media/Timeline/TimelineComponent.ts","../../src/Controls/Components/Buttons/ToggleButton/ToggleButtonGroupComponent.ts","../../src/Controls/Components/Buttons/ToggleButton/ToggleButtonComponent.ts","../../src/Controls/Components/Inputs/ToggleSwitch/ToggleSwitchComponent.ts","../../src/Controls/Components/Primitives/Toggletip/ToggleTipComponent.ts","../../src/Controls/Components/Grouping/Toolbar/ToolbarComponent.ts","../../src/Controls/Components/Primitives/Tooltip/TooltipComponent.ts","../../src/Controls/Components/Overlays/tour/TourAnchorComponent.ts","../../src/Controls/Components/Overlays/tour/TourStepComponent.ts","../../src/Controls/Components/Overlays/tour/TourComponent.ts","../../src/Controls/Components/Selectors/Tree/TreeItemComponent.ts","../../src/Controls/Components/Selectors/Tree/TreeComponent.ts","../../src/Controls/Components/Primitives/UpDownSpinner/UpDownSpinnerComponent.ts","../../src/Controls/Components/Media/Video/VideoComponent.ts","../../src/Controls/Components/Layouts/Virtualize/VirtualizeComponent.ts","../../src/Controls/Components/Media/Chat/Tools/VoiceRecorderChatToolComponent.ts","../../src/Controls/Components/Selectors/Wizard/WizardStepComponent.ts","../../src/Controls/Components/Layouts/Wrap/WrapComponent.ts","../../src/mosaik-elements-angular.ts"],"sourcesContent":["/* eslint-disable prefer-rest-params */\n/* eslint-disable prefer-spread */\n/* eslint-disable func-names */\n/* eslint-disable func-style */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n\n/**\n * A utility function to proxy inputs of a custom element.\n *\n * @public\n */\nexport const proxyInputs = (cmp: any, inputs: Array<string>): void => {\n    const prototype = cmp.prototype;\n    inputs.forEach((item) => {\n        Object.defineProperty(prototype, item, {\n            get() {\n                return this.element[item];\n            },\n            set(val: any) {\n                this.zone.runOutsideAngular(() => this.element[item] = val);\n            },\n\n            /**\n             * In the event that proxyInputs is called\n             * multiple times re-defining these inputs\n             * will cause an error to be thrown. As a result\n             * we set configurable: true to indicate these\n             * properties can be changed.\n             */\n            configurable: true\n        });\n    });\n};\n\n/**\n * A utility function to proxy methods of a custom element.\n *\n * @public\n */\nexport const proxyMethods = (cmp: any, methods: Array<string>): void => {\n    const prototype = cmp.prototype;\n    methods.forEach((methodName) => {\n        try {\n            prototype[methodName] = function () {\n                const args = arguments;\n                return this.zone.runOutsideAngular(() => this.element[methodName].apply(this.element, args));\n            };\n        } catch (e) {\n            // do nothing\n        }\n    });\n};\n\n/**\n * Defines a custom element if it is not already defined.\n *\n * @param tagName - The name of the custom element.\n * @param customElement - The custom element class to define.\n *\n * @public\n */\nexport const defineCustomElement = (tagName: string, customElement: any): void => {\n    if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n        customElements.define(tagName, customElement);\n    }\n};\n\n/**\n * Decorator to define a custom element and proxy inputs and methods.\n *\n * @param opts - Options for the decorator.\n * @returns A class decorator function.\n *\n * @public\n */\nexport function ProxyCmp(opts: {\n    defineCustomElementFn?: () => void;\n    inputs?: any;\n    methods?: any;\n}) {\n    const decorator = function (cls: any) {\n        const { defineCustomElementFn, inputs, methods } = opts;\n\n        if (defineCustomElementFn !== undefined) {\n            defineCustomElementFn();\n        }\n\n        if (inputs) {\n            // proxyInputs(cls, inputs);\n        }\n\n        if (methods) {\n            proxyMethods(cls, methods);\n        }\n\n        return cls;\n    };\n    return decorator;\n}\n\n/**\n * Applies default values to the properties of an object.\n *\n * @public\n */\nexport function applyDefaults<T extends {}>(target: T, defaults: Partial<T>): void {\n    Object.keys(defaults).forEach((p) => {\n        if (p in target) {\n            // @ts-ignore fix suppressImplicitAnyIndexErrors\n            target[p] = defaults[p];\n        }\n    });\n}\n\n/**\n * Maps a list of method names to function types.\n *\n * @public\n */\nexport type MethodMap<T extends string> = Record<T, (...args: Array<any>) => any>;\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AbsoluteItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AbsoluteItemComponent.\n * Use this token to provide default properties for the AbsoluteItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ABSOLUTE_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<AbsoluteItemElement.Props>>('MOSAIK_ABSOLUTE_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing child elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-absolute-item', AbsoluteItemElement),\n    inputs: ['left', 'top', 'bottom', 'right', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-absolute-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AbsoluteItemComponent {\n    // #region Fields\n\n    private readonly _element: AbsoluteItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ABSOLUTE_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `left` property.\n     *\n     * @public\n     */\n    public readonly left: InputSignal<AbsoluteItemElement['left'] | undefined> = input<AbsoluteItemElement['left']>();\n\n    /**\n     * Signal input for the `top` property.\n     *\n     * @public\n     */\n    public readonly top: InputSignal<AbsoluteItemElement['top'] | undefined> = input<AbsoluteItemElement['top']>();\n\n    /**\n     * Signal input for the `bottom` property.\n     *\n     * @public\n     */\n    public readonly bottom: InputSignal<AbsoluteItemElement['bottom'] | undefined> = input<AbsoluteItemElement['bottom']>();\n\n    /**\n     * Signal input for the `right` property.\n     *\n     * @public\n     */\n    public readonly right: InputSignal<AbsoluteItemElement['right'] | undefined> = input<AbsoluteItemElement['right']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AbsoluteItemElement['themeName'] | undefined> = input<AbsoluteItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AbsoluteItemElement['dir'] | undefined> = input<AbsoluteItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AbsoluteItemElement['lang'] | undefined> = input<AbsoluteItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const leftValue = this.left();\n                if (leftValue !== undefined) {\n                    (this._element as any).left = leftValue;\n                }\n\n                const topValue = this.top();\n                if (topValue !== undefined) {\n                    (this._element as any).top = topValue;\n                }\n\n                const bottomValue = this.bottom();\n                if (bottomValue !== undefined) {\n                    (this._element as any).bottom = bottomValue;\n                }\n\n                const rightValue = this.right();\n                if (rightValue !== undefined) {\n                    (this._element as any).right = rightValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AbsoluteItemMethodNames>(method: TMethod, ...args: Parameters<AbsoluteItemComponentMethods[TMethod]>): ReturnType<AbsoluteItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AbsoluteItemElement>(property: TProperty, value: AbsoluteItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AbsoluteItemComponent.\n */\nexport type AbsoluteItemMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AbsoluteItemComponent.\n */\nexport type AbsoluteItemComponentMethods = MethodMap<AbsoluteItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideAbsoluteItemComponent(config: Partial<AbsoluteItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ABSOLUTE_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AbsoluteElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AbsoluteComponent.\n * Use this token to provide default properties for the AbsoluteComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ABSOLUTE_DEFAULT_PROPS = new InjectionToken<Partial<AbsoluteElement.Props>>('MOSAIK_ABSOLUTE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing absolutely positioned child elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-absolute', AbsoluteElement),\n    inputs: ['themeName', 'fit', 'items', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-absolute',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AbsoluteComponent {\n    // #region Fields\n\n    private readonly _element: AbsoluteElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ABSOLUTE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AbsoluteElement['themeName'] | undefined> = input<AbsoluteElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<AbsoluteElement['fit'] | undefined> = input<AbsoluteElement['fit']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<AbsoluteElement['items'] | undefined> = input<AbsoluteElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AbsoluteElement['dir'] | undefined> = input<AbsoluteElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AbsoluteElement['lang'] | undefined> = input<AbsoluteElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AbsoluteMethodNames>(method: TMethod, ...args: Parameters<AbsoluteComponentMethods[TMethod]>): ReturnType<AbsoluteComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AbsoluteElement>(property: TProperty, value: AbsoluteElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AbsoluteComponent.\n */\nexport type AbsoluteMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AbsoluteComponent.\n */\nexport type AbsoluteComponentMethods = MethodMap<AbsoluteMethodNames>;\n\n/**\n * @public\n */\nexport function provideAbsoluteComponent(config: Partial<AbsoluteElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ABSOLUTE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ActionbarGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ActionbarGroupComponent.\n * Use this token to provide default properties for the ActionbarGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ACTIONBAR_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ActionbarGroupElement.Props>>('MOSAIK_ACTIONBAR_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for actionbar items\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-actionbar-group', ActionbarGroupElement),\n    inputs: ['themeName', 'size', 'orientation', 'label', 'disabled', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-actionbar-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ActionbarGroupComponent {\n    // #region Fields\n\n    private readonly _element: ActionbarGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ACTIONBAR_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ActionbarGroupElement['themeName'] | undefined> = input<ActionbarGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ActionbarGroupElement['size'] | undefined> = input<ActionbarGroupElement['size']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ActionbarGroupElement['orientation'] | undefined> = input<ActionbarGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ActionbarGroupElement['label'] | undefined> = input<ActionbarGroupElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ActionbarGroupElement['disabled'] | undefined> = input<ActionbarGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ActionbarGroupElement['dir'] | undefined> = input<ActionbarGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ActionbarGroupElement['lang'] | undefined> = input<ActionbarGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ActionbarGroupMethodNames>(method: TMethod, ...args: Parameters<ActionbarGroupComponentMethods[TMethod]>): ReturnType<ActionbarGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ActionbarGroupElement>(property: TProperty, value: ActionbarGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ActionbarGroupComponent.\n */\nexport type ActionbarGroupMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ActionbarGroupComponent.\n */\nexport type ActionbarGroupComponentMethods = MethodMap<ActionbarGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideActionbarGroupComponent(config: Partial<ActionbarGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ACTIONBAR_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ActionbarItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ActionbarItemComponent.\n * Use this token to provide default properties for the ActionbarItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ACTIONBAR_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<ActionbarItemElement.Props>>('MOSAIK_ACTIONBAR_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for exactly one primary child control (button, toggle, etc.)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-actionbar-item', ActionbarItemElement),\n    inputs: ['active', 'selected', 'grow', 'shrink', 'themeName', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-actionbar-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ActionbarItemComponent {\n    // #region Fields\n\n    private readonly _element: ActionbarItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ACTIONBAR_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `active` property.\n     *\n     * @public\n     */\n    public readonly active: InputSignal<ActionbarItemElement['active'] | undefined> = input<ActionbarItemElement['active']>();\n\n    /**\n     * Signal input for the `selected` property.\n     *\n     * @public\n     */\n    public readonly selected: InputSignal<ActionbarItemElement['selected'] | undefined> = input<ActionbarItemElement['selected']>();\n\n    /**\n     * Signal input for the `grow` property.\n     *\n     * @public\n     */\n    public readonly grow: InputSignal<ActionbarItemElement['grow'] | undefined> = input<ActionbarItemElement['grow']>();\n\n    /**\n     * Signal input for the `shrink` property.\n     *\n     * @public\n     */\n    public readonly shrink: InputSignal<ActionbarItemElement['shrink'] | undefined> = input<ActionbarItemElement['shrink']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ActionbarItemElement['themeName'] | undefined> = input<ActionbarItemElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ActionbarItemElement['size'] | undefined> = input<ActionbarItemElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ActionbarItemElement['disabled'] | undefined> = input<ActionbarItemElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ActionbarItemElement['dir'] | undefined> = input<ActionbarItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ActionbarItemElement['lang'] | undefined> = input<ActionbarItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const activeValue = this.active();\n                if (activeValue !== undefined) {\n                    (this._element as any).active = activeValue;\n                }\n\n                const selectedValue = this.selected();\n                if (selectedValue !== undefined) {\n                    (this._element as any).selected = selectedValue;\n                }\n\n                const growValue = this.grow();\n                if (growValue !== undefined) {\n                    (this._element as any).grow = growValue;\n                }\n\n                const shrinkValue = this.shrink();\n                if (shrinkValue !== undefined) {\n                    (this._element as any).shrink = shrinkValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ActionbarItemMethodNames>(method: TMethod, ...args: Parameters<ActionbarItemComponentMethods[TMethod]>): ReturnType<ActionbarItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ActionbarItemElement>(property: TProperty, value: ActionbarItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ActionbarItemComponent.\n */\nexport type ActionbarItemMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ActionbarItemComponent.\n */\nexport type ActionbarItemComponentMethods = MethodMap<ActionbarItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideActionbarItemComponent(config: Partial<ActionbarItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ACTIONBAR_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ActionbarSeparatorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ActionbarSeparatorComponent.\n * Use this token to provide default properties for the ActionbarSeparatorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ACTIONBAR_SEPARATOR_DEFAULT_PROPS = new InjectionToken<Partial<ActionbarSeparatorElement.Props>>('MOSAIK_ACTIONBAR_SEPARATOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-actionbar-separator', ActionbarSeparatorElement),\n    inputs: ['themeName', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-actionbar-separator',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ActionbarSeparatorComponent {\n    // #region Fields\n\n    private readonly _element: ActionbarSeparatorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ACTIONBAR_SEPARATOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ActionbarSeparatorElement['themeName'] | undefined> = input<ActionbarSeparatorElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ActionbarSeparatorElement['orientation'] | undefined> = input<ActionbarSeparatorElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ActionbarSeparatorElement['dir'] | undefined> = input<ActionbarSeparatorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ActionbarSeparatorElement['lang'] | undefined> = input<ActionbarSeparatorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ActionbarSeparatorMethodNames>(method: TMethod, ...args: Parameters<ActionbarSeparatorComponentMethods[TMethod]>): ReturnType<ActionbarSeparatorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ActionbarSeparatorElement>(property: TProperty, value: ActionbarSeparatorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ActionbarSeparatorComponent.\n */\nexport type ActionbarSeparatorMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ActionbarSeparatorComponent.\n */\nexport type ActionbarSeparatorComponentMethods = MethodMap<ActionbarSeparatorMethodNames>;\n\n/**\n * @public\n */\nexport function provideActionbarSeparatorComponent(config: Partial<ActionbarSeparatorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ACTIONBAR_SEPARATOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ActionbarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ActionbarComponent.\n * Use this token to provide default properties for the ActionbarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ACTIONBAR_DEFAULT_PROPS = new InjectionToken<Partial<ActionbarElement.Props>>('MOSAIK_ACTIONBAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for actionbar groups and separators\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-actionbar', ActionbarElement),\n    inputs: ['overflow', 'wrap', 'themeName', 'size', 'orientation', 'disabled', 'fit', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-actionbar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ActionbarComponent {\n    // #region Fields\n\n    private readonly _element: ActionbarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ACTIONBAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `overflow` property.\n     *\n     * @public\n     */\n    public readonly overflow: InputSignal<ActionbarElement['overflow'] | undefined> = input<ActionbarElement['overflow']>();\n\n    /**\n     * Signal input for the `wrap` property.\n     *\n     * @public\n     */\n    public readonly wrap: InputSignal<ActionbarElement['wrap'] | undefined> = input<ActionbarElement['wrap']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ActionbarElement['themeName'] | undefined> = input<ActionbarElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ActionbarElement['size'] | undefined> = input<ActionbarElement['size']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ActionbarElement['orientation'] | undefined> = input<ActionbarElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ActionbarElement['disabled'] | undefined> = input<ActionbarElement['disabled']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ActionbarElement['fit'] | undefined> = input<ActionbarElement['fit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ActionbarElement['dir'] | undefined> = input<ActionbarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ActionbarElement['lang'] | undefined> = input<ActionbarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const overflowValue = this.overflow();\n                if (overflowValue !== undefined) {\n                    (this._element as any).overflow = overflowValue;\n                }\n\n                const wrapValue = this.wrap();\n                if (wrapValue !== undefined) {\n                    (this._element as any).wrap = wrapValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ActionbarMethodNames>(method: TMethod, ...args: Parameters<ActionbarComponentMethods[TMethod]>): ReturnType<ActionbarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ActionbarElement>(property: TProperty, value: ActionbarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ActionbarComponent.\n */\nexport type ActionbarMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ActionbarComponent.\n */\nexport type ActionbarComponentMethods = MethodMap<ActionbarMethodNames>;\n\n/**\n * @public\n */\nexport function provideActionbarComponent(config: Partial<ActionbarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ACTIONBAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AnchorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AnchorComponent.\n * Use this token to provide default properties for the AnchorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ANCHOR_DEFAULT_PROPS = new InjectionToken<Partial<AnchorElement.Props>>('MOSAIK_ANCHOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot label - The text content or elements to display as the link text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-anchor', AnchorElement),\n    inputs: ['underline', 'download', 'href', 'rel', 'target', 'themeName', 'variant', 'disabled', 'label', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-anchor',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AnchorComponent {\n    // #region Fields\n\n    private readonly _element: AnchorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ANCHOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `underline` property.\n     *\n     * @public\n     */\n    public readonly underline: InputSignal<AnchorElement['underline'] | undefined> = input<AnchorElement['underline']>();\n\n    /**\n     * Signal input for the `download` property.\n     *\n     * @public\n     */\n    public readonly download: InputSignal<AnchorElement['download'] | undefined> = input<AnchorElement['download']>();\n\n    /**\n     * Signal input for the `href` property.\n     *\n     * @public\n     */\n    public readonly href: InputSignal<AnchorElement['href'] | undefined> = input<AnchorElement['href']>();\n\n    /**\n     * Signal input for the `rel` property.\n     *\n     * @public\n     */\n    public readonly rel: InputSignal<AnchorElement['rel'] | undefined> = input<AnchorElement['rel']>();\n\n    /**\n     * Signal input for the `target` property.\n     *\n     * @public\n     */\n    public readonly target: InputSignal<AnchorElement['target'] | undefined> = input<AnchorElement['target']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AnchorElement['themeName'] | undefined> = input<AnchorElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<AnchorElement['variant'] | undefined> = input<AnchorElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AnchorElement['disabled'] | undefined> = input<AnchorElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<AnchorElement['label'] | undefined> = input<AnchorElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AnchorElement['dir'] | undefined> = input<AnchorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AnchorElement['lang'] | undefined> = input<AnchorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const underlineValue = this.underline();\n                if (underlineValue !== undefined) {\n                    (this._element as any).underline = underlineValue;\n                }\n\n                const downloadValue = this.download();\n                if (downloadValue !== undefined) {\n                    (this._element as any).download = downloadValue;\n                }\n\n                const hrefValue = this.href();\n                if (hrefValue !== undefined) {\n                    (this._element as any).href = hrefValue;\n                }\n\n                const relValue = this.rel();\n                if (relValue !== undefined) {\n                    (this._element as any).rel = relValue;\n                }\n\n                const targetValue = this.target();\n                if (targetValue !== undefined) {\n                    (this._element as any).target = targetValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AnchorMethodNames>(method: TMethod, ...args: Parameters<AnchorComponentMethods[TMethod]>): ReturnType<AnchorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AnchorElement>(property: TProperty, value: AnchorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AnchorComponent.\n */\nexport type AnchorMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AnchorComponent.\n */\nexport type AnchorComponentMethods = MethodMap<AnchorMethodNames>;\n\n/**\n * @public\n */\nexport function provideAnchorComponent(config: Partial<AnchorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ANCHOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AppHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AppHeaderComponent.\n * Use this token to provide default properties for the AppHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const APP_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<AppHeaderElement.Props>>('MOSAIK_APP_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - The slot for action buttons or icons, typically used for user profile options or quick actions.\n * @slot brand - The slot for the application branding, such as a logo or title.\n * @slot menu - The slot for the menu button, which can be used to toggle navigation drawers or other menus.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-app-header', AppHeaderElement),\n    inputs: ['isToggled', 'scrollTargetFn', 'themeName', 'isBusy', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-app-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AppHeaderComponent {\n    // #region Fields\n\n    private readonly _element: AppHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(APP_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isToggled` property.\n     *\n     * @public\n     */\n    public readonly isToggled: InputSignal<AppHeaderElement['isToggled'] | undefined> = input<AppHeaderElement['isToggled']>();\n\n    /**\n     * Signal input for the `scrollTargetFn` property.\n     *\n     * @public\n     */\n    public readonly scrollTargetFn: InputSignal<AppHeaderElement['scrollTargetFn'] | undefined> = input<AppHeaderElement['scrollTargetFn']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AppHeaderElement['themeName'] | undefined> = input<AppHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<AppHeaderElement['isBusy'] | undefined> = input<AppHeaderElement['isBusy']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AppHeaderElement['dir'] | undefined> = input<AppHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AppHeaderElement['lang'] | undefined> = input<AppHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isToggledValue = this.isToggled();\n                if (isToggledValue !== undefined) {\n                    (this._element as any).isToggled = isToggledValue;\n                }\n\n                const scrollTargetFnValue = this.scrollTargetFn();\n                if (scrollTargetFnValue !== undefined) {\n                    (this._element as any).scrollTargetFn = scrollTargetFnValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AppHeaderMethodNames>(method: TMethod, ...args: Parameters<AppHeaderComponentMethods[TMethod]>): ReturnType<AppHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AppHeaderElement>(property: TProperty, value: AppHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AppHeaderComponent.\n */\nexport type AppHeaderMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AppHeaderComponent.\n */\nexport type AppHeaderComponentMethods = MethodMap<AppHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideAppHeaderComponent(config: Partial<AppHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: APP_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AppElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AppComponent.\n * Use this token to provide default properties for the AppComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const APP_DEFAULT_PROPS = new InjectionToken<Partial<AppElement.Props>>('MOSAIK_APP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - Main content area for primary application content and views\n * @slot footer - Footer area for secondary information, links, and application metadata\n * @slot header - The header slot.\n * @slot headerActions - The headerActions slot.\n * @slot headerLogo - The headerLogo slot.\n * @slot headerMenu - The headerMenu slot.\n * @slot nav - Navigation drawer content area for primary navigation links and menu items\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-app', AppElement),\n    inputs: ['theme', 'isNavOpen', 'isMobile', 'hasHeader', 'hasNav', 'themeName', 'dir', 'lang'],\n    methods: ['toggleNavigation', 'openNavigation', 'closeNavigation', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-app',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AppComponent {\n    // #region Fields\n\n    private readonly _element: AppElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(APP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `theme` property.\n     *\n     * @public\n     */\n    public readonly theme: InputSignal<AppElement['theme'] | undefined> = input<AppElement['theme']>();\n\n    /**\n     * Signal input for the `isNavOpen` property.\n     *\n     * @public\n     */\n    public readonly isNavOpen: InputSignal<AppElement['isNavOpen'] | undefined> = input<AppElement['isNavOpen']>();\n\n    /**\n     * Signal input for the `isMobile` property.\n     *\n     * @public\n     */\n    public readonly isMobile: InputSignal<AppElement['isMobile'] | undefined> = input<AppElement['isMobile']>();\n\n    /**\n     * Signal input for the `hasHeader` property.\n     *\n     * @public\n     */\n    public readonly hasHeader: InputSignal<AppElement['hasHeader'] | undefined> = input<AppElement['hasHeader']>();\n\n    /**\n     * Signal input for the `hasNav` property.\n     *\n     * @public\n     */\n    public readonly hasNav: InputSignal<AppElement['hasNav'] | undefined> = input<AppElement['hasNav']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AppElement['themeName'] | undefined> = input<AppElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AppElement['dir'] | undefined> = input<AppElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AppElement['lang'] | undefined> = input<AppElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeValue = this.theme();\n                if (themeValue !== undefined) {\n                    (this._element as any).theme = themeValue;\n                }\n\n                const isNavOpenValue = this.isNavOpen();\n                if (isNavOpenValue !== undefined) {\n                    (this._element as any).isNavOpen = isNavOpenValue;\n                }\n\n                const isMobileValue = this.isMobile();\n                if (isMobileValue !== undefined) {\n                    (this._element as any).isMobile = isMobileValue;\n                }\n\n                const hasHeaderValue = this.hasHeader();\n                if (hasHeaderValue !== undefined) {\n                    (this._element as any).hasHeader = hasHeaderValue;\n                }\n\n                const hasNavValue = this.hasNav();\n                if (hasNavValue !== undefined) {\n                    (this._element as any).hasNav = hasNavValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AppMethodNames>(method: TMethod, ...args: Parameters<AppComponentMethods[TMethod]>): ReturnType<AppComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AppElement>(property: TProperty, value: AppElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AppComponent.\n */\nexport type AppMethodNames = 'toggleNavigation' | 'openNavigation' | 'closeNavigation' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AppComponent.\n */\nexport type AppComponentMethods = MethodMap<AppMethodNames>;\n\n/**\n * @public\n */\nexport function provideAppComponent(config: Partial<AppElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: APP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AttachmentChatToolElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AttachmentChatToolComponent.\n * Use this token to provide default properties for the AttachmentChatToolComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ATTACHMENT_CHAT_TOOL_DEFAULT_PROPS = new InjectionToken<Partial<AttachmentChatToolElement.Props>>('MOSAIK_ATTACHMENT_CHAT_TOOL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-attachment-chat-tool', AttachmentChatToolElement),\n    inputs: ['multiple', 'accept', 'directory', 'attachmentRejected', 'maxFiles', 'maxFileSize', 'themeName', 'dock', 'disabled', 'dir', 'lang'],\n    methods: ['execute', 'attach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-attachment-chat-tool',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AttachmentChatToolComponent {\n    // #region Fields\n\n    private readonly _element: AttachmentChatToolElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('filesPicked', (e) => this.filesPicked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('attachmentReject', (e) => this.attachmentReject.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ATTACHMENT_CHAT_TOOL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `multiple` property.\n     *\n     * @public\n     */\n    public readonly multiple: InputSignal<AttachmentChatToolElement['multiple'] | undefined> = input<AttachmentChatToolElement['multiple']>();\n\n    /**\n     * Signal input for the `accept` property.\n     *\n     * @public\n     */\n    public readonly accept: InputSignal<AttachmentChatToolElement['accept'] | undefined> = input<AttachmentChatToolElement['accept']>();\n\n    /**\n     * Signal input for the `directory` property.\n     *\n     * @public\n     */\n    public readonly directory: InputSignal<AttachmentChatToolElement['directory'] | undefined> = input<AttachmentChatToolElement['directory']>();\n\n    /**\n     * Signal input for the `attachmentRejected` property.\n     *\n     * @public\n     */\n    public readonly attachmentRejected: InputSignal<AttachmentChatToolElement['attachmentRejected'] | undefined> = input<AttachmentChatToolElement['attachmentRejected']>();\n\n    /**\n     * Signal input for the `maxFiles` property.\n     *\n     * @public\n     */\n    public readonly maxFiles: InputSignal<AttachmentChatToolElement['maxFiles'] | undefined> = input<AttachmentChatToolElement['maxFiles']>();\n\n    /**\n     * Signal input for the `maxFileSize` property.\n     *\n     * @public\n     */\n    public readonly maxFileSize: InputSignal<AttachmentChatToolElement['maxFileSize'] | undefined> = input<AttachmentChatToolElement['maxFileSize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AttachmentChatToolElement['themeName'] | undefined> = input<AttachmentChatToolElement['themeName']>();\n\n    /**\n     * Signal input for the `dock` property.\n     *\n     * @public\n     */\n    public readonly dock: InputSignal<AttachmentChatToolElement['dock'] | undefined> = input<AttachmentChatToolElement['dock']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AttachmentChatToolElement['disabled'] | undefined> = input<AttachmentChatToolElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AttachmentChatToolElement['dir'] | undefined> = input<AttachmentChatToolElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AttachmentChatToolElement['lang'] | undefined> = input<AttachmentChatToolElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const multipleValue = this.multiple();\n                if (multipleValue !== undefined) {\n                    (this._element as any).multiple = multipleValue;\n                }\n\n                const acceptValue = this.accept();\n                if (acceptValue !== undefined) {\n                    (this._element as any).accept = acceptValue;\n                }\n\n                const directoryValue = this.directory();\n                if (directoryValue !== undefined) {\n                    (this._element as any).directory = directoryValue;\n                }\n\n                const maxFilesValue = this.maxFiles();\n                if (maxFilesValue !== undefined) {\n                    (this._element as any).maxFiles = maxFilesValue;\n                }\n\n                const maxFileSizeValue = this.maxFileSize();\n                if (maxFileSizeValue !== undefined) {\n                    (this._element as any).maxFileSize = maxFileSizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dockValue = this.dock();\n                if (dockValue !== undefined) {\n                    (this._element as any).dock = dockValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `filesPicked` event.\n     *\n     * @public\n     */\n    public readonly filesPicked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `attachmentReject` event.\n     *\n     * @public\n     */\n    public readonly attachmentReject: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AttachmentChatToolMethodNames>(method: TMethod, ...args: Parameters<AttachmentChatToolComponentMethods[TMethod]>): ReturnType<AttachmentChatToolComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AttachmentChatToolElement>(property: TProperty, value: AttachmentChatToolElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AttachmentChatToolComponent.\n */\nexport type AttachmentChatToolMethodNames = 'execute' | 'attach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AttachmentChatToolComponent.\n */\nexport type AttachmentChatToolComponentMethods = MethodMap<AttachmentChatToolMethodNames>;\n\n/**\n * @public\n */\nexport function provideAttachmentChatToolComponent(config: Partial<AttachmentChatToolElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ATTACHMENT_CHAT_TOOL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AudioElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AudioComponent.\n * Use this token to provide default properties for the AudioComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const AUDIO_DEFAULT_PROPS = new InjectionToken<Partial<AudioElement.Props>>('MOSAIK_AUDIO_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot legend - The legend slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-audio', AudioElement),\n    inputs: ['hasSrc', 'src', 'autoPlay', 'showControls', 'legend', 'legendPosition', 'ratio', 'muted', 'loop', 'themeName', 'disabled', 'width', 'height', 'dir', 'lang'],\n    methods: ['play', 'pause', 'toggle', 'load', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-audio',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AudioComponent {\n    // #region Fields\n\n    private readonly _element: AudioElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(AUDIO_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasSrc` property.\n     *\n     * @public\n     */\n    public readonly hasSrc: InputSignal<AudioElement['hasSrc'] | undefined> = input<AudioElement['hasSrc']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<AudioElement['src'] | undefined> = input<AudioElement['src']>();\n\n    /**\n     * Signal input for the `autoPlay` property.\n     *\n     * @public\n     */\n    public readonly autoPlay: InputSignal<AudioElement['autoPlay'] | undefined> = input<AudioElement['autoPlay']>();\n\n    /**\n     * Signal input for the `showControls` property.\n     *\n     * @public\n     */\n    public readonly showControls: InputSignal<AudioElement['showControls'] | undefined> = input<AudioElement['showControls']>();\n\n    /**\n     * Signal input for the `legend` property.\n     *\n     * @public\n     */\n    public readonly legend: InputSignal<AudioElement['legend'] | undefined> = input<AudioElement['legend']>();\n\n    /**\n     * Signal input for the `legendPosition` property.\n     *\n     * @public\n     */\n    public readonly legendPosition: InputSignal<AudioElement['legendPosition'] | undefined> = input<AudioElement['legendPosition']>();\n\n    /**\n     * Signal input for the `ratio` property.\n     *\n     * @public\n     */\n    public readonly ratio: InputSignal<AudioElement['ratio'] | undefined> = input<AudioElement['ratio']>();\n\n    /**\n     * Signal input for the `muted` property.\n     *\n     * @public\n     */\n    public readonly muted: InputSignal<AudioElement['muted'] | undefined> = input<AudioElement['muted']>();\n\n    /**\n     * Signal input for the `loop` property.\n     *\n     * @public\n     */\n    public readonly loop: InputSignal<AudioElement['loop'] | undefined> = input<AudioElement['loop']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AudioElement['themeName'] | undefined> = input<AudioElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AudioElement['disabled'] | undefined> = input<AudioElement['disabled']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<AudioElement['width'] | undefined> = input<AudioElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<AudioElement['height'] | undefined> = input<AudioElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AudioElement['dir'] | undefined> = input<AudioElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AudioElement['lang'] | undefined> = input<AudioElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const autoPlayValue = this.autoPlay();\n                if (autoPlayValue !== undefined) {\n                    (this._element as any).autoPlay = autoPlayValue;\n                }\n\n                const showControlsValue = this.showControls();\n                if (showControlsValue !== undefined) {\n                    (this._element as any).showControls = showControlsValue;\n                }\n\n                const legendValue = this.legend();\n                if (legendValue !== undefined) {\n                    (this._element as any).legend = legendValue;\n                }\n\n                const legendPositionValue = this.legendPosition();\n                if (legendPositionValue !== undefined) {\n                    (this._element as any).legendPosition = legendPositionValue;\n                }\n\n                const ratioValue = this.ratio();\n                if (ratioValue !== undefined) {\n                    (this._element as any).ratio = ratioValue;\n                }\n\n                const mutedValue = this.muted();\n                if (mutedValue !== undefined) {\n                    (this._element as any).muted = mutedValue;\n                }\n\n                const loopValue = this.loop();\n                if (loopValue !== undefined) {\n                    (this._element as any).loop = loopValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AudioMethodNames>(method: TMethod, ...args: Parameters<AudioComponentMethods[TMethod]>): ReturnType<AudioComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AudioElement>(property: TProperty, value: AudioElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AudioComponent.\n */\nexport type AudioMethodNames = 'play' | 'pause' | 'toggle' | 'load' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AudioComponent.\n */\nexport type AudioComponentMethods = MethodMap<AudioMethodNames>;\n\n/**\n * @public\n */\nexport function provideAudioComponent(config: Partial<AudioElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: AUDIO_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\nimport type { AnimationPreset, IAnimationReferenceMetadata } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Registry of animations\n *\n * @public\n */\n@Injectable()\nexport class AnimationRegistry {\n\n    // #region Fields\n\n    private readonly _animations: Record<AnimationPreset | string, IAnimationReferenceMetadata>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `AnimationRegistry` class.\n     *\n     * @public\n     */\n    public constructor() {\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        this._animations = {} as Record<AnimationPreset | string, IAnimationReferenceMetadata>;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets the registered animations.\n     *\n     * @public\n     * @readonly\n     */\n    public get animations(): Record<AnimationPreset | string, IAnimationReferenceMetadata> {\n        return this._animations;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Registers an animation with the registry.\n     *\n     * @public\n     * @param name The name of the animation.\n     * @param animation The animation reference metadata to register.\n     */\n    public register(name: AnimationPreset | string, animation: IAnimationReferenceMetadata): void {\n        if (name.trim() === '') {\n            throw new Error('Animation name must be provided.');\n        }\n\n        this._animations[name] = animation;\n    }\n\n    /**\n     * Unregister an animation from the registry.\n     *\n     * @public\n     * @param name The name of the animation to retrieve.\n     */\n    public unregister(name: AnimationPreset | string): void {\n        if (name.trim() === '') {\n            throw new Error('Animation name must be provided.');\n        }\n\n        // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n        delete this._animations[name];\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, inject, Input, OnInit, Renderer2 } from '@angular/core';\nimport { AnimationPlayer, AnimationPreset, type IAnimationReferenceMetadata } from '@breadstone/mosaik-elements-foundation';\nimport { AnimationRegistry } from './AnimationRegistry';\n\n// #endregion\n\ntype AnimationTrigger = (cb: () => void) => void;\n\n/**\n * Extended animation options for the directive.\n */\ninterface IAnimationDirectiveInput extends IAnimationReferenceMetadata {\n    name?: AnimationPreset | string;\n    trigger?: AnimationTrigger;\n    onFinished?: () => void;\n}\n\n/**\n * Structural directive that triggers animations on a element.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikAnimate]'\n})\nexport class AnimateDirective\n    implements OnInit {\n\n    // #region Fields\n\n    private readonly _animationRegistry: AnimationRegistry;\n    private readonly _element: ElementRef;\n    private readonly _animationPlayer: AnimationPlayer;\n    private readonly _renderer: Renderer2;\n    private _wasTriggered: boolean;\n    private _animate: IAnimationDirectiveInput | AnimationPreset | string | undefined;\n    private _options?: KeyframeAnimationOptions;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `AnimateDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._animationRegistry = inject(AnimationRegistry);\n        this._element = inject(ElementRef);\n        this._animationPlayer = inject(AnimationPlayer);\n        this._renderer = inject(Renderer2);\n        this._wasTriggered = false;\n        this._animate = undefined;\n        this._options = undefined;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets or sets the `animate` property.\n     *\n     * @public\n     */\n    @Input({\n        alias: 'mosaikAnimate',\n        required: true\n    })\n    public get animate(): IAnimationDirectiveInput | AnimationPreset | string | undefined {\n        return this._animate;\n    }\n    public set animate(value: IAnimationDirectiveInput | AnimationPreset | string | undefined) {\n        this._animate = value;\n    }\n\n    /**\n     * Gets or sets the `options` property.\n     *\n     * @public\n     */\n    @Input({\n        alias: 'mosaikAnimateOptions',\n        required: false\n    })\n    public get options(): KeyframeAnimationOptions | undefined {\n        return this._options;\n    }\n    public set options(value: KeyframeAnimationOptions | undefined) {\n        this._options = value;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        this.tryTrigger();\n    }\n\n    /**\n     * @private\n     */\n    private tryTrigger(): void {\n        if (this._wasTriggered) {\n            return;\n        }\n\n        let resolvedAnimation: IAnimationDirectiveInput | undefined;\n\n        // Resolve animation by name from registry\n        if (typeof this._animate === 'string') {\n            const registered = this._animationRegistry.animations[this._animate];\n            if (!registered) {\n                console.warn(`[AnimateDirective]: The animation with name \"${this._animate}\" was not found in the registry.`);\n                return;\n            }\n            resolvedAnimation = { ...registered };\n        } else if (this._animate && 'name' in this._animate && this._animate.name) {\n            const registered = this._animationRegistry.animations[this._animate.name];\n            if (!registered) {\n                console.warn(`[AnimateDirective]: The animation with name \"${this._animate.name}\" was not found in the registry.`);\n                return;\n            }\n            resolvedAnimation = {\n                ...registered,\n                trigger: this._animate.trigger,\n                onFinished: this._animate.onFinished\n            };\n        } else if (this._animate && 'steps' in this._animate) {\n            resolvedAnimation = this._animate;\n        }\n\n        if (!resolvedAnimation || !resolvedAnimation.steps || resolvedAnimation.steps.length === 0) {\n            console.warn('[AnimateDirective]: No valid animation steps provided.');\n            return;\n        }\n\n        this._wasTriggered = true;\n\n        // Apply initial styles from the first keyframe\n        const initialKeyframe = resolvedAnimation.steps[0];\n        for (const [key, value] of Object.entries(initialKeyframe)) {\n            if (key === 'offset' || key === 'easing' || key === 'composite') {\n                continue;\n            }\n            if (key in this._element.nativeElement.style) {\n                this._renderer.setStyle(this._element.nativeElement, key, value);\n            }\n        }\n\n        if (resolvedAnimation.trigger) {\n            resolvedAnimation.trigger(() => this.play(resolvedAnimation));\n        } else {\n            this.play(resolvedAnimation);\n        }\n    }\n\n    /**\n     * @private\n     */\n    private play(animation: IAnimationDirectiveInput): void {\n        const overrideOptions: KeyframeAnimationOptions = {\n            ...this._options\n        };\n\n        void this._animationPlayer.play(this._element.nativeElement, animation, overrideOptions).then(() => {\n            // Commit the final keyframe styles\n            if (animation.steps && animation.steps.length > 0) {\n                const finalKeyframe = animation.steps[animation.steps.length - 1];\n                for (const [key, value] of Object.entries(finalKeyframe)) {\n                    if (key === 'offset' || key === 'easing' || key === 'composite') {\n                        continue;\n                    }\n                    this._renderer.setStyle(this._element.nativeElement, key, value);\n                }\n            }\n\n            animation.onFinished?.();\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { makeEnvironmentProviders, type EnvironmentProviders } from '@angular/core';\nimport { Animation, AnimationPlayer, type AnimationPreset, type IAnimationReferenceMetadata } from '@breadstone/mosaik-elements-foundation';\nimport { AnimationRegistry } from './AnimationRegistry';\n\n// #endregion\n\n/**\n * Provides the animation infrastructure for the application.\n *\n * @param config - Optional configuration to provide additional custom animations.\n * @returns Environment providers for animations.\n * @public\n */\nexport function provideAnimate(config?: {\n    animations: Record<AnimationPreset | string, IAnimationReferenceMetadata>;\n}): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: AnimationRegistry,\n            useFactory: () => {\n                const service = new AnimationRegistry();\n\n                // Register all built-in animation presets\n                for (const [name, animation] of Object.entries(Animation)) {\n                    service.register(name, animation);\n                }\n\n                // Register custom animations if provided\n                if (config?.animations) {\n                    for (const [name, animation] of Object.entries(config.animations)) {\n                        service.register(name, animation);\n                    }\n                }\n\n                return service;\n            }\n        },\n        {\n            provide: AnimationPlayer,\n            useClass: AnimationPlayer\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\nimport type { IBreakpoint } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Registry of 1..n MediaQuery breakpoint ranges\n * This is published as a provider and may be overridden from custom, application-specific ranges\n *\n * @public\n */\n@Injectable()\nexport class BreakpointRegistry {\n\n    // #region Fields\n\n    private readonly _items: Array<IBreakpoint>;\n    private readonly _findByMap: Map<string, IBreakpoint | null> = new Map<string, IBreakpoint | null>();\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `BreakPointRegistry` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._items = new Array<IBreakpoint>();\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Get all the breakpoints whose ranges could overlapping `normal` ranges;\n     * e.g. gt-sm overlaps md, lg, and xl\n     *\n     * @public\n     * @readonly\n     */\n    public get overlapping(): Array<IBreakpoint> {\n        return this._items.filter((it) => it.overlapping);\n    }\n\n    /**\n     * Get list of all registered (non-empty) breakpoint aliases\n     *\n     * @public\n     * @readonly\n     */\n    public get aliases(): Array<string> {\n        return this._items.map((it) => it.alias);\n    }\n\n    /**\n     * Aliases are mapped to properties using suffixes\n     * e.g.  'gt-sm' for property 'layout'  uses suffix 'GtSm'\n     * for property layoutGtSM.\n     *\n     * @public\n     * @readonly\n     */\n    public get suffixes(): Array<string> {\n        return this._items.map((it) => it.suffix ?? '');\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Register a new breakpoint or array of breakpoints\n     *\n     * @public\n     */\n    public register(breakpoint: IBreakpoint | Array<IBreakpoint>): void {\n        const breakpoints = Array.isArray(breakpoint) ? breakpoint : [breakpoint];\n\n        breakpoints.forEach((x) => {\n            this._items.push(x);\n        });\n\n        reset(this._items, [...this._items].sort(sortAscendingPriority));\n    }\n\n    /**\n     * Search breakpoints by alias (e.g. gt-xs)\n     *\n     * @public\n     */\n    public findByAlias(alias: string): IBreakpoint | null {\n        return !alias ? null : this.findWithPredicate(alias, (bp) => bp.alias === alias);\n    }\n\n    /**\n     * Search breakpoints by media query (e.g. (min-width: 600px))\n     *\n     * @public\n     */\n    public findByQuery(query: string): IBreakpoint | null {\n        return this.findWithPredicate(query, (bp) => bp.mediaQuery === query);\n    }\n\n    /**\n     * Memoized lookup using custom predicate function\n     *\n     * @private\n     */\n    private findWithPredicate(key: string, searchFn: (bp: IBreakpoint) => boolean): IBreakpoint | null {\n        let response = this._findByMap.get(key);\n        if (!response) {\n            response = this._items.find(searchFn) ?? null;\n            this._findByMap.set(key, response);\n        }\n        return response ?? null;\n    }\n\n    // #endregion\n\n}\n\nfunction sortAscendingPriority<T extends { priority?: number }>(a: T, b: T): number {\n    const pA = a.priority ?? 0;\n    const pB = b.priority ?? 0;\n    return pA - pB;\n}\n\nfunction clear<T>(self: Array<T>, fn?: (value: T, index: number) => void): Array<T> {\n    const splicedItems = self.splice(0, self.length);\n    if (fn) {\n        each(splicedItems, fn);\n    }\n    return self;\n}\n\nfunction reset<T>(self: Array<T>, values: Array<T>): Array<T> {\n    clear(self).push(...values);\n    return self;\n}\n\nfunction each<T>(self: Array<T> | ReadonlyArray<T>, fn: (value: T, index: number) => void): Array<T> | ReadonlyArray<T> {\n    self.forEach((x, i) => {\n        fn(x, i);\n    });\n    return self;\n}\n","// #region Imports\n\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ChangeDetectorRef, Directive, TemplateRef, ViewContainerRef, inject, isDevMode, type EmbeddedViewRef, type OnDestroy, type OnInit } from '@angular/core';\nimport type { Subscription } from 'rxjs';\nimport { BreakpointRegistry } from './BreakpointRegistry';\nimport type { BreakpointAlias, IBreakpoint } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * @private\n */\ninterface IBreakpointObserverContext {\n    $implicit: (alias: BreakpointAlias | string | Array<BreakpointAlias | string>) => boolean;\n}\n\n/**\n * Structural directive for detecting breakpoints.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikBreakpoint]'\n})\nexport class BreakpointDirective\n    implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _vcr: ViewContainerRef;\n    private readonly _templateRef: TemplateRef<IBreakpointObserverContext>;\n    private readonly _cdr: ChangeDetectorRef;\n    private readonly _breakPointObserver: BreakpointObserver;\n    private readonly _breakPointRegistry: BreakpointRegistry;\n    private _view: EmbeddedViewRef<IBreakpointObserverContext> | null;\n    private _breakPointObserverSubscription: Subscription | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `BreakpointDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._vcr = inject(ViewContainerRef);\n        this._templateRef = inject(TemplateRef<IBreakpointObserverContext>);\n        this._cdr = inject(ChangeDetectorRef);\n        this._breakPointObserver = inject(BreakpointObserver);\n        this._breakPointRegistry = inject(BreakpointRegistry);\n        this._breakPointObserverSubscription = null;\n        this._view = null;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        this.invalidate();\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._breakPointObserverSubscription?.unsubscribe();\n    }\n\n    /**\n     * @private\n     */\n    private invalidate(): void {\n        if (this._view) {\n            this._view.context.$implicit = this.getImplicitFn();\n        } else {\n            this._view = this._vcr.createEmbeddedView(this._templateRef, {\n                $implicit: this.getImplicitFn()\n            });\n        }\n    }\n\n    /**\n     * @private\n     */\n    private getImplicitFn(): (alias: BreakpointAlias | string | Array<BreakpointAlias | string>) => boolean {\n        return (alias) => {\n            const aliases = Array.isArray(alias) ? alias : [alias];\n            const mediaQuery = (aliases.map((x) => this._breakPointRegistry.findByAlias(x))\n                .filter((x) => x) as Array<IBreakpoint>).map((x) => x.mediaQuery);\n\n            if (isDevMode() && mediaQuery.length === 0) {\n                throw new Error(`The alias or aliases are ${aliases.join(', ')} not defined.`);\n            }\n\n            const isMatched = this._breakPointObserver.isMatched(mediaQuery);\n\n            this._breakPointObserverSubscription?.unsubscribe();\n            this._breakPointObserverSubscription = this._breakPointObserver.observe(mediaQuery).subscribe(() => this.onObserve());\n\n            return isMatched;\n        };\n    }\n\n    /**\n     * @private\n     */\n    private onObserve(): void {\n        this.invalidate();\n        this._cdr.markForCheck();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { BreakpointRegistry } from './BreakpointRegistry';\nimport { type IBreakpoint, BREAKPOINTS } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * @public\n */\nexport function provideBreakpoints(config?: {\n    breakpoints: Array<IBreakpoint>;\n}): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BreakpointRegistry,\n            useFactory: () => {\n                const service = new BreakpointRegistry();\n                BREAKPOINTS.forEach((bp) => {\n                    service.register(bp);\n                });\n\n                if (config?.breakpoints) {\n                    service.register(config.breakpoints);\n                }\n\n                return service;\n            }\n        }\n    ]);\n}\n","// #region Imports\n\nimport type { CancelReason } from './CancelReason';\nimport type { ICancel } from './ICancel';\n\n// #endregion\n\n/**\n * @public\n */\nexport class Cancel<TResult> implements ICancel<TResult> {\n\n    // #region Fields\n\n    private readonly _result?: TResult;\n    private readonly _reason: CancelReason;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `Cancel` class.\n     *\n     * @private\n     */\n    private constructor(reason: CancelReason, result?: TResult) {\n        this._reason = reason;\n        this._result = result;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets or sets the `reason` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get reason(): CancelReason {\n        return this._reason;\n    }\n\n    /**\n     * Returns the `result` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get result(): TResult | undefined {\n        return this._result;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    public static positive<TResult>(result?: TResult): ICancel<TResult> {\n        return new Cancel('positive', result);\n    }\n\n    public static negative<TResult>(result?: TResult): ICancel<TResult> {\n        return new Cancel('negative', result);\n    }\n\n    public static none<TResult>(result?: TResult): ICancel<TResult> {\n        return new Cancel('none', result);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { DestroyRef, ElementRef, EnvironmentInjector, inject, runInInjectionContext } from '@angular/core';\nimport type { IControllerHostRef } from './IControllerHostRef';\nimport type { IReactiveController } from './IReactiveController';\n\n// #endregion\n\n/**\n * Creates a controller instance and binds it automatically to the current\n * component instance lifecycle.\n *\n * This function must be called within a component class body.\n * No `new` keyword is required in user code.\n *\n * Cleanup is guaranteed via {@link DestroyRef} without patching or forwarding\n * Angular lifecycle hooks.\n *\n * @public\n * @template TComponent The concrete component instance type.\n * @template TElement The concrete host element type.\n * @template TController The concrete controller type.\n * @param controllerType The controller class to instantiate.\n * @returns The instantiated controller.\n * @example\n * ```ts\n * export class MyComponent {\n *     public readonly controller = useController(MyController);\n * }\n * ```\n */\nexport function useController<\n    TComponent extends object,\n    TElement extends HTMLElement,\n    TController extends IReactiveController<TComponent, TElement>\n>(\n    controllerType: new (host: IControllerHostRef<TComponent, TElement>) => TController\n): TController {\n    // #region Fields\n\n    const environmentInjector: EnvironmentInjector = inject(EnvironmentInjector);\n    const componentKey: TComponent = environmentInjector as unknown as TComponent;\n\n    // #endregion\n\n    // #region Methods\n\n    let internalHost: ControllerHostImpl | undefined = CONTROLLER_HOSTS.get(componentKey);\n\n    if (!internalHost) {\n        internalHost = runInInjectionContext(environmentInjector, (): ControllerHostImpl => {\n            const destroyRef: DestroyRef = inject(DestroyRef);\n            return new ControllerHostImpl(destroyRef);\n        });\n\n        CONTROLLER_HOSTS.set(componentKey, internalHost);\n    }\n\n    const elementRef: ElementRef<TElement> = inject(ElementRef<TElement>);\n    const hostRef: IControllerHostRef<TComponent, TElement> = {\n        component: componentKey,\n        element: elementRef.nativeElement\n    };\n    const controller: TController = runInInjectionContext(environmentInjector, (): TController => new controllerType(hostRef));\n\n    internalHost.add(controller);\n    return controller;\n\n    // #endregion\n}\n\n/**\n * Manages controller lifetimes for a single component instance.\n *\n * Exactly one instance exists per component instance.\n * It is created lazily when the first controller is requested.\n *\n * @private\n */\nclass ControllerHostImpl {\n\n    // #region Fields\n\n    private readonly _controllers: Set<IReactiveController>;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the {@link ControllerHostImpl} class.\n     *\n     * @param destroyRef The destroy reference bound to the component instance.\n     */\n    public constructor(destroyRef: DestroyRef) {\n        this._controllers = new Set<IReactiveController>();\n        this._destroyRef = destroyRef;\n\n        this._destroyRef.onDestroy((): void => {\n            this.disconnectAll();\n        });\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Adds a controller and connects it immediately.\n     *\n     * @param controller The controller to register.\n     */\n    public add(controller: IReactiveController): void {\n        this._controllers.add(controller);\n        controller.hostConnected?.();\n    }\n\n    /**\n     * Disconnects all controllers and clears internal state.\n     */\n    private disconnectAll(): void {\n        for (const controller of this._controllers) {\n            controller.hostDisconnected?.();\n        }\n        this._controllers.clear();\n    }\n\n    // #endregion\n\n}\n\n/**\n * Associates component instances with their internal controller hosts.\n *\n * A {@link WeakMap} is used to ensure component instances can be garbage\n * collected naturally.\n *\n * @private\n */\nconst CONTROLLER_HOSTS = new WeakMap<object, ControllerHostImpl>();\n","// #region Imports\n\nimport { Directive, ElementRef, Input, OnDestroy, OnInit, inject, effect, signal, WritableSignal, Renderer2, EffectRef } from '@angular/core';\nimport { PerspectiveElement } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Directive that attaches a `PerspectiveElement` to its host element\n * and updates it reactively based on the configuration input.\n *\n * @example\n * <div [mosaikPerspective]=\"{ distance: 800, rotation: '45deg' }\"></div>\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikPerspective]'\n})\nexport class PerspectiveDirective implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement>;\n    private readonly _renderer: Renderer2;\n    private readonly _config: WritableSignal<Partial<PerspectiveElement.Props>>;\n    private readonly _perspectiveElement: PerspectiveElement;\n    private readonly _cleanup: EffectRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `PerspectiveDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._element = inject(ElementRef<HTMLElement>);\n        this._renderer = inject(Renderer2);\n        this._config = signal<Partial<PerspectiveElement.Props>>({});\n        this._perspectiveElement = new PerspectiveElement();\n        this._cleanup = effect(() => {\n            const config = this._config();\n            Object.assign(this._perspectiveElement, config);\n            this._perspectiveElement.attach(this._element.nativeElement);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Configuration input for the perspective behavior.\n     *\n     * @public\n     */\n    @Input('mosaikPerspective')\n    public set config(value: Partial<PerspectiveElement.Props>) {\n        this._config.set(value);\n    }\n    public get config(): Partial<PerspectiveElement.Props> {\n        return this._config();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        this._renderer.appendChild(this._element.nativeElement, this._perspectiveElement);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._cleanup.destroy();\n        this._perspectiveElement.detach();\n        this._perspectiveElement.remove();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, Input, OnDestroy, OnInit, inject, effect, signal, WritableSignal, Renderer2, EffectRef } from '@angular/core';\nimport { RippleElement } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Directive that attaches a `RippleElement` to its host element\n * and updates it when input properties change.\n *\n * @example\n * <button [mosaikRipple]=\"{ disabled: false, centered: true }\">Click me</button>\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikRipple]'\n})\nexport class RippleDirective implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement>;\n    private readonly _renderer: Renderer2;\n    private readonly _config: WritableSignal<Partial<RippleElement.Props>>;\n    private readonly _rippleElement: RippleElement;\n    private readonly _cleanup: EffectRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `RippleDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._element = inject(ElementRef<HTMLElement>);\n        this._renderer = inject(Renderer2);\n        this._config = signal<Partial<RippleElement.Props>>({});\n        this._rippleElement = new RippleElement();\n        this._cleanup = effect(() => {\n            const config = this._config();\n            Object.assign(this._rippleElement, config);\n            this._rippleElement.attach(this._element.nativeElement);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Configuration for the ripple behavior.\n     *\n     * @public\n     */\n    @Input('mosaikRipple')\n    public set config(value: Partial<RippleElement.Props>) {\n        this._config.set(value);\n    }\n    public get config(): Partial<RippleElement.Props> {\n        return this._config();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        const hostElement = this._element.nativeElement;\n        this._renderer.appendChild(hostElement, this._rippleElement);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._cleanup.destroy();\n        this._rippleElement.detach();\n        this._rippleElement.remove();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, Input, OnDestroy, OnInit, inject, effect, signal, Renderer2, EffectRef, WritableSignal } from '@angular/core';\nimport { ScaleElement } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Directive that attaches a `ScaleElement` to its host element\n * and updates it when input properties change.\n *\n * @example\n * <div [mosaikScale]=\"{ value: 1.2, origin: 'left' }\"></div>\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikScale]'\n})\nexport class ScaleDirective implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement>;\n    private readonly _renderer: Renderer2;\n    private readonly _config: WritableSignal<Partial<ScaleElement.Props>>;\n    private readonly _scaleElement: ScaleElement;\n    private readonly _cleanup: EffectRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ScaleDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._element = inject(ElementRef<HTMLElement>);\n        this._renderer = inject(Renderer2);\n        this._config = signal<Partial<ScaleElement.Props>>({});\n        this._scaleElement = new ScaleElement();\n        this._cleanup = effect(() => {\n            const config = this._config();\n            Object.assign(this._scaleElement, config);\n            this._scaleElement.attach(this._element.nativeElement);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Configuration input for the scale behavior.\n     *\n     * @public\n     */\n    @Input('mosaikScale')\n    public get config(): Partial<ScaleElement.Props> {\n        return this._config();\n    }\n    public set config(value: Partial<ScaleElement.Props>) {\n        this._config.set(value);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        const hostElement = this._element.nativeElement;\n        this._renderer.appendChild(hostElement, this._scaleElement);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._cleanup.destroy();\n        this._scaleElement.detach();\n        this._scaleElement.remove();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { FlexAlignContent, FlexAlignItems, FlexDirection, FlexJustify, FlexWrap } from '@breadstone/mosaik-elements-foundation';\nimport { CssLength } from '@breadstone/mosaik-themes';\n\n// #endregion\n\n/**\n * Flex Directive - A directive to apply flexbox layout styles to an element.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikFlex]'\n})\nexport class FlexDirective implements OnChanges {\n\n    // #region Fields\n\n    private readonly _element: ElementRef;\n    private readonly _renderer: Renderer2;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(element: ElementRef<HTMLElement>, renderer: Renderer2) {\n        this._element = element;\n        this._renderer = renderer;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    @Input('mosaikFlexJustify')\n    public justify?: FlexJustify;\n    @Input('mosaikFlexAlignItems')\n    public alignItems?: FlexAlignItems;\n    @Input('mosaikFlexAlignContent')\n    public alignContent?: FlexAlignContent;\n    @Input('mosaikFlexDirection')\n    public direction?: FlexDirection;\n    @Input('mosaikFlexWrap')\n    public wrap?: FlexWrap;\n    @Input('mosaikFlexGap')\n    public gap?: CssLength;\n    @Input('mosaikFlexFill')\n    public fill?: boolean | number;\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnChanges(_changes: SimpleChanges): void {\n        let hasFlexProperties = false;\n\n        hasFlexProperties = this.setStyle('flex-direction', this.direction) || hasFlexProperties;\n        hasFlexProperties = this.setStyle('justify-content', this.justify) || hasFlexProperties;\n        hasFlexProperties = this.setStyle('align-items', this.alignItems) || hasFlexProperties;\n        hasFlexProperties = this.setStyle('align-content', this.alignContent) || hasFlexProperties;\n        hasFlexProperties = this.setStyle('flex-wrap', this.wrap) || hasFlexProperties;\n        hasFlexProperties = this.setStyle('gap', this.gap) || hasFlexProperties;\n\n        if (this.fill !== undefined) {\n            this.setFillStyle(this.fill);\n            hasFlexProperties = true;\n        }\n\n        if (hasFlexProperties) {\n            this.setStyle('display', 'flex');\n        }\n    }\n\n    /**\n     * @private\n     */\n    private setStyle(property: string, value: string | number | undefined): boolean {\n        if (value !== undefined) {\n            this._renderer.setStyle(this._element.nativeElement, property, value);\n            return true;\n        }\n        return false;\n    }\n\n    /**\n     * @private\n     */\n    private setFillStyle(fill: boolean | number): void {\n        const value = typeof fill === 'boolean' ? fill ? '1' : '0' : String(fill);\n        this._renderer.setStyle(this._element.nativeElement, 'flex', value);\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ProgressRingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ProgressRingComponent.\n * Use this token to provide default properties for the ProgressRingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PROGRESS_RING_DEFAULT_PROPS = new InjectionToken<Partial<ProgressRingElement.Props>>('MOSAIK_PROGRESS_RING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot hint - Secondary text content area for additional progress information or status\n * @slot label - Text label content area for progress description or percentage display\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-progress-ring', ProgressRingElement),\n    inputs: ['thickness', 'radius', 'isIndeterminate', 'themeName', 'variant', 'orientation', 'disabled', 'label', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-progress-ring',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ProgressRingComponent {\n    // #region Fields\n\n    private readonly _element: ProgressRingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PROGRESS_RING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<ProgressRingElement['thickness'] | undefined> = input<ProgressRingElement['thickness']>();\n\n    /**\n     * Signal input for the `radius` property.\n     *\n     * @public\n     */\n    public readonly radius: InputSignal<ProgressRingElement['radius'] | undefined> = input<ProgressRingElement['radius']>();\n\n    /**\n     * Signal input for the `isIndeterminate` property.\n     *\n     * @public\n     */\n    public readonly isIndeterminate: InputSignal<ProgressRingElement['isIndeterminate'] | undefined> = input<ProgressRingElement['isIndeterminate']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ProgressRingElement['themeName'] | undefined> = input<ProgressRingElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ProgressRingElement['variant'] | undefined> = input<ProgressRingElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ProgressRingElement['orientation'] | undefined> = input<ProgressRingElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ProgressRingElement['disabled'] | undefined> = input<ProgressRingElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ProgressRingElement['label'] | undefined> = input<ProgressRingElement['label']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<ProgressRingElement['min'] | undefined> = input<ProgressRingElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<ProgressRingElement['max'] | undefined> = input<ProgressRingElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ProgressRingElement['value'] | undefined> = input<ProgressRingElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ProgressRingElement['dir'] | undefined> = input<ProgressRingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ProgressRingElement['lang'] | undefined> = input<ProgressRingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const radiusValue = this.radius();\n                if (radiusValue !== undefined) {\n                    (this._element as any).radius = radiusValue;\n                }\n\n                const isIndeterminateValue = this.isIndeterminate();\n                if (isIndeterminateValue !== undefined) {\n                    (this._element as any).isIndeterminate = isIndeterminateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ProgressRingMethodNames>(method: TMethod, ...args: Parameters<ProgressRingComponentMethods[TMethod]>): ReturnType<ProgressRingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ProgressRingElement>(property: TProperty, value: ProgressRingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ProgressRingComponent.\n */\nexport type ProgressRingMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ProgressRingComponent.\n */\nexport type ProgressRingComponentMethods = MethodMap<ProgressRingMethodNames>;\n\n/**\n * @public\n */\nexport function provideProgressRingComponent(config: Partial<ProgressRingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PROGRESS_RING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { ComponentRef, Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, ViewContainerRef, booleanAttribute, inject } from '@angular/core';\nimport { CardElement, ProgressRingElement } from '@breadstone/mosaik-elements-foundation';\nimport { ProgressRingComponent } from '../../../Controls/Components/Ranges/ProgressRing/ProgressRingComponent';\n\n// #endregion\n\n@Directive({\n    selector: 'mosaik-card[isBusy]'\n})\nexport class CardIsBusyDirective\n    implements OnChanges {\n\n    // #region Fields\n\n    private readonly _elementRef: ElementRef<CardElement>;\n    private readonly _viewContainerRef: ViewContainerRef;\n    private readonly _renderer: Renderer2;\n    private _spinner: ComponentRef<ProgressRingComponent> | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `CardIsBusyDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._elementRef = inject(ElementRef<CardElement>);\n        this._viewContainerRef = inject(ViewContainerRef);\n        this._renderer = inject(Renderer2);\n        this._spinner = null;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    @Input({ transform: booleanAttribute })\n    public isBusy: boolean = false;\n\n    // #endregion\n\n    // #region Methods\n\n    public ngOnChanges(changes: SimpleChanges): void {\n        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n        if (!changes.isBusy) {\n            return;\n        }\n\n        if (changes.isBusy.currentValue) {\n            this._elementRef.nativeElement.setAttribute('isBusy', 'true');\n\n            if (!this._spinner) {\n                this._spinner = this._viewContainerRef.createComponent(ProgressRingComponent);\n\n                // Set properties via setInput for Signal-based inputs\n                this._spinner.setInput('radius', 24);\n                this._spinner.setInput('isIndeterminate', true);\n\n                // Get the native element for appending\n                const spinnerElement = this._spinner.location.nativeElement as ProgressRingElement;\n                this._renderer.appendChild(this._elementRef.nativeElement, spinnerElement);\n            }\n        } else if (!changes.isBusy.firstChange) {\n            this._elementRef.nativeElement.removeAttribute('isBusy');\n\n            if (this._spinner) {\n                this._spinner.destroy();\n                this._spinner = null;\n            }\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { DockSide } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Directive to manage the docking position of an element in a dock panel.\n */\n@Directive({\n    selector: '[mosaikDock]'\n})\nexport class DockDirective implements OnChanges {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement>;\n    private readonly _renderer: Renderer2;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(element: ElementRef<HTMLElement>, renderer: Renderer2) {\n        this._element = element;\n        this._renderer = renderer;\n    }\n\n    // #endregion\n\n    // #region Inputs\n\n    /**\n     * The docking position of the element.\n     *\n     * @public\n     */\n    @Input('mosaikDock')\n    public dock?: DockSide | null;\n\n    // #endregion\n\n    // #region Methods\n\n    public ngOnChanges(_changes: SimpleChanges): void {\n        const v = this.normalize(this.dock);\n\n        if (v) {\n            this._renderer.setAttribute(this._element.nativeElement, 'dock', v);\n        } else {\n            this._renderer.removeAttribute(this._element.nativeElement, 'dock');\n        }\n    }\n\n    private normalize(value: unknown): DockSide | null {\n        if (value === null) {\n            return null;\n        }\n\n        // eslint-disable-next-line @typescript-eslint/no-base-to-string\n        const v = String(value).toLowerCase()\n            .trim();\n\n        return v === 'left' || v === 'right' || v === 'top' || v === 'bottom' ? v : null;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, Input } from '@angular/core';\n\n// #endregion\n\n/**\n * The directive representing a specific kind of error.\n *\n * @example\n * ```html\n * <mosaik-error kind=\"required\">This field is required.</mosaik-error>\n * <mosaik-error kind=\"minlength\">Minimum length not met.</mosaik-error>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: 'mosaik-error[kind]',\n    host: {\n        'attr.hidden': 'hidden',\n        'attr.kind': 'kind'\n    }\n})\nexport class ErrorKindDirective {\n\n    // #region Fields\n\n    private _kind: string | Array<string>;\n    private _hidden: boolean;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ErrorDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._kind = '';\n        this._hidden = true;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The kind(s) of error this directive represents.\n     *\n     * @public\n     */\n    @Input({ required: true })\n    public get kind(): string | Array<string> {\n        return this._kind;\n    }\n    public set kind(value: string | Array<string>) {\n        this._kind = value;\n    }\n\n    @Input()\n    public get hidden(): boolean {\n        return this._hidden;\n    }\n    public set hidden(value: boolean) {\n        this._hidden = value;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { AfterViewInit, ChangeDetectorRef, ContentChildren, Directive, DoCheck, forwardRef, inject, Input, OnDestroy, QueryList } from '@angular/core';\nimport { AbstractControl, FormGroupDirective } from '@angular/forms';\nimport type { FieldState } from '@angular/forms/signals';\nimport { Subscription } from 'rxjs';\nimport { ErrorKindDirective } from './ErrorKindDirective';\n\n// #endregion\n\n/**\n * Represents a target field in the error grouping logic.\n *\n * @private\n */\ninterface IErrorGroupTarget {\n\n    /**\n     * The field state to monitor (used in Signal Forms mode).\n     */\n    fieldState?: FieldState<any>;\n\n    /**\n     * The control to monitor (used in Reactive Forms mode).\n     */\n    control?: AbstractControl;\n\n    /**\n     * The path string representation for debugging/tracking.\n     */\n    path: string;\n}\n\n/**\n * Interface for handler logic of error-group directive.\n *\n * @private\n */\ninterface IErrorGroupHandler {\n\n    /**\n     * Initializes the handler, setting up necessary subscriptions.\n     */\n    initialize(): void;\n\n    /**\n     * Validates the current state and updates error display accordingly.\n     */\n    validate(): void;\n\n    /**\n     * Cleans up resources and subscriptions.\n     */\n    destroy(): void;\n}\n\n/**\n * Deprecated handler for Angular Reactive Forms.\n *\n * @private\n * @deprecated Will be removed in future version - use SignalForms handler instead.\n */\nclass ReactiveErrorGroupHandler implements IErrorGroupHandler {\n\n    // #region Fields\n\n    private readonly _formGroup: FormGroupDirective;\n    private readonly _targetOption: string | Array<string> | AbstractControl;\n    private readonly _components: QueryList<ErrorKindDirective>;\n    private readonly _cdr: ChangeDetectorRef;\n    private readonly _targetInfo: IErrorGroupTarget;\n    private _control: AbstractControl | null;\n    private _statusSubscription: Subscription;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `{@link ErrorGroupDirective}` class.\n     *\n     * @public\n     */\n    public constructor(\n        formGroup: FormGroupDirective,\n        targetOption: string | Array<string> | AbstractControl,\n        components: QueryList<ErrorKindDirective>,\n        cdr: ChangeDetectorRef,\n        targetInfo: IErrorGroupTarget\n    ) {\n        this._formGroup = formGroup;\n        this._targetOption = targetOption;\n        this._components = components;\n        this._cdr = cdr;\n        this._targetInfo = targetInfo;\n        this._control = null;\n        this._statusSubscription = Subscription.EMPTY;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    public initialize(): void {\n        this._control = this.resolveControl();\n        this._statusSubscription = this._control.statusChanges.subscribe(() => this.onStatusChanged());\n    }\n\n    public validate(): void {\n        if (!this._control) { return; }\n        if ((this._control.dirty || this._control.touched) && this._control.errors) {\n            this.onStatusChanged();\n        }\n    }\n\n    public destroy(): void {\n        this._statusSubscription.unsubscribe();\n    }\n\n    private resolveControl(): AbstractControl {\n        if (this._targetOption instanceof AbstractControl) {\n            this._targetInfo.control = this._targetOption;\n            this._targetInfo.path = '';\n            return this._targetOption;\n        }\n        if (Array.isArray(this._targetOption)) {\n            const name = this._targetOption[0];\n            const ctrl = this.getControlByName(name);\n            this._targetInfo.control = ctrl;\n            this._targetInfo.path = name;\n            return ctrl;\n        }\n        const ctrl = this.getControlByName(this._targetOption);\n        this._targetInfo.control = ctrl;\n        this._targetInfo.path = this._targetOption;\n        return ctrl;\n    }\n\n    private getControlByName(name: string): AbstractControl {\n        const ctrl = this._formGroup.control.get(name);\n        if (!ctrl) {\n            throw new Error(`Control with name '${name}' not found.`);\n        }\n        return ctrl;\n    }\n\n    private onStatusChanged(): void {\n        if (!this._control) { return; }\n        if (this._control.status === 'INVALID') {\n            const errKeys = Object.keys(this._control.errors ?? {});\n            const firstKey = errKeys[0];\n            this._components.forEach((c) => c.hidden = true);\n            const targetComp = this._components.find((c) => {\n                const list = Array.isArray(c.kind) ? c.kind : [c.kind];\n                return list.includes(firstKey);\n            });\n            if (targetComp) {\n                targetComp.hidden = false;\n            }\n        } else {\n            this._components.forEach((c) => c.hidden = true);\n        }\n        this._cdr.markForCheck();\n    }\n\n    // #endregion\n\n}\n\n/**\n * Handler for Angular Signal Forms.\n *\n * @private\n */\nclass SignalErrorGroupHandler implements IErrorGroupHandler {\n\n    // #region Fields\n\n    private readonly _targetOption: FieldState<unknown> | Array<FieldState<unknown>>;\n    private readonly _components: QueryList<ErrorKindDirective>;\n    private readonly _cdr: ChangeDetectorRef;\n    private _targets: Array<IErrorGroupTarget>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(\n        targetOption: FieldState<unknown> | Array<FieldState<unknown>>,\n        components: QueryList<ErrorKindDirective>,\n        cdr: ChangeDetectorRef\n    ) {\n        this._targetOption = targetOption;\n        this._components = components;\n        this._cdr = cdr;\n        this._targets = new Array<IErrorGroupTarget>();\n    }\n\n    // #endregion\n\n    // #region Fields\n\n    public initialize(): void {\n        const fieldStates = Array.isArray(this._targetOption) ? this._targetOption : [this._targetOption];\n        this._targets = fieldStates.map((fs, idx) => ({\n            fieldState: fs,\n            path: `fieldState[${idx}]`\n        }));\n    }\n\n    public validate(): void {\n        for (const target of this._targets) {\n            const field = target.fieldState;\n            const errs = field?.errors() ?? [];\n\n            if (errs.length > 0 && field?.touched()) {\n                this.showFirst(field, errs);\n            } else {\n                this.hideAll();\n            }\n        }\n        this._cdr.markForCheck();\n    }\n\n    public destroy(): void {\n        // Nothing to unsubscribe - no subscriptions created\n    }\n\n    private showFirst(field: FieldState<any>, errs: Array<unknown>): void {\n        const kind = (errs[0] as any).kind;\n        this._components.forEach((c) => c.hidden = true);\n        const comp = this._components.find((c) => {\n            const list = Array.isArray(c.kind) ? c.kind : [c.kind];\n            return list.includes(kind);\n        });\n\n        if (comp) {\n            comp.hidden = false;\n        }\n    }\n\n    private hideAll(): void {\n        this._components.forEach((c) => c.hidden = true);\n    }\n\n    // #endregion\n\n}\n\n/**\n * Hybrid Directive supporting both Reactive and Signal Forms for error grouping.\n *\n * @example\n * ```html\n * <mosaik-form-field [fieldState]=\"form.someField()\">\n *   <mosaik-error mosaikErrorGroup [field]=\"form.someField()\">\n *     <mosaik-error kind=\"required\">This field is required.</mosaik-error>\n *     <mosaik-error kind=\"minlength\">Minimum length not met.</mosaik-error>\n *   </mosaik-error>\n * </mosaik-form-field>\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikErrorGroup]',\n    exportAs: 'errorGroup'\n})\nexport class ErrorGroupDirective implements AfterViewInit, DoCheck, OnDestroy {\n\n    // #region Fields\n\n    @ContentChildren(forwardRef(() => ErrorKindDirective), { descendants: true })\n    private readonly _components!: QueryList<ErrorKindDirective>;\n    private readonly _targetInfo: IErrorGroupTarget;\n    private readonly _cdr: ChangeDetectorRef;\n    private readonly _formGroup?: FormGroupDirective;\n    private _handler!: IErrorGroupHandler;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `{@link ErrorGroupDirective}` class.\n     *\n     * @public\n     */\n    public constructor(\n        cdr: ChangeDetectorRef = inject(ChangeDetectorRef)\n    ) {\n        this._cdr = cdr;\n        this._formGroup = inject(FormGroupDirective, { optional: true }) ?? undefined;\n        this._targetInfo = { path: '' };\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    @Input({ required: true })\n    public field!: string | Array<string> | AbstractControl | FieldState<any> | Array<FieldState<any>>;\n\n    // #endregion\n\n    // #region Methods\n\n    public ngAfterViewInit(): void {\n        this.selectHandler();\n        this._handler.initialize();\n    }\n\n    public ngDoCheck(): void {\n        this._handler.validate();\n    }\n\n    public ngOnDestroy(): void {\n        this._handler.destroy();\n    }\n\n    private selectHandler(): void {\n        if (this.field instanceof AbstractControl || (this._formGroup && (typeof this.field === 'string' || Array.isArray(this.field)))) {\n            // reactive mode\n\n            if (!this._formGroup) {\n                throw new Error('FormGroupDirective required for reactive mode.');\n            }\n\n            this._handler = new ReactiveErrorGroupHandler(this._formGroup, this.field as string | Array<string> | AbstractControl, this._components, this._cdr, this._targetInfo);\n        } else {\n            // signal mode\n\n            const targetOption = Array.isArray(this.field)\n                ? (this.field as Array<FieldState<any>>)\n                : (this.field as FieldState<any>);\n\n            this._handler = new SignalErrorGroupHandler(targetOption, this._components, this._cdr);\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, effect, ElementRef, inject, input, InputSignal } from '@angular/core';\nimport { FieldState } from '@angular/forms/signals';\nimport { FormFieldElement } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Attribute-Directive that binds a `FieldState` to `FormFieldElement`.\n * It observes the validation `errors()` and `touched()` state of the field,\n * and automatically updates the Element’s `error` property - always using the **last** validation error (if any) when the field has been touched.\n *\n * @example\n * ```html\n * <mosaik-form-field [fieldState]=\"form.someField()\">\n *   <mosaik-textbox [field]=\"form.someField\" … ></mosaik-textbox>\n * </mosaik-form-field>\n * ```\n *\n * @public\n */\n@Directive({\n    // applies to your custom element\n    selector: 'mosaik-form-field'\n})\nexport class FormFieldStateDirective {\n\n    // #region Fields\n\n    private readonly _elementRef: ElementRef<FormFieldElement>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(\n        elementRef: ElementRef<FormFieldElement> = inject(ElementRef<FormFieldElement>)\n    ) {\n        this._elementRef = elementRef;\n\n        // Observe changes in the fieldState signal. Whenever it changes (value, errors, touched…),\n        // we recalc the error message and apply it to the Web Component.\n        effect(() => {\n            const fs = this.fieldState();\n            this.setError(fs);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The FieldState to observe for validation errors.\n     *\n     * @public\n     * @example\n     * ```html\n     * <mosaik-form-field [fieldState]=\"form.someField()\">\n     *   …\n     * </mosaik-form-field>\n     * ```\n     */\n    public fieldState: InputSignal<FieldState<unknown> | null | undefined> = input<FieldState<unknown> | null | undefined>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Maps the FieldState (errors + touched) to the Element error property.\n     * If there is at least one error AND the field has been touched → set error to the\n     * last error.message. Otherwise clear the error.\n     *\n     * @private\n     * @param fieldState The current FieldState\n     */\n    private setError(fieldState: FieldState<unknown> | null | undefined): void {\n        const el = this._elementRef.nativeElement;\n\n        if (!fieldState) {\n            el.error = '';\n            return;\n        }\n\n        const errors = fieldState.errors();       // array of validation errors\n        const isTouched = fieldState.touched();   // whether the field was touched\n        const isInvalid = fieldState.invalid();   // whether the field is invalid\n\n        if (errors.length > 0 && isTouched && isInvalid) {\n            // Use the last error in the array as the “active” error message\n            const lastError = errors[errors.length - 1];\n            el.error = lastError.message ?? '';\n        } else {\n            // No errors or not touched yet → clear error\n            el.error = '';\n        }\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlipElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlipComponent.\n * Use this token to provide default properties for the FlipComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLIP_DEFAULT_PROPS = new InjectionToken<Partial<FlipElement.Props>>('MOSAIK_FLIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot back - the back slot.\n * @slot front - the front slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flip', FlipElement),\n    inputs: ['side', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['toggle', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlipComponent {\n    // #region Fields\n\n    private readonly _element: FlipElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `side` property.\n     *\n     * @public\n     */\n    public readonly side: InputSignal<FlipElement['side'] | undefined> = input<FlipElement['side']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlipElement['themeName'] | undefined> = input<FlipElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FlipElement['disabled'] | undefined> = input<FlipElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlipElement['dir'] | undefined> = input<FlipElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlipElement['lang'] | undefined> = input<FlipElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const sideValue = this.side();\n                if (sideValue !== undefined) {\n                    (this._element as any).side = sideValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlipMethodNames>(method: TMethod, ...args: Parameters<FlipComponentMethods[TMethod]>): ReturnType<FlipComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlipElement>(property: TProperty, value: FlipElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlipComponent.\n */\nexport type FlipMethodNames = 'toggle' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlipComponent.\n */\nexport type FlipComponentMethods = MethodMap<FlipMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlipComponent(config: Partial<FlipElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Directive, HostListener, inject, Input } from '@angular/core';\nimport { FlipElement } from '@breadstone/mosaik-elements-foundation';\nimport { FlipComponent } from '../../../../../Controls/Components/Primitives/Flip/FlipComponent';\n\n// #endregion\n\n@Directive({\n    selector: '[mosaikFlipTo]'\n})\nexport class FlipToDirective {\n\n    // #region Fields\n\n    private readonly _component: FlipComponent;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `FlipToDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._component = inject(FlipComponent);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The flip side to which the component will be flipped.\n     *\n     * @public\n     */\n    @Input({\n        alias: 'mosaikFlipTo',\n        required: true\n    })\n    public to?: FlipElement['side'];\n    @Input({\n        alias: 'mosaikFlipToDisabled'\n    })\n    public isDisabled?: boolean;\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    @HostListener('click', ['$event'])\n    protected onClick(_event: MouseEvent): void {\n        if (this.isDisabled) {\n            return;\n        }\n\n        if (this.to === undefined) {\n            return;\n        }\n\n        // Set the side via the component's setInput method\n        this._component.setInput('side', this.to);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, effect, EffectRef, ElementRef, inject, Input, OnDestroy, OnInit, Renderer2, signal, WritableSignal } from '@angular/core';\nimport { Placement, TooltipElement, Trigger } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Represents the configuration for the `TooltipDirective`.\n *\n * @public\n */\nexport interface ITooltipDirectiveConfig {\n\n    // #region Properties\n\n    /**\n     * The tooltip text content.\n     *\n     * @public\n     */\n    content?: string;\n\n    /**\n     * The placement of the tooltip relative to the host element.\n     *\n     * @public\n     */\n    placement?: Placement;\n\n    /**\n     * The horizontal offset of the tooltip.\n     *\n     * @public\n     */\n    horizontalOffset?: number;\n\n    /**\n     * The vertical offset of the tooltip.\n     *\n     * @public\n     */\n    verticalOffset?: number;\n\n    /**\n     * The delay in milliseconds before showing the tooltip.\n     *\n     * @public\n     */\n    showDelay?: number;\n\n    /**\n     * The delay in milliseconds before hiding the tooltip.\n     *\n     * @public\n     */\n    hideDelay?: number;\n\n    /**\n     * The trigger mode for the tooltip.\n     *\n     * @public\n     */\n    trigger?: Trigger;\n\n    /**\n     * Whether the tooltip stays open after the trigger ends.\n     *\n     * @public\n     */\n    staysOpen?: boolean;\n\n    /**\n     * Whether the tooltip is disabled.\n     *\n     * @public\n     */\n    disabled?: boolean;\n\n    // #endregion\n\n}\n\n/**\n * Directive that attaches a `TooltipElement` to its host element.\n * Allows adding tooltips to any arbitrary element by using the `[mosaikTooltip]` selector.\n *\n * @example\n * Simple text tooltip:\n * ```html\n * <button [mosaikTooltip]=\"'Save changes'\">Save</button>\n * ```\n *\n * @example\n * Tooltip with configuration object:\n * ```html\n * <button [mosaikTooltip]=\"{ content: 'Save changes', placement: 'top', showDelay: 300 }\">Save</button>\n * ```\n *\n * @example\n * Tooltip with individual inputs:\n * ```html\n * <button [mosaikTooltip]=\"'User settings'\"\n *         [mosaikTooltipPlacement]=\"'right'\"\n *         [mosaikTooltipShowDelay]=\"500\">\n *   Settings\n * </button>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikTooltip]'\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement>;\n    private readonly _renderer: Renderer2;\n    private readonly _config: WritableSignal<string | ITooltipDirectiveConfig>;\n    private readonly _placement: WritableSignal<Placement | undefined>;\n    private readonly _horizontalOffset: WritableSignal<number | undefined>;\n    private readonly _verticalOffset: WritableSignal<number | undefined>;\n    private readonly _showDelay: WritableSignal<number | undefined>;\n    private readonly _hideDelay: WritableSignal<number | undefined>;\n    private readonly _trigger: WritableSignal<Trigger | undefined>;\n    private readonly _staysOpen: WritableSignal<boolean | undefined>;\n    private readonly _disabled: WritableSignal<boolean | undefined>;\n    private readonly _tooltipElement: TooltipElement;\n    private readonly _cleanup: EffectRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TooltipDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._element = inject(ElementRef<HTMLElement>);\n        this._renderer = inject(Renderer2);\n        this._config = signal<string | ITooltipDirectiveConfig>('');\n        this._placement = signal<Placement | undefined>(undefined);\n        this._horizontalOffset = signal<number | undefined>(undefined);\n        this._verticalOffset = signal<number | undefined>(undefined);\n        this._showDelay = signal<number | undefined>(undefined);\n        this._hideDelay = signal<number | undefined>(undefined);\n        this._trigger = signal<Trigger | undefined>(undefined);\n        this._staysOpen = signal<boolean | undefined>(undefined);\n        this._disabled = signal<boolean | undefined>(undefined);\n        this._tooltipElement = new TooltipElement();\n        this._cleanup = effect(() => {\n            const config = this._config();\n            const placement = this._placement();\n            const horizontalOffset = this._horizontalOffset();\n            const verticalOffset = this._verticalOffset();\n            const showDelay = this._showDelay();\n            const hideDelay = this._hideDelay();\n            const trigger = this._trigger();\n            const staysOpen = this._staysOpen();\n            const disabled = this._disabled();\n\n            if (typeof config === 'string') {\n                this._tooltipElement.content = config;\n            } else {\n                if (config.content !== undefined) {\n                    this._tooltipElement.content = config.content;\n                }\n                if (config.placement !== undefined) {\n                    this._tooltipElement.placement = config.placement;\n                }\n                if (config.horizontalOffset !== undefined) {\n                    this._tooltipElement.horizontalOffset = config.horizontalOffset;\n                }\n                if (config.verticalOffset !== undefined) {\n                    this._tooltipElement.verticalOffset = config.verticalOffset;\n                }\n                if (config.showDelay !== undefined) {\n                    this._tooltipElement.showDelay = config.showDelay;\n                }\n                if (config.hideDelay !== undefined) {\n                    this._tooltipElement.hideDelay = config.hideDelay;\n                }\n                if (config.trigger !== undefined) {\n                    this._tooltipElement.trigger = config.trigger;\n                }\n                if (config.staysOpen !== undefined) {\n                    this._tooltipElement.staysOpen = config.staysOpen;\n                }\n                if (config.disabled !== undefined) {\n                    this._tooltipElement.disabled = config.disabled;\n                }\n            }\n\n            // Individual inputs override config object properties\n            if (placement !== undefined) {\n                this._tooltipElement.placement = placement;\n            }\n            if (horizontalOffset !== undefined) {\n                this._tooltipElement.horizontalOffset = horizontalOffset;\n            }\n            if (verticalOffset !== undefined) {\n                this._tooltipElement.verticalOffset = verticalOffset;\n            }\n            if (showDelay !== undefined) {\n                this._tooltipElement.showDelay = showDelay;\n            }\n            if (hideDelay !== undefined) {\n                this._tooltipElement.hideDelay = hideDelay;\n            }\n            if (trigger !== undefined) {\n                this._tooltipElement.trigger = trigger;\n            }\n            if (staysOpen !== undefined) {\n                this._tooltipElement.staysOpen = staysOpen;\n            }\n            if (disabled !== undefined) {\n                this._tooltipElement.disabled = disabled;\n            }\n\n            this._tooltipElement.attach(this._element.nativeElement);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The tooltip content. Accepts a string or a configuration object.\n     * When a string is provided, it is used as the tooltip text content.\n     * When a configuration object is provided, all tooltip properties can be set at once.\n     *\n     * @public\n     */\n    @Input('mosaikTooltip')\n    public set config(value: string | ITooltipDirectiveConfig) {\n        this._config.set(value);\n    }\n    public get config(): string | ITooltipDirectiveConfig {\n        return this._config();\n    }\n\n    /**\n     * The placement of the tooltip relative to the host element.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipPlacement')\n    public set placement(value: Placement) {\n        this._placement.set(value);\n    }\n    public get placement(): Placement | undefined {\n        return this._placement();\n    }\n\n    /**\n     * The horizontal offset of the tooltip.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipHorizontalOffset')\n    public set horizontalOffset(value: number) {\n        this._horizontalOffset.set(value);\n    }\n    public get horizontalOffset(): number | undefined {\n        return this._horizontalOffset();\n    }\n\n    /**\n     * The vertical offset of the tooltip.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipVerticalOffset')\n    public set verticalOffset(value: number) {\n        this._verticalOffset.set(value);\n    }\n    public get verticalOffset(): number | undefined {\n        return this._verticalOffset();\n    }\n\n    /**\n     * The delay in milliseconds before showing the tooltip.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipShowDelay')\n    public set showDelay(value: number) {\n        this._showDelay.set(value);\n    }\n    public get showDelay(): number | undefined {\n        return this._showDelay();\n    }\n\n    /**\n     * The delay in milliseconds before hiding the tooltip.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipHideDelay')\n    public set hideDelay(value: number) {\n        this._hideDelay.set(value);\n    }\n    public get hideDelay(): number | undefined {\n        return this._hideDelay();\n    }\n\n    /**\n     * The trigger mode for the tooltip.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipTrigger')\n    public set trigger(value: Trigger) {\n        this._trigger.set(value);\n    }\n    public get trigger(): Trigger | undefined {\n        return this._trigger();\n    }\n\n    /**\n     * Whether the tooltip stays open after the trigger ends.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipStaysOpen')\n    public set staysOpen(value: boolean) {\n        this._staysOpen.set(value);\n    }\n    public get staysOpen(): boolean | undefined {\n        return this._staysOpen();\n    }\n\n    /**\n     * Whether the tooltip is disabled.\n     *\n     * @public\n     */\n    @Input('mosaikTooltipDisabled')\n    public set disabled(value: boolean) {\n        this._disabled.set(value);\n    }\n    public get disabled(): boolean | undefined {\n        return this._disabled();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        const hostElement = this._element.nativeElement;\n        this._renderer.appendChild(hostElement.parentElement, this._tooltipElement);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._cleanup.destroy();\n        this._tooltipElement.detach();\n        this._tooltipElement.remove();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { IDataListItemDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Creates a single DataList item definition with full type inference.\n *\n * @remarks\n * This function acts as a facade over the Foundation-level `IDataListItemDefinition`,\n * so Angular consumers never need to import it directly.\n * Parameter types are derived from the Foundation interface, so any additions\n * to `IDataListItemDefinition` are automatically reflected in `options`.\n *\n * @param key - Identifies the data property for this item.\n * @param title - Item header text.\n * @param options - Additional item options (hidden, etc.).\n * @returns The item definition.\n *\n * @public\n */\nexport function defineItem<TItem = unknown>(\n    key: IDataListItemDefinition<TItem>['key'],\n    title?: IDataListItemDefinition<TItem>['title'],\n    options?: Partial<Omit<IDataListItemDefinition<TItem>, 'key' | 'title'>>\n): IDataListItemDefinition<TItem> {\n    return { key, title, ...options };\n}\n","// #region Imports\n\nimport type { IDataListItemDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Creates multiple DataList item definitions.\n *\n * @remarks\n * This function acts as a facade over the Foundation-level\n * `IDataListItemDefinition`, so Angular consumers never need to\n * import it directly. Items are typically created via {@link defineItem}.\n *\n * @param items - The item definitions.\n * @returns The item definitions as an array.\n *\n * @public\n */\nexport function defineItems<TItem = unknown>(\n    ...items: IDataListItemDefinition<TItem>[]\n): IDataListItemDefinition<TItem>[] {\n    return items;\n}\n","// #region Imports\n\nimport type { IDataListItemDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Describes the template context for `ItemDefDirective`.\n *\n * @remarks\n * The `$implicit` property holds the data item for the current row,\n * accessible via `let item` in the structural directive syntax.\n * The `definition` property provides the item definition metadata.\n *\n * @public\n */\nexport interface IItemDefContext {\n\n    /**\n     * The data item for the current row.\n     * Accessible via `let item` in the structural directive syntax.\n     *\n     * @public\n     */\n    $implicit: unknown;\n\n    /**\n     * The item definition for the current field.\n     *\n     * @public\n     */\n    definition: IDataListItemDefinition;\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport type { IItemDefContext } from './IItemDefContext';\n\n// #endregion\n\n/**\n * Structural directive that defines a custom item template for a data list item definition.\n *\n * @remarks\n * Use this directive inside an `mosaikItemDef` container to provide a custom\n * template for list items. The template receives the data item via `let item`\n * and the item definition via `let definition = definition`.\n *\n * @example\n * ```html\n * <ng-container mosaikItemDef=\"status\">\n *   <ng-container *mosaikItemCellDef=\"let item\">\n *     <mosaik-badge [text]=\"item.status\"></mosaik-badge>\n *   </ng-container>\n * </ng-container>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikItemCellDef]'\n})\nexport class ItemCellDefDirective {\n\n    // #region Fields\n\n    private readonly _template: TemplateRef<IItemDefContext>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._template = inject(TemplateRef<IItemDefContext>);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The template reference for the item content.\n     *\n     * @public\n     * @readonly\n     */\n    public get template(): TemplateRef<IItemDefContext> {\n        return this._template;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Asserts the correct type for the template context.\n     *\n     * @public\n     * @static\n     */\n    public static ngTemplateContextGuard(\n        _dir: ItemCellDefDirective,\n        _ctx: unknown\n    ): _ctx is IItemDefContext {\n        return true;\n    }\n\n    // #endregion\n}\n","// #region Imports\n\nimport { DestroyRef, Directive, inject, InjectionToken, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl, TouchedChangeEvent } from '@angular/forms';\nimport { filter } from 'rxjs';\n\n// #endregion\n\n/**\n * Injection token for the form status host.\n *\n * @internal\n */\nexport const FORM_STATUS_HOST = new InjectionToken<ControlValueAccessor>('MOSAIK_FORM_STATUS_HOST');\n\n/**\n * Matches elements with one or more Angular form state classes:\n * `.ng-invalid`, `.ng-dirty`, or `.ng-touched`.\n * Injects `NgControl` for access to control state.\n *\n * @remarks\n * We need this internally to trigger set the invalid property on the native element.\n *\n * @internal\n */\n@Directive({\n    selector: '.ng-invalid, .ng-dirty, .ng-touched'\n})\nexport class FormStatusHostDirective implements OnInit {\n\n    // #region Fields\n\n    private readonly _host: ControlValueAccessor;\n    private readonly _ngControl: NgControl | null;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `FormStatusDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._host = inject<ControlValueAccessor>(FORM_STATUS_HOST);\n        this._destroyRef = inject(DestroyRef);\n        this._ngControl = inject(NgControl, { optional: true });\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        if (this._ngControl?.statusChanges) {\n            this._ngControl.valueAccessor = this._host;\n\n            // we need to handle the touch event, because when the element will be validated over {@link FormValidator.validate}\n            // it will set the touched state to true.\n            this._ngControl.control?.events\n                .pipe(\n                    takeUntilDestroyed(this._destroyRef),\n                    filter((x) => x instanceof TouchedChangeEvent && x.touched)\n                )\n                .subscribe(() => this.invalidate());\n\n            // this is the normal way to handle the status changes\n            this._ngControl.statusChanges\n                .pipe(\n                    takeUntilDestroyed(this._destroyRef)\n                )\n                .subscribe(() => this.invalidate());\n        }\n    }\n\n    /**\n     * Invalidates the host element by setting the `invalid` property to `true` or `false`.\n     *\n     * @private\n     */\n    private invalidate(): void {\n        if ('invalid' in this._host) {\n            this._host.invalid = !!(this._ngControl?.invalid && this._ngControl.touched);\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, effect, ElementRef, inject, untracked } from '@angular/core';\nimport { FORM_FIELD } from '@angular/forms/signals';\nimport { IFormField } from './FormFieldStatusDirective';\n\n// #endregion\n\n/**\n * Host directive (NO selector!) that synchronizes the `invalid` property\n * with a Signal Forms field's validation state.\n *\n * This directive is automatically activated as a hostDirective on Mosaik form components.\n * It injects `FORM_FIELD` (provided by {@link FormFieldDirective}) and updates\n * `host.invalid` based on `field.invalid() && field.touched()`.\n *\n * @remarks\n * This directive has NO selector intentionally - it only works as a hostDirective.\n * The `FormFieldDirective` (selector `[formField]`) provides the `FORM_FIELD` token.\n *\n * @internal\n */\n@Directive({\n    standalone: true\n})\nexport class FormFieldStatusHostDirective {\n\n    // #region Fields\n\n    private readonly _host: HTMLElement;\n    private readonly _field: IFormField<unknown> | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._host = inject(ElementRef<HTMLElement>).nativeElement;\n        this._field = inject<IFormField<unknown>>(FORM_FIELD, { optional: true });\n\n        effect(() => {\n            // Prevent Angular from tracking the null-case.\n            // We only want reactivity when a field is really present.\n            const field = untracked(() => this._field);\n\n            if (!field) {\n                return;\n            }\n\n            const state = field.state();\n\n            // state can be null if the field function is not yet available\n            if (!state) {\n                return;\n            }\n\n            const isInvalid = state.invalid() && state.touched();\n\n            if ('invalid' in this._host) {\n                (this._host as unknown as { invalid: boolean }).invalid = isInvalid;\n            }\n        });\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DataListElement, IElementValueAccessor, dataListElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DataListComponent.\n * Use this token to provide default properties for the DataListComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DATA_LIST_DEFAULT_PROPS = new InjectionToken<Partial<DataListElement.Props>>('MOSAIK_DATA_LIST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-data-list', DataListElement),\n    inputs: ['alternating', 'itemDefinitions', 'themeName', 'disabled', 'source', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-data-list',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DataListComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => DataListComponent)\n        }\n    ]\n})\nexport class DataListComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: DataListElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = dataListElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DATA_LIST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `alternating` property.\n     *\n     * @public\n     */\n    public readonly alternating: InputSignal<DataListElement['alternating'] | undefined> = input<DataListElement['alternating']>();\n\n    /**\n     * Signal input for the `itemDefinitions` property.\n     *\n     * @public\n     */\n    public readonly itemDefinitions: InputSignal<DataListElement['itemDefinitions'] | undefined> = input<DataListElement['itemDefinitions']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DataListElement['themeName'] | undefined> = input<DataListElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DataListElement['disabled'] | undefined> = input<DataListElement['disabled']>();\n\n    /**\n     * Signal input for the `source` property.\n     *\n     * @public\n     */\n    public readonly source: InputSignal<DataListElement['source'] | undefined> = input<DataListElement['source']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DataListElement['dir'] | undefined> = input<DataListElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DataListElement['lang'] | undefined> = input<DataListElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const alternatingValue = this.alternating();\n                if (alternatingValue !== undefined) {\n                    (this._element as any).alternating = alternatingValue;\n                }\n\n                const itemDefinitionsValue = this.itemDefinitions();\n                if (itemDefinitionsValue !== undefined) {\n                    (this._element as any).itemDefinitions = itemDefinitionsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sourceValue = this.source();\n                if (sourceValue !== undefined) {\n                    (this._element as any).source = sourceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DataListMethodNames>(method: TMethod, ...args: Parameters<DataListComponentMethods[TMethod]>): ReturnType<DataListComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DataListElement>(property: TProperty, value: DataListElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DataListComponent.\n */\nexport type DataListMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DataListComponent.\n */\nexport type DataListComponentMethods = MethodMap<DataListMethodNames>;\n\n/**\n * @public\n */\nexport function provideDataListComponent(config: Partial<DataListElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DATA_LIST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { afterNextRender, ContentChild, Directive, inject, Injector, Input, ViewContainerRef, type AfterContentInit, type EmbeddedViewRef, type OnDestroy } from '@angular/core';\nimport { DataListElement, type IDataListItemDefinition, type ItemTemplateFunction } from '@breadstone/mosaik-elements-foundation';\nimport { DataListComponent } from '../../../../Controls/Components/Selectors/DataList/DataListComponent';\nimport { ItemCellDefDirective } from './ItemCellDefDirective';\n\n// #endregion\n\n/**\n * Shared template override registry.\n * Maps each DataListElement to a Map of itemKey → template overrides.\n * Used by all `ItemDefDirective` instances to compose overrides cleanly.\n *\n * @private\n */\nconst TEMPLATE_OVERRIDES = new WeakMap<DataListElement, Map<string, IItemTemplateOverrides>>();\n\n/**\n * Tracks DataListElements whose `getItemDefinitions` method has been patched.\n *\n * @private\n */\nconst PATCHED_ELEMENTS = new WeakSet<DataListElement>();\n\n/**\n * @private\n */\ninterface IItemTemplateOverrides {\n    itemTemplate?: ItemTemplateFunction;\n}\n\n/**\n * Patches the `getItemDefinitions` method on a DataListElement to merge in template overrides.\n * The patch is applied once per element and reads from the `TEMPLATE_OVERRIDES` WeakMap.\n *\n * @private\n */\nfunction ensureGetItemDefinitionsPatched(element: DataListElement): void {\n    if (PATCHED_ELEMENTS.has(element)) {\n        return;\n    }\n\n    const original = element.getItemDefinitions.bind(element);\n\n    element.getItemDefinitions = (): Array<IDataListItemDefinition> => {\n        const definitions = original();\n        const overrides = TEMPLATE_OVERRIDES.get(element);\n\n        if (!overrides || overrides.size === 0) {\n            return definitions;\n        }\n\n        return definitions.map((def) => {\n            const override = overrides.get(def.key);\n\n            if (override) {\n                return { ...def, ...override };\n            }\n\n            return def;\n        });\n    };\n\n    PATCHED_ELEMENTS.add(element);\n}\n\n/**\n * Registers template overrides for an item definition on a DataListElement.\n *\n * @private\n */\nfunction registerTemplateOverrides(element: DataListElement, itemKey: string, overrides: IItemTemplateOverrides): void {\n    ensureGetItemDefinitionsPatched(element);\n\n    let map = TEMPLATE_OVERRIDES.get(element);\n\n    if (!map) {\n        map = new Map();\n        TEMPLATE_OVERRIDES.set(element, map);\n    }\n\n    map.set(itemKey, overrides);\n    element.requestUpdate('itemDefinitions');\n}\n\n/**\n * Unregisters template overrides for an item definition on a DataListElement.\n *\n * @private\n */\nfunction unregisterTemplateOverrides(element: DataListElement, itemKey: string): void {\n    const map = TEMPLATE_OVERRIDES.get(element);\n\n    if (map) {\n        map.delete(itemKey);\n        element.requestUpdate('itemDefinitions');\n    }\n}\n\n/**\n * Directive that defines a custom item template for a specific data list item definition.\n *\n * @remarks\n * Place this directive on an `ng-container` inside a `mosaik-data-list` component.\n * The directive bridges Angular `ng-template` content to the Lit-based DataList's\n * `itemTemplate` callback, translating `TemplateRef` instances\n * into DOM nodes that the DataList can render.\n *\n * @example\n * ```html\n * <mosaik-data-list [source]=\"data\" [itemDefinitions]=\"defs\">\n *   <ng-container mosaikItemDef=\"status\">\n *     <ng-container *mosaikItemCellDef=\"let item\">\n *       <mosaik-badge [text]=\"item.status\"></mosaik-badge>\n *     </ng-container>\n *   </ng-container>\n *   <ng-container mosaikItemDef=\"name\">\n *     <ng-container *mosaikItemCellDef=\"let item\">\n *       <a [href]=\"'/users/' + item.id\">{{ item.name }}</a>\n *     </ng-container>\n *   </ng-container>\n * </mosaik-data-list>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikItemDef]'\n})\nexport class ItemDefDirective\n    implements AfterContentInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _dataList: DataListComponent;\n    private readonly _vcr: ViewContainerRef;\n    private readonly _injector: Injector;\n    private readonly _views: Array<EmbeddedViewRef<unknown>>;\n    private _nativeElement: DataListElement | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._dataList = inject(DataListComponent);\n        this._vcr = inject(ViewContainerRef);\n        this._injector = inject(Injector);\n        this._views = [];\n        this._nativeElement = null;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The item definition key that this directive targets.\n     * Must match the `key` property of an item definition in `itemDefinitions`.\n     *\n     * @public\n     */\n    @Input({ required: true, alias: 'mosaikItemDef' })\n    public itemKey!: string;\n\n    /**\n     * The item cell template directive.\n     *\n     * @public\n     */\n    @ContentChild(ItemCellDefDirective)\n    public itemCellDef?: ItemCellDefDirective;\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngAfterContentInit(): void {\n        afterNextRender(() => {\n            this.applyTemplates();\n        }, { injector: this._injector });\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        if (this._nativeElement) {\n            unregisterTemplateOverrides(this._nativeElement, this.itemKey);\n        }\n\n        for (const view of this._views) {\n            view.destroy();\n        }\n\n        this._views.length = 0;\n    }\n\n    /**\n     * Builds the template callback and registers it as an override on the native element.\n     *\n     * @private\n     */\n    private applyTemplates(): void {\n        this._nativeElement = (this._dataList as unknown as { _element: DataListElement })._element;\n        const overrides: IItemTemplateOverrides = {};\n\n        if (this.itemCellDef) {\n            overrides.itemTemplate = this.createItemTemplateCallback(this.itemCellDef);\n        }\n\n        registerTemplateOverrides(this._nativeElement, this.itemKey, overrides);\n    }\n\n    /**\n     * Creates an `itemTemplate` callback that renders an Angular template into a `DocumentFragment`.\n     *\n     * @private\n     */\n    private createItemTemplateCallback(itemCellDef: ItemCellDefDirective): ItemTemplateFunction {\n        return (item: unknown, definition: unknown): Node => {\n            this.cleanupDisconnectedViews();\n\n            const viewRef = this._vcr.createEmbeddedView(itemCellDef.template, {\n                $implicit: item,\n                definition: definition\n            });\n\n            viewRef.detectChanges();\n            this._views.push(viewRef);\n\n            const fragment = document.createDocumentFragment();\n\n            for (const node of viewRef.rootNodes) {\n                fragment.appendChild(node);\n            }\n\n            return fragment;\n        };\n    }\n\n    /**\n     * Destroys embedded views whose DOM nodes are no longer connected to the document.\n     * This prevents memory leaks when the DataList re-renders and replaces item content.\n     *\n     * @private\n     */\n    private cleanupDisconnectedViews(): void {\n        let writeIndex = 0;\n\n        for (let readIndex = 0; readIndex < this._views.length; readIndex++) {\n            const view = this._views[readIndex];\n            const isConnected = view.rootNodes.some((node: Node) => node.isConnected);\n\n            if (isConnected) {\n                this._views[writeIndex] = view;\n                writeIndex++;\n            } else {\n                view.destroy();\n            }\n        }\n\n        this._views.length = writeIndex;\n    }\n\n    // #endregion\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport type { ICellDefContext } from './ICellDefContext';\n\n// #endregion\n\n/**\n * Structural directive that defines a custom cell template for a data table column.\n *\n * @remarks\n * Use this directive inside a `mosaikColumnDef` container to provide a custom\n * template for body cells. The template receives the data item via `let item`\n * and the column definition via `let column = column`.\n *\n * @example\n * ```html\n * <ng-container mosaikColumnDef=\"status\">\n *   <ng-container *mosaikCellDef=\"let item\">\n *     <mosaik-badge [text]=\"item.status\"></mosaik-badge>\n *   </ng-container>\n * </ng-container>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikCellDef]'\n})\nexport class CellDefDirective {\n\n    // #region Fields\n\n    private readonly _template: TemplateRef<ICellDefContext>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._template = inject(TemplateRef<ICellDefContext>);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The template reference for the cell content.\n     *\n     * @public\n     * @readonly\n     */\n    public get template(): TemplateRef<ICellDefContext> {\n        return this._template;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Asserts the correct type for the template context.\n     *\n     * @public\n     * @static\n     */\n    public static ngTemplateContextGuard(\n        _dir: CellDefDirective,\n        _ctx: unknown\n    ): _ctx is ICellDefContext {\n        return true;\n    }\n\n    // #endregion\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DataTableElement, IElementValueAccessor, dataTableElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DataTableComponent.\n * Use this token to provide default properties for the DataTableComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DATA_TABLE_DEFAULT_PROPS = new InjectionToken<Partial<DataTableElement.Props>>('MOSAIK_DATA_TABLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot caption - The caption slot.\n * @slot summary - The summary slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-data-table', DataTableElement),\n    inputs: ['intl', 'editorOpened', 'sorted', 'sortedSource', 'allColumnsHidden', 'alternating', 'autoGenerateColumns', 'columnDefinitions', 'caption', 'selectionType', 'selectionMode', 'resizable', 'sortable', 'pinable', 'hideable', 'autoSizeable', 'columnChoosable', 'reorderable', 'sortMode', 'themeName', 'appearance', 'disabled', 'source', 'dir', 'lang'],\n    methods: ['openEditor', 'closeEditor', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-data-table',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DataTableComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => DataTableComponent)\n        }\n    ]\n})\nexport class DataTableComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: DataTableElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = dataTableElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('tableSelectionChanged', (e) => this.tableSelectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('dataTableEditorOpened', (e) => this.dataTableEditorOpened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('dataTableEditorClosed', (e) => this.dataTableEditorClosed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DATA_TABLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<DataTableElement['intl'] | undefined> = input<DataTableElement['intl']>();\n\n    /**\n     * Signal input for the `editorOpened` property.\n     *\n     * @public\n     */\n    public readonly editorOpened: InputSignal<DataTableElement['editorOpened'] | undefined> = input<DataTableElement['editorOpened']>();\n\n    /**\n     * Signal input for the `sorted` property.\n     *\n     * @public\n     */\n    public readonly sorted: InputSignal<DataTableElement['sorted'] | undefined> = input<DataTableElement['sorted']>();\n\n    /**\n     * Signal input for the `sortedSource` property.\n     *\n     * @public\n     */\n    public readonly sortedSource: InputSignal<DataTableElement['sortedSource'] | undefined> = input<DataTableElement['sortedSource']>();\n\n    /**\n     * Signal input for the `allColumnsHidden` property.\n     *\n     * @public\n     */\n    public readonly allColumnsHidden: InputSignal<DataTableElement['allColumnsHidden'] | undefined> = input<DataTableElement['allColumnsHidden']>();\n\n    /**\n     * Signal input for the `alternating` property.\n     *\n     * @public\n     */\n    public readonly alternating: InputSignal<DataTableElement['alternating'] | undefined> = input<DataTableElement['alternating']>();\n\n    /**\n     * Signal input for the `autoGenerateColumns` property.\n     *\n     * @public\n     */\n    public readonly autoGenerateColumns: InputSignal<DataTableElement['autoGenerateColumns'] | undefined> = input<DataTableElement['autoGenerateColumns']>();\n\n    /**\n     * Signal input for the `columnDefinitions` property.\n     *\n     * @public\n     */\n    public readonly columnDefinitions: InputSignal<DataTableElement['columnDefinitions'] | undefined> = input<DataTableElement['columnDefinitions']>();\n\n    /**\n     * Signal input for the `caption` property.\n     *\n     * @public\n     */\n    public readonly caption: InputSignal<DataTableElement['caption'] | undefined> = input<DataTableElement['caption']>();\n\n    /**\n     * Signal input for the `selectionType` property.\n     *\n     * @public\n     */\n    public readonly selectionType: InputSignal<DataTableElement['selectionType'] | undefined> = input<DataTableElement['selectionType']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<DataTableElement['selectionMode'] | undefined> = input<DataTableElement['selectionMode']>();\n\n    /**\n     * Signal input for the `resizable` property.\n     *\n     * @public\n     */\n    public readonly resizable: InputSignal<DataTableElement['resizable'] | undefined> = input<DataTableElement['resizable']>();\n\n    /**\n     * Signal input for the `sortable` property.\n     *\n     * @public\n     */\n    public readonly sortable: InputSignal<DataTableElement['sortable'] | undefined> = input<DataTableElement['sortable']>();\n\n    /**\n     * Signal input for the `pinable` property.\n     *\n     * @public\n     */\n    public readonly pinable: InputSignal<DataTableElement['pinable'] | undefined> = input<DataTableElement['pinable']>();\n\n    /**\n     * Signal input for the `hideable` property.\n     *\n     * @public\n     */\n    public readonly hideable: InputSignal<DataTableElement['hideable'] | undefined> = input<DataTableElement['hideable']>();\n\n    /**\n     * Signal input for the `autoSizeable` property.\n     *\n     * @public\n     */\n    public readonly autoSizeable: InputSignal<DataTableElement['autoSizeable'] | undefined> = input<DataTableElement['autoSizeable']>();\n\n    /**\n     * Signal input for the `columnChoosable` property.\n     *\n     * @public\n     */\n    public readonly columnChoosable: InputSignal<DataTableElement['columnChoosable'] | undefined> = input<DataTableElement['columnChoosable']>();\n\n    /**\n     * Signal input for the `reorderable` property.\n     *\n     * @public\n     */\n    public readonly reorderable: InputSignal<DataTableElement['reorderable'] | undefined> = input<DataTableElement['reorderable']>();\n\n    /**\n     * Signal input for the `sortMode` property.\n     *\n     * @public\n     */\n    public readonly sortMode: InputSignal<DataTableElement['sortMode'] | undefined> = input<DataTableElement['sortMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DataTableElement['themeName'] | undefined> = input<DataTableElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DataTableElement['appearance'] | undefined> = input<DataTableElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DataTableElement['disabled'] | undefined> = input<DataTableElement['disabled']>();\n\n    /**\n     * Signal input for the `source` property.\n     *\n     * @public\n     */\n    public readonly source: InputSignal<DataTableElement['source'] | undefined> = input<DataTableElement['source']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DataTableElement['dir'] | undefined> = input<DataTableElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DataTableElement['lang'] | undefined> = input<DataTableElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const editorOpenedValue = this.editorOpened();\n                if (editorOpenedValue !== undefined) {\n                    (this._element as any).editorOpened = editorOpenedValue;\n                }\n\n                const allColumnsHiddenValue = this.allColumnsHidden();\n                if (allColumnsHiddenValue !== undefined) {\n                    (this._element as any).allColumnsHidden = allColumnsHiddenValue;\n                }\n\n                const alternatingValue = this.alternating();\n                if (alternatingValue !== undefined) {\n                    (this._element as any).alternating = alternatingValue;\n                }\n\n                const autoGenerateColumnsValue = this.autoGenerateColumns();\n                if (autoGenerateColumnsValue !== undefined) {\n                    (this._element as any).autoGenerateColumns = autoGenerateColumnsValue;\n                }\n\n                const columnDefinitionsValue = this.columnDefinitions();\n                if (columnDefinitionsValue !== undefined) {\n                    (this._element as any).columnDefinitions = columnDefinitionsValue;\n                }\n\n                const captionValue = this.caption();\n                if (captionValue !== undefined) {\n                    (this._element as any).caption = captionValue;\n                }\n\n                const selectionTypeValue = this.selectionType();\n                if (selectionTypeValue !== undefined) {\n                    (this._element as any).selectionType = selectionTypeValue;\n                }\n\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const resizableValue = this.resizable();\n                if (resizableValue !== undefined) {\n                    (this._element as any).resizable = resizableValue;\n                }\n\n                const sortableValue = this.sortable();\n                if (sortableValue !== undefined) {\n                    (this._element as any).sortable = sortableValue;\n                }\n\n                const pinableValue = this.pinable();\n                if (pinableValue !== undefined) {\n                    (this._element as any).pinable = pinableValue;\n                }\n\n                const hideableValue = this.hideable();\n                if (hideableValue !== undefined) {\n                    (this._element as any).hideable = hideableValue;\n                }\n\n                const autoSizeableValue = this.autoSizeable();\n                if (autoSizeableValue !== undefined) {\n                    (this._element as any).autoSizeable = autoSizeableValue;\n                }\n\n                const columnChoosableValue = this.columnChoosable();\n                if (columnChoosableValue !== undefined) {\n                    (this._element as any).columnChoosable = columnChoosableValue;\n                }\n\n                const reorderableValue = this.reorderable();\n                if (reorderableValue !== undefined) {\n                    (this._element as any).reorderable = reorderableValue;\n                }\n\n                const sortModeValue = this.sortMode();\n                if (sortModeValue !== undefined) {\n                    (this._element as any).sortMode = sortModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sourceValue = this.source();\n                if (sourceValue !== undefined) {\n                    (this._element as any).source = sourceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `tableSelectionChanged` event.\n     *\n     * @public\n     */\n    public readonly tableSelectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `dataTableEditorOpened` event.\n     *\n     * @public\n     */\n    public readonly dataTableEditorOpened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `dataTableEditorClosed` event.\n     *\n     * @public\n     */\n    public readonly dataTableEditorClosed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DataTableMethodNames>(method: TMethod, ...args: Parameters<DataTableComponentMethods[TMethod]>): ReturnType<DataTableComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DataTableElement>(property: TProperty, value: DataTableElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DataTableComponent.\n */\nexport type DataTableMethodNames = 'openEditor' | 'closeEditor' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DataTableComponent.\n */\nexport type DataTableComponentMethods = MethodMap<DataTableMethodNames>;\n\n/**\n * @public\n */\nexport function provideDataTableComponent(config: Partial<DataTableElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DATA_TABLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport type { IHeaderCellDefContext } from './IHeaderCellDefContext';\n\n// #endregion\n\n/**\n * Structural directive that defines a custom header cell template for a data table column.\n *\n * @remarks\n * Use this directive inside a `mosaikColumnDef` container to provide a custom\n * template for the header cell. The template receives the column definition via `let column`.\n *\n * @example\n * ```html\n * <ng-container mosaikColumnDef=\"status\">\n *   <ng-container *mosaikHeaderCellDef=\"let column\">\n *     <mosaik-icon [data]=\"statusIcon\"></mosaik-icon>\n *     <span>{{ column.title }}</span>\n *   </ng-container>\n * </ng-container>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikHeaderCellDef]'\n})\nexport class HeaderCellDefDirective {\n\n    // #region Fields\n\n    private readonly _template: TemplateRef<IHeaderCellDefContext>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._template = inject(TemplateRef<IHeaderCellDefContext>);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The template reference for the header cell content.\n     *\n     * @public\n     * @readonly\n     */\n    public get template(): TemplateRef<IHeaderCellDefContext> {\n        return this._template;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Asserts the correct type for the template context.\n     *\n     * @public\n     * @static\n     */\n    public static ngTemplateContextGuard(\n        _dir: HeaderCellDefDirective,\n        _ctx: unknown\n    ): _ctx is IHeaderCellDefContext {\n        return true;\n    }\n\n    // #endregion\n}\n","// #region Imports\n\nimport { afterNextRender, ContentChild, Directive, inject, Injector, Input, ViewContainerRef, type AfterContentInit, type EmbeddedViewRef, type OnDestroy } from '@angular/core';\nimport { DataTableElement, type CellTemplateFunction, type HeaderCellTemplateFunction, type IDataTableColumnDefinition } from '@breadstone/mosaik-elements-foundation';\nimport { DataTableComponent } from '../../../../Controls/Components/Selectors/DataTable/DataTableComponent';\nimport { CellDefDirective } from './CellDefDirective';\nimport { HeaderCellDefDirective } from './HeaderCellDefDirective';\n\n// #endregion\n\n/**\n * Shared template override registry.\n * Maps each DataTableElement to a Map of columnKey → template overrides.\n * Used by all `ColumnDefDirective` instances to compose overrides cleanly.\n *\n * @private\n */\nconst TEMPLATE_OVERRIDES = new WeakMap<DataTableElement, Map<string, IColumnTemplateOverrides>>();\n\n/**\n * Tracks DataTableElements whose `getColumns` method has been patched.\n *\n * @private\n */\nconst PATCHED_ELEMENTS = new WeakSet<DataTableElement>();\n\n/**\n * @private\n */\ninterface IColumnTemplateOverrides {\n    cellTemplate?: CellTemplateFunction;\n    headerCellTemplate?: HeaderCellTemplateFunction;\n}\n\n/**\n * Patches the `getColumns` method on a DataTableElement to merge in template overrides.\n * The patch is applied once per element and reads from the `TEMPLATE_OVERRIDES` WeakMap.\n *\n * @private\n */\nfunction ensureGetColumnsPatched(element: DataTableElement): void {\n    if (PATCHED_ELEMENTS.has(element)) {\n        return;\n    }\n\n    const original = element.getColumns.bind(element);\n\n    element.getColumns = (): Array<IDataTableColumnDefinition> => {\n        const columns = original();\n        const overrides = TEMPLATE_OVERRIDES.get(element);\n\n        if (!overrides || overrides.size === 0) {\n            return columns;\n        }\n\n        return columns.map((col) => {\n            const override = overrides.get(col.key);\n\n            if (override) {\n                return { ...col, ...override };\n            }\n\n            return col;\n        });\n    };\n\n    PATCHED_ELEMENTS.add(element);\n}\n\n/**\n * Registers template overrides for a column on a DataTableElement.\n *\n * @private\n */\nfunction registerTemplateOverrides(element: DataTableElement, columnKey: string, overrides: IColumnTemplateOverrides): void {\n    ensureGetColumnsPatched(element);\n\n    let map = TEMPLATE_OVERRIDES.get(element);\n\n    if (!map) {\n        map = new Map();\n        TEMPLATE_OVERRIDES.set(element, map);\n    }\n\n    map.set(columnKey, overrides);\n    element.requestUpdate('columnDefinitions');\n}\n\n/**\n * Unregisters template overrides for a column on a DataTableElement.\n *\n * @private\n */\nfunction unregisterTemplateOverrides(element: DataTableElement, columnKey: string): void {\n    const map = TEMPLATE_OVERRIDES.get(element);\n\n    if (map) {\n        map.delete(columnKey);\n        element.requestUpdate('columnDefinitions');\n    }\n}\n\n/**\n * Directive that defines custom cell and header cell templates for a specific data table column.\n *\n * @remarks\n * Place this directive on an `ng-container` inside a `mosaik-data-table` component.\n * The directive bridges Angular `ng-template` content to the Lit-based DataTable's\n * `cellTemplate` / `headerCellTemplate` callbacks, translating `TemplateRef` instances\n * into DOM nodes that the DataTable can render.\n *\n * @example\n * ```html\n * <mosaik-data-table [source]=\"data\" [columnDefinitions]=\"cols\">\n *   <ng-container mosaikColumnDef=\"status\">\n *     <ng-container *mosaikCellDef=\"let item\">\n *       <mosaik-badge [text]=\"item.status\"></mosaik-badge>\n *     </ng-container>\n *   </ng-container>\n *   <ng-container mosaikColumnDef=\"name\">\n *     <ng-container *mosaikHeaderCellDef=\"let column\">\n *       <mosaik-icon data=\"user-icon\"></mosaik-icon>\n *       <span>{{ column.title }}</span>\n *     </ng-container>\n *     <ng-container *mosaikCellDef=\"let item\">\n *       <a [href]=\"'/users/' + item.id\">{{ item.name }}</a>\n *     </ng-container>\n *   </ng-container>\n * </mosaik-data-table>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikColumnDef]'\n})\nexport class ColumnDefDirective\n    implements AfterContentInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _dataTable: DataTableComponent;\n    private readonly _vcr: ViewContainerRef;\n    private readonly _injector: Injector;\n    private readonly _views: Array<EmbeddedViewRef<unknown>>;\n    private _nativeElement: DataTableElement | null;\n    private _cleanupScheduled: boolean;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._dataTable = inject(DataTableComponent);\n        this._vcr = inject(ViewContainerRef);\n        this._injector = inject(Injector);\n        this._views = [];\n        this._nativeElement = null;\n        this._cleanupScheduled = false;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The column key that this definition targets.\n     * Must match the `key` property of a column in `columnDefinitions`.\n     *\n     * @public\n     */\n    @Input({ required: true, alias: 'mosaikColumnDef' })\n    public columnKey!: string;\n\n    /**\n     * The cell template directive for body cells.\n     *\n     * @public\n     */\n    @ContentChild(CellDefDirective)\n    public cellDef?: CellDefDirective;\n\n    /**\n     * The header cell template directive.\n     *\n     * @public\n     */\n    @ContentChild(HeaderCellDefDirective)\n    public headerCellDef?: HeaderCellDefDirective;\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngAfterContentInit(): void {\n        afterNextRender(() => {\n            this.applyTemplates();\n        }, { injector: this._injector });\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        if (this._nativeElement) {\n            unregisterTemplateOverrides(this._nativeElement, this.columnKey);\n        }\n\n        for (const view of this._views) {\n            view.destroy();\n        }\n\n        this._views.length = 0;\n    }\n\n    /**\n     * Builds the template callbacks and registers them as overrides on the native element.\n     *\n     * @private\n     */\n    private applyTemplates(): void {\n        this._nativeElement = (this._dataTable as unknown as { _element: DataTableElement })._element;\n        const overrides: IColumnTemplateOverrides = {};\n\n        if (this.cellDef) {\n            overrides.cellTemplate = this.createCellTemplateCallback(this.cellDef);\n        }\n\n        if (this.headerCellDef) {\n            overrides.headerCellTemplate = this.createHeaderCellTemplateCallback(this.headerCellDef);\n        }\n\n        registerTemplateOverrides(this._nativeElement, this.columnKey, overrides);\n    }\n\n    /**\n     * Creates a `cellTemplate` callback that renders an Angular template into a `DocumentFragment`.\n     *\n     * @private\n     */\n    private createCellTemplateCallback(cellDef: CellDefDirective): CellTemplateFunction {\n        return (item: unknown, column: unknown, resolvedValue: unknown): Node => {\n            this.scheduleViewCleanup();\n\n            const viewRef = this._vcr.createEmbeddedView(cellDef.template, {\n                $implicit: item,\n                column: column,\n                value: resolvedValue\n            });\n\n            viewRef.detectChanges();\n            this._views.push(viewRef);\n\n            const fragment = document.createDocumentFragment();\n\n            for (const node of viewRef.rootNodes) {\n                fragment.appendChild(node);\n            }\n\n            return fragment;\n        };\n    }\n\n    /**\n     * Creates a `headerCellTemplate` callback that renders an Angular template into a `DocumentFragment`.\n     *\n     * @private\n     */\n    private createHeaderCellTemplateCallback(headerCellDef: HeaderCellDefDirective): HeaderCellTemplateFunction {\n        return (column: unknown): Node => {\n            this.scheduleViewCleanup();\n\n            const viewRef = this._vcr.createEmbeddedView(headerCellDef.template, {\n                $implicit: column\n            });\n\n            viewRef.detectChanges();\n            this._views.push(viewRef);\n\n            const fragment = document.createDocumentFragment();\n\n            for (const node of viewRef.rootNodes) {\n                fragment.appendChild(node);\n            }\n\n            return fragment;\n        };\n    }\n\n    /**\n     * Schedules a deferred cleanup of disconnected views.\n     * The cleanup runs after the current Lit render cycle completes via `requestAnimationFrame`,\n     * ensuring that newly created DOM nodes have been flushed to the document before checking `isConnected`.\n     *\n     * @private\n     */\n    private scheduleViewCleanup(): void {\n        if (this._cleanupScheduled) {\n            return;\n        }\n\n        this._cleanupScheduled = true;\n\n        requestAnimationFrame(() => {\n            this._cleanupScheduled = false;\n            this.cleanupDisconnectedViews();\n        });\n    }\n\n    /**\n     * Destroys embedded views whose DOM nodes are no longer connected to the document.\n     * This prevents memory leaks when the DataTable re-renders and replaces cell content.\n     *\n     * @private\n     */\n    private cleanupDisconnectedViews(): void {\n        let writeIndex = 0;\n\n        for (let readIndex = 0; readIndex < this._views.length; readIndex++) {\n            const view = this._views[readIndex];\n            const isConnected = view.rootNodes.some((node: Node) => node.isConnected);\n\n            if (isConnected) {\n                this._views[writeIndex] = view;\n                writeIndex++;\n            } else {\n                view.destroy();\n            }\n        }\n\n        this._views.length = writeIndex;\n    }\n\n    // #endregion\n}\n","// #region Imports\n\nimport type { IDataTableColumnDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Creates a single DataTable column definition with full type inference.\n *\n * @remarks\n * This function acts as a facade over the Foundation-level `IDataTableColumnDefinition`,\n * so Angular consumers never need to import it directly.\n * Parameter types are derived from the Foundation interface, so any additions\n * to `IDataTableColumnDefinition` are automatically reflected in `options`.\n *\n * @param key - Identifies the data property for this column.\n * @param title - Column header text.\n * @param options - Additional column options (hidden, sortable, etc.).\n * @returns The column definition.\n *\n * @public\n */\nexport function defineColumn<TItem = unknown>(\n    key: IDataTableColumnDefinition<TItem>['key'],\n    title?: IDataTableColumnDefinition<TItem>['title'],\n    options?: Partial<Omit<IDataTableColumnDefinition<TItem>, 'key' | 'title'>>\n): IDataTableColumnDefinition<TItem> {\n    return { key, title, ...options };\n}\n","// #region Imports\n\nimport type { IDataTableColumnDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Creates multiple DataTable column definitions.\n *\n * @remarks\n * This function acts as a facade over the Foundation-level\n * `IDataTableColumnDefinition`, so Angular consumers never need to\n * import it directly. Columns are typically created via {@link defineColumn}.\n *\n * @param columns - The column definitions.\n * @returns The column definitions as an array.\n *\n * @public\n */\nexport function defineColumns<TItem = unknown>(\n    ...columns: IDataTableColumnDefinition<TItem>[]\n): IDataTableColumnDefinition<TItem>[] {\n    return columns;\n}\n","// #region Imports\n\nimport type { IDataTableColumnDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Describes the template context for `CellDefDirective`.\n *\n * @remarks\n * The `$implicit` property holds the data item for the current row,\n * accessible via `let item` in the structural directive syntax.\n * The `column` property provides the column definition metadata.\n *\n * @public\n */\nexport interface ICellDefContext {\n\n    /**\n     * The data item for the current row.\n     * Accessible via `let item` in the structural directive syntax.\n     *\n     * @public\n     */\n    $implicit: unknown;\n\n    /**\n     * The column definition for the current column.\n     *\n     * @public\n     */\n    column: IDataTableColumnDefinition;\n\n    /**\n     * The pre-resolved display value produced by the column's `pathFn`.\n     * Accessible via `let value = value` in the structural directive syntax.\n     *\n     * @public\n     */\n    value: unknown;\n}\n","// #region Imports\n\nimport type { IDataTableColumnDefinition } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Describes the template context for `HeaderCellDefDirective`.\n *\n * @remarks\n * The `$implicit` property holds the column definition,\n * accessible via `let column` in the structural directive syntax.\n *\n * @public\n */\nexport interface IHeaderCellDefContext {\n\n    /**\n     * The column definition for the current column.\n     * Accessible via `let column` in the structural directive syntax.\n     *\n     * @public\n     */\n    $implicit: IDataTableColumnDefinition;\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { StepperElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the StepperComponent.\n * Use this token to provide default properties for the StepperComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const STEPPER_DEFAULT_PROPS = new InjectionToken<Partial<StepperElement.Props>>('MOSAIK_STEPPER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot footer - Custom footer content below the stepper content\n * @slot steps - The stepper item elements (mosaik-stepper-item)\n * @slot  - Default slot for selector item elements\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-stepper', StepperElement),\n    inputs: ['activeIndex', 'isFirstStep', 'isLastStep', 'themeName', 'fit', 'disabled', 'orientation', 'items', 'selectedItem', 'dir', 'lang'],\n    methods: ['onStepInvoked', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-stepper',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class StepperComponent {\n    // #region Fields\n\n    private readonly _element: StepperElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('activeStepChanged', (e) => this.activeStepChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(STEPPER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `activeIndex` property.\n     *\n     * @public\n     */\n    public readonly activeIndex: InputSignal<StepperElement['activeIndex'] | undefined> = input<StepperElement['activeIndex']>();\n\n    /**\n     * Signal input for the `isFirstStep` property.\n     *\n     * @public\n     */\n    public readonly isFirstStep: InputSignal<StepperElement['isFirstStep'] | undefined> = input<StepperElement['isFirstStep']>();\n\n    /**\n     * Signal input for the `isLastStep` property.\n     *\n     * @public\n     */\n    public readonly isLastStep: InputSignal<StepperElement['isLastStep'] | undefined> = input<StepperElement['isLastStep']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<StepperElement['themeName'] | undefined> = input<StepperElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<StepperElement['fit'] | undefined> = input<StepperElement['fit']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<StepperElement['disabled'] | undefined> = input<StepperElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<StepperElement['orientation'] | undefined> = input<StepperElement['orientation']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<StepperElement['items'] | undefined> = input<StepperElement['items']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<StepperElement['selectedItem'] | undefined> = input<StepperElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<StepperElement['dir'] | undefined> = input<StepperElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<StepperElement['lang'] | undefined> = input<StepperElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `activeStepChanged` event.\n     *\n     * @public\n     */\n    public readonly activeStepChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends StepperMethodNames>(method: TMethod, ...args: Parameters<StepperComponentMethods[TMethod]>): ReturnType<StepperComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof StepperElement>(property: TProperty, value: StepperElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on StepperComponent.\n */\nexport type StepperMethodNames = 'onStepInvoked' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for StepperComponent.\n */\nexport type StepperComponentMethods = MethodMap<StepperMethodNames>;\n\n/**\n * @public\n */\nexport function provideStepperComponent(config: Partial<StepperElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: STEPPER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Directive, HostListener, inject } from '@angular/core';\nimport { StepperComponent } from '../../../../Controls/Components/Selectors/Stepper/StepperComponent';\n\n// #endregion\n\n@Directive({\n    selector: '[mosaikStepperNext]'\n})\nexport class StepperNextDirective {\n\n    // #region Fields\n\n    private readonly _component: StepperComponent;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `StepperNextDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._component = inject(StepperComponent);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    @HostListener('click', ['$event'])\n    protected onClick(_event: MouseEvent): void {\n        if (this._component.disabled()) {\n            return;\n        }\n\n        this._component.invoke('selectNext');\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, HostListener, inject } from '@angular/core';\nimport { StepperComponent } from '../../../../Controls/Components/Selectors/Stepper/StepperComponent';\n\n// #endregion\n\n@Directive({\n    selector: '[mosaikStepperPrev]'\n})\nexport class StepperPrevDirective {\n\n    // #region Fields\n\n    private readonly _component: StepperComponent;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `StepperPrevDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._component = inject(StepperComponent);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    @HostListener('click', ['$event'])\n    protected onClick(_event: MouseEvent): void {\n        if (this._component.disabled()) {\n            return;\n        }\n\n        this._component.invoke('selectPrevious');\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { WizardElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the WizardComponent.\n * Use this token to provide default properties for the WizardComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const WIZARD_DEFAULT_PROPS = new InjectionToken<Partial<WizardElement.Props>>('MOSAIK_WIZARD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot footer - The footer slot.\n * @slot header - The header slot.\n * @slot header-after - The header after slot.\n * @slot header-before - The header before slot.\n * @slot steps - The steps slot.\n * @slot  - Default slot for selector item elements\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-wizard', WizardElement),\n    inputs: ['name', 'activeIndex', 'isFirstStep', 'isLastStep', 'themeName', 'fit', 'disabled', 'items', 'selectedItem', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-wizard',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class WizardComponent {\n    // #region Fields\n\n    private readonly _element: WizardElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('activeStepChanged', (e) => this.activeStepChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(WIZARD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<WizardElement['name'] | undefined> = input<WizardElement['name']>();\n\n    /**\n     * Signal input for the `activeIndex` property.\n     *\n     * @public\n     */\n    public readonly activeIndex: InputSignal<WizardElement['activeIndex'] | undefined> = input<WizardElement['activeIndex']>();\n\n    /**\n     * Signal input for the `isFirstStep` property.\n     *\n     * @public\n     */\n    public readonly isFirstStep: InputSignal<WizardElement['isFirstStep'] | undefined> = input<WizardElement['isFirstStep']>();\n\n    /**\n     * Signal input for the `isLastStep` property.\n     *\n     * @public\n     */\n    public readonly isLastStep: InputSignal<WizardElement['isLastStep'] | undefined> = input<WizardElement['isLastStep']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<WizardElement['themeName'] | undefined> = input<WizardElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<WizardElement['fit'] | undefined> = input<WizardElement['fit']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<WizardElement['disabled'] | undefined> = input<WizardElement['disabled']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<WizardElement['items'] | undefined> = input<WizardElement['items']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<WizardElement['selectedItem'] | undefined> = input<WizardElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<WizardElement['dir'] | undefined> = input<WizardElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<WizardElement['lang'] | undefined> = input<WizardElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `activeStepChanged` event.\n     *\n     * @public\n     */\n    public readonly activeStepChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends WizardMethodNames>(method: TMethod, ...args: Parameters<WizardComponentMethods[TMethod]>): ReturnType<WizardComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof WizardElement>(property: TProperty, value: WizardElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on WizardComponent.\n */\nexport type WizardMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for WizardComponent.\n */\nexport type WizardComponentMethods = MethodMap<WizardMethodNames>;\n\n/**\n * @public\n */\nexport function provideWizardComponent(config: Partial<WizardElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: WIZARD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Directive, HostListener, inject } from '@angular/core';\nimport { WizardComponent } from '../../../../Controls/Components/Selectors/Wizard/WizardComponent';\n\n// #endregion\n\n@Directive({\n    selector: '[mosaikWizardNext]'\n})\nexport class WizardNextDirective {\n\n    // #region Fields\n\n    private readonly _component: WizardComponent;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `WizardNextDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._component = inject(WizardComponent);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    @HostListener('click', ['$event'])\n    protected onClick(_event: MouseEvent): void {\n        if (this._component.disabled()) {\n            return;\n        }\n\n        this._component.invoke('selectNext');\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, HostListener, inject } from '@angular/core';\nimport { WizardComponent } from '../../../../Controls/Components/Selectors/Wizard/WizardComponent';\n\n// #endregion\n\n@Directive({\n    selector: '[mosaikWizardPrev]'\n})\nexport class WizardPrevDirective {\n\n    // #region Fields\n\n    private readonly _component: WizardComponent;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `WizardPrevDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._component = inject(WizardComponent);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    @HostListener('click', ['$event'])\n    protected onClick(_event: MouseEvent): void {\n        if (this._component.disabled()) {\n            return;\n        }\n\n        this._component.invoke('selectPrevious');\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, ElementRef, Input, Renderer2, WritableSignal, computed, effect, inject, signal } from '@angular/core';\nimport { Size, Spacing } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Represents the options for the `SpacerDirective`.\n *\n * @public\n */\nexport interface ISpacerDirectiveOptions {\n    multiplier?: number;\n    size?: Size;\n    thickness?: Spacing | Array<Spacing> | null;\n    invert?: boolean;\n    multiplierValidator?: (multiplier: number) => boolean;\n}\n\n/**\n * Spacer Directive - A directive to apply spacing (margins) to an element based on configurable options.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikSpacer]'\n})\nexport class SpacerDirective {\n\n    // #region Fields\n\n    private readonly _el: ElementRef<HTMLElement> = inject(ElementRef);\n    private readonly _renderer: Renderer2 = inject(Renderer2);\n    private readonly _multiplier: WritableSignal<number | undefined> = signal<number | undefined>(undefined);\n    private readonly _size: WritableSignal<Size | undefined> = signal<Size | undefined>(undefined);\n    private readonly _thickness: WritableSignal<Spacing | Array<Spacing> | null | undefined> = signal<Spacing | Array<Spacing> | null | undefined>(undefined);\n    private readonly _invert: WritableSignal<boolean | undefined> = signal<boolean | undefined>(undefined);\n    private readonly _multiplierValidator: WritableSignal<((multiplier: number) => boolean) | undefined> = signal<((multiplier: number) => boolean) | undefined>(undefined);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SpacerDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        const options = computed<Required<ISpacerDirectiveOptions>>(() => ({\n            multiplier: this._multiplier() ?? 8,\n            size: this._size() ?? Size.Medium,\n            thickness: this._thickness() ?? [],\n            invert: this._invert() ?? false,\n            multiplierValidator: this._multiplierValidator() ?? ((m: number) => !((m / 4) % 1))\n        }));\n\n        effect(() => {\n            const { multiplier, size, thickness, invert, multiplierValidator } = options();\n\n            if (!multiplierValidator(multiplier)) {\n                throw new Error('Invalid space multiplier.');\n            }\n\n            const getDensityAsNumber = (s: Size): number => {\n                switch (s) {\n                    case Size.Tiny: return 1;\n                    case Size.Small: return 2;\n                    case Size.Medium: return 3;\n                    case Size.Large: return 4;\n                    case Size.Giant: return 5;\n                    default: return 3;\n                }\n            };\n\n            const parseSize = (sz: number): string => `${sz}px`;\n\n            const parseThickness = (t: Spacing | Array<Spacing> | null): Array<Spacing> => {\n                if (!t) { return []; }\n                if (Array.isArray(t)) { return t; }\n                return [t];\n            };\n\n            const tryGetThickness = (keys: Array<Spacing>, thicknessArr: Array<Spacing>): string => {\n                let sizePx = multiplier * getDensityAsNumber(size);\n                sizePx = invert ? -Math.abs(sizePx) : Math.abs(sizePx);\n                for (const k of keys) {\n                    if (thicknessArr.includes(k)) { return parseSize(sizePx); }\n                }\n                return '0px';\n            };\n\n            const thicknessArr = parseThickness(thickness);\n\n            this._renderer.setStyle(this._el.nativeElement, 'margin-top', tryGetThickness([Spacing.Top, Spacing.Vertical, Spacing.All], thicknessArr));\n            this._renderer.setStyle(this._el.nativeElement, 'margin-right', tryGetThickness([Spacing.Right, Spacing.Horizontal, Spacing.All], thicknessArr));\n            this._renderer.setStyle(this._el.nativeElement, 'margin-bottom', tryGetThickness([Spacing.Bottom, Spacing.Vertical, Spacing.All], thicknessArr));\n            this._renderer.setStyle(this._el.nativeElement, 'margin-left', tryGetThickness([Spacing.Left, Spacing.Horizontal, Spacing.All], thicknessArr));\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The spacing multiplier.\n     *\n     * @public\n     */\n    @Input('mosaikSpacerMultiplier')\n    public get multiplier(): number | undefined {\n        return this._multiplier();\n    }\n    public set multiplier(value: number | undefined) {\n        this._multiplier.set(value);\n    }\n\n    /**\n     * The size of the spacing.\n     *\n     * @public\n     */\n    @Input('mosaikSpacerSize')\n    public get size(): Size | undefined {\n        return this._size();\n    }\n    public set size(value: Size | undefined) {\n        this._size.set(value);\n    }\n\n    /**\n     * The thickness or sides for which the spacer applies.\n     *\n     * @public\n     */\n    @Input('mosaikSpacerThickness')\n    public get thickness(): Spacing | Array<Spacing> | null | undefined {\n        return this._thickness();\n    }\n    public set thickness(value: Spacing | Array<Spacing> | null | undefined) {\n        this._thickness.set(value);\n    }\n\n    /**\n     * Whether to invert the spacing direction.\n     *\n     * @public\n     */\n    @Input('mosaikSpacerInvert')\n    public get invert(): boolean | undefined {\n        return this._invert();\n    }\n    public set invert(value: boolean | undefined) {\n        this._invert.set(value);\n    }\n\n    /**\n     * Optional custom validator for the multiplier.\n     *\n     * @public\n     */\n    @Input('mosaikSpacerMultiplierValidator')\n    public get multiplierValidator(): ((multiplier: number) => boolean) | undefined {\n        return this._multiplierValidator();\n    }\n    public set multiplierValidator(value: ((multiplier: number) => boolean) | undefined) {\n        this._multiplierValidator.set(value);\n    }\n\n    // #endregion\n\n}\n","/* eslint-disable @stylistic/lines-between-class-members */\n\n// #region Imports\n\nimport { computed, Directive, effect, ElementRef, EnvironmentProviders, inject, InjectionToken, input, InputSignal, InputSignalWithTransform, makeEnvironmentProviders, Renderer2, Signal } from '@angular/core';\nimport { TextFormatter, TextFormatterFn, TextFormatters } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Text Formatter Directive - A directive to apply text formatting styles to an element.\n *\n * Usage:\n * ```html\n * <p [mosaikTextFormatter]=\"'richtext'\" [mosaikTextFormatterValue]=\"'~Bold~ and _italic_'\"></p>\n * ```\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikTextFormatter]'\n})\nexport class TextFormatterDirective {\n\n    // #region Fields\n\n    private readonly _element: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n    private readonly _renderer: Renderer2 = inject(Renderer2);\n    private readonly _defaultFormatter: TextFormatterFn | null;\n    private readonly _formatterFn: Signal<TextFormatterFn> = computed(() => {\n        const current = this.formatter();\n        if (typeof current === 'function') {\n            return current;\n        }\n        if (typeof this._defaultFormatter === 'function') {\n            return this._defaultFormatter;\n        }\n        return TextFormatters.DEFAULT;\n    });\n    private readonly _formattedText: Signal<string> = computed(() => {\n        const fn = this._formatterFn();\n        const raw = this.value();\n        return fn(raw);\n    });\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        const defaults = inject(TEXT_FORMATTER_DEFAULT_PROPS, { optional: true });\n        this._defaultFormatter = this.resolveFormatter(defaults?.formatter ?? null);\n\n        effect(() => {\n            const html = this._formattedText();\n            this._renderer.setProperty(this._element.nativeElement, 'innerHTML', html);\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The text formatter to apply to the element's content.\n     * Can be a function or the name of a predefined formatter.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignalWithTransform<TextFormatterFn | null, TextFormatter | null> = input<TextFormatterFn | null, TextFormatter | null>(null, {\n        alias: 'mosaikTextFormatter',\n        transform: (value: TextFormatter | null): TextFormatterFn | null => this.resolveFormatter(value)\n    });\n\n    /**\n     * The raw text value to format.\n     * This should be used instead of placing content inside the element.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<string> = input<string>('', {\n        alias: 'mosaikTextFormatterValue'\n    });\n\n    // #endregion\n\n    //#region Methods\n\n    /**\n     * Resolves a formatter from a string name or function.\n     *\n     * @private\n     * @param value - The formatter to resolve.\n     * @returns The resolved formatter function or null.\n     */\n    private resolveFormatter(value: TextFormatter | null): TextFormatterFn | null {\n        if (typeof value === 'function') {\n            return value;\n        }\n\n        if (typeof value === 'string') {\n            for (const [key, formatter] of Object.entries(TextFormatters)) {\n                if (key.toLowerCase() === value.toLowerCase()) {\n                    return formatter as TextFormatterFn;\n                }\n            }\n        }\n\n        return null;\n    }\n\n    //#endregion\n\n}\n\n/**\n * @public\n */\nexport namespace TextFormatterDirective {\n    export type Props = {\n        formatter: TextFormatter | null;\n    };\n}\n\n/**\n * The injection token for providing default properties to the TextFormatterDirective.\n *\n * @public\n */\nexport const TEXT_FORMATTER_DEFAULT_PROPS = new InjectionToken<Partial<TextFormatterDirective.Props>>('MOSAIK_TEXT_FORMATTER_DEFAULT_PROPS');\n\n/**\n * Provides default configuration for the TextFormatterDirective.\n *\n * @public\n * @param config - Partial configuration to apply as defaults.\n * @returns An EnvironmentProviders array to include in your module or component.\n */\nexport function provideTextFormatter(config: Partial<TextFormatterDirective.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TEXT_FORMATTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { computed, Directive, DOCUMENT, effect, ElementRef, inject, Input, Renderer2, signal, WritableSignal } from '@angular/core';\n\n// #endregion\n\n/**\n * Typography Directive - A directive to apply typography styles to an element.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikTypography]'\n})\nexport class TypographyDirective {\n\n    // #region Fields\n\n    private readonly _el: ElementRef = inject(ElementRef<HTMLElement>);\n    private readonly _renderer: Renderer2 = inject(Renderer2);\n    private readonly _typography: WritableSignal<string | undefined> = signal<string | undefined>(undefined);\n    private readonly _themeName: WritableSignal<string | undefined> = signal<string | undefined>(undefined);\n\n    // #endregion\n\n    public constructor() {\n        const document = inject(DOCUMENT);\n        const typographyConfig = computed(() => {\n            const type = this._typography();\n            const theme = this._themeName() ?? document.documentElement.getAttribute('theme') ?? undefined;\n\n            return {\n                type: type,\n                theme: theme\n            };\n        });\n\n        effect(() => {\n            const { type, theme } = typographyConfig();\n            if (!type || !theme) {\n                return;\n            }\n\n            this._renderer.setStyle(this._el.nativeElement, 'font-family', `var(--${theme}-typography-${type}-font-family)`);\n            this._renderer.setStyle(this._el.nativeElement, 'font-size', `var(--${theme}-typography-${type}-font-size)`);\n            this._renderer.setStyle(this._el.nativeElement, 'line-height', `var(--${theme}-typography-${type}-line-height)`);\n            this._renderer.setStyle(this._el.nativeElement, 'font-weight', `var(--${theme}-typography-${type}-font-weight)`);\n            this._renderer.setStyle(this._el.nativeElement, 'letter-spacing', `var(--${theme}-typography-${type}-letter-spacing)`);\n            this._renderer.setStyle(this._el.nativeElement, 'text-decoration', `var(--${theme}-typography-${type}-text-decoration)`);\n            this._renderer.setStyle(this._el.nativeElement, 'text-transform', `var(--${theme}-typography-${type}-text-transform)`);\n        });\n    }\n\n    // #region Properties\n\n    /**\n     * Type of the typography style to apply (e.g., \"headline\", \"body\").\n     */\n    @Input({\n        alias: 'mosaikTypography',\n        transform: (value: string | undefined) => value?.trim()\n    })\n    public get typography(): string | undefined {\n        return this._typography();\n    }\n    public set typography(type: string | undefined) {\n        this._typography.set(type);\n    }\n\n    /**\n     * Optional theme name override. Falls back to `[document.documentElement].getAttribute('theme')`.\n     */\n    @Input('mosaikTypographyThemeName')\n    public get themeName(): string | undefined {\n        return this._themeName();\n    }\n    public set themeName(value: string | undefined) {\n        this._themeName.set(value?.trim());\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\nimport { IGlobalDomRef } from './IGlobalDomRef';\n\n// #endregion\n\n/**\n * Default implementation of {@link IGlobalDomRef}.\n *\n * @public\n */\n@Injectable()\nexport class GlobalDomRef implements IGlobalDomRef {\n\n    // #region Fields\n\n    private readonly _window: Window;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the {@link GlobalDomRef} class.\n     *\n     * @publicApi\n     */\n    public constructor() {\n        this._window = window;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Returns the global `window` instance.\n     *\n     * @publicApi\n     */\n    public getWindow(): Window {\n        return this._window;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { GlobalDomRef } from './GlobalDomRef';\n\n// #endregion\n\n/**\n * @public\n */\nexport function provideGlobalDom(): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: GlobalDomRef,\n            useClass: GlobalDomRef\n        }\n    ]);\n}\n","// #region Imports\n\nimport { computed, Directive, effect, forwardRef, inject, input, Signal, untracked } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { FieldState, FORM_FIELD } from '@angular/forms/signals';\nimport { FORM_STATUS_HOST } from './FormStatusHostDirective';\n\n// #endregion\n\n/**\n * Interface for Mosaik form field providers.\n * This is compatible with Angular's `FORM_FIELD` injection token but uses\n * Mosaik-specific types to avoid conflicts with Angular's `FormField` directive.\n *\n * @public\n */\nexport interface IFormField<T> {\n    /**\n     * The current field state, or null if not yet available.\n     */\n    readonly state: Signal<FieldState<T> | null>;\n}\n\n/**\n * Directive that bridges Angular Signal Forms with Mosaik form components.\n *\n * This directive provides the `FORM_FIELD` injection token and handles bidirectional\n * value synchronization between a Signal Forms `FieldState` and a Mosaik component\n * that implements `ControlValueAccessor`.\n *\n * @usage\n * ```html\n * <mosaik-textbox [formField]=\"form.username\"></mosaik-textbox>\n * ```\n *\n * The directive will:\n * - Write values FROM the Signal Form TO the component via `writeValue()`\n * - Write values FROM the component TO the Signal Form via `registerOnChange()`\n * - Mark the field as touched via `registerOnTouched()`\n * - Provide `FORM_FIELD` so that `FormFieldStatusDirective` can sync the `invalid` state\n *\n * @remarks\n * This directive does NOT implement Angular's `FormField<T>` interface directly because\n * that interface has incompatible type signatures (e.g., `FieldTree<T>` vs `() => FieldState<T>`).\n * Instead, it provides the same `FORM_FIELD` token with a compatible shape.\n *\n * @public\n */\n@Directive({\n    selector: '[formField]',\n    standalone: true,\n    providers: [{\n        provide: FORM_FIELD,\n        useExisting: forwardRef(() => FormFieldDirective)\n    }]\n})\nexport class FormFieldDirective<T> implements IFormField<T> {\n\n    // #region Fields\n\n    private readonly _hostComponent: ControlValueAccessor | null;\n    private _isWritingValue = false;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        this._hostComponent = inject(FORM_STATUS_HOST, { optional: true });\n\n        // Sync value FROM Signal Form TO Element\n        effect(() => {\n            const fieldFn = this.formField();\n            if (!fieldFn || !this._hostComponent) {\n                return;\n            }\n\n            const fieldState = fieldFn();\n            const value = fieldState.value();\n\n            // Prevent infinite loops when we're the ones setting the value\n            if (!this._isWritingValue) {\n                this._hostComponent.writeValue(value);\n            }\n        });\n\n        // Register for onChange - when the element changes its value, write to Signal Form\n        if (this._hostComponent) {\n            this._hostComponent.registerOnChange((value: T) => {\n                const fieldFn = untracked(() => this.formField());\n                if (fieldFn) {\n                    this._isWritingValue = true;\n                    try {\n                        const fieldState = fieldFn();\n                        fieldState.value.set(value);\n                        fieldState.markAsDirty();\n                    } finally {\n                        this._isWritingValue = false;\n                    }\n                }\n            });\n\n            // Register for onTouched\n            this._hostComponent.registerOnTouched(() => {\n                const fieldFn = untracked(() => this.formField());\n                if (fieldFn) {\n                    fieldFn().markAsTouched();\n                }\n            });\n        }\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The Signal Forms field to bind to this component.\n     *\n     * @example\n     * ```html\n     * <mosaik-textbox [formField]=\"form.username\"></mosaik-textbox>\n     * ```\n     *\n     * @public\n     */\n    public readonly formField = input.required<() => FieldState<T>>();\n\n    /**\n     * Computed state that provides the field state for `FormFieldStatusDirective`.\n     * Returns null if the field function is not yet available.\n     *\n     * @public\n     */\n    public readonly state: Signal<FieldState<T> | null> = computed(() => {\n        const fieldFn = this.formField();\n        return fieldFn ? fieldFn() : null;\n    });\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormGroup, type ValidationErrors } from '@angular/forms';\n\n// #endregion\n\n// #region Types\n\n/**\n * Represents a validation issue with a fully qualified control path.\n *\n * @public\n */\nexport interface IReactiveValidationIssue {\n\n    /**\n     * Dot/bracket path to the control, e.g. \"address.street\" or \"items[0].name\".\n     * Empty string denotes group/array level issues at the current node.\n     */\n    path: string;\n\n    /**\n     * Angular validation errors object for this control/group/array.\n     */\n    errors: ValidationErrors;\n\n}\n\n/**\n * Hooks for reporting validation issues during form traversal.\n *\n * @public\n */\nexport interface IReactiveValidateHooks<TForm> {\n\n    /**\n     * Called once after traversal with all issues found.\n     * Use this to build summaries or for aggregate decisions.\n     *\n     * @public\n     * @param issues The array of all validation issues found.\n     */\n    onErrors?: (issues: Array<IReactiveValidationIssue>) => void;\n\n    /**\n     * Called during traversal for each individual issue.\n     * Use this for per-field side effects (e.g., highlighting).\n     *\n     * @public\n     * @param issue The validation issue found.\n     */\n    onEachError?: (issue: IReactiveValidationIssue) => void;\n\n    /**\n     * Called when no issues were found (i.e., the form is valid).\n     *\n     * @public\n     * @param raw The raw form value (as returned by `formGroup.getRawValue()`).\n     */\n    onSuccess?: (raw: TForm) => void;\n\n}\n\n// #endregion\n\n/**\n * Provides utilities to mark Angular forms (touched/pristine) and\n * to collect validation errors. Offers both classic and fluent APIs.\n *\n * Semantics:\n * - `collectErrors` is pure and never changes control state.\n * - `validate`/`pristine` can optionally report errors via callbacks\n *   in the same pass, without conflating \"marking\" with \"causing\" errors.\n *\n * @public\n * @deprecated Use `SignalFormValidator` instead for new development.\n */\n@Injectable()\nexport class ReactiveFormValidator {\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `FormValidator` class.\n     *\n     * @public\n     */\n    public constructor() {\n        // noop\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Marks each control as touched and optionally reports validation issues.\n     *\n     * @public\n     * @template TGroup The specific type of the form group (for typed raw value).\n     * @param formGroup The form group to validate.\n     * @param hooks Optional validation reporting callbacks.\n     * @returns The raw form value (as returned by `formGroup.getRawValue()`).\n     */\n    public validate<TGroup extends FormGroup>(formGroup: TGroup, hooks?: IReactiveValidateHooks<ReturnType<TGroup['getRawValue']>>): void {\n        const issues: Array<IReactiveValidationIssue> = [];\n\n        this.traverse(formGroup, '', {\n            onControl: (ctrl) => {\n                if (ctrl instanceof FormControl) {\n                    ctrl.markAsTouched({ onlySelf: true });\n                } else if (ctrl instanceof FormArray) {\n                    // Arrays can contain controls or groups\n                    ctrl.controls.forEach((child) => child.markAsTouched({ onlySelf: true }));\n                } // FormGroup: no-op here\n            },\n            onErrors: (issue) => {\n                hooks?.onEachError?.(issue);\n                issues.push(issue);\n            }\n        });\n\n        if (issues.length === 0) {\n            hooks?.onSuccess?.(formGroup.getRawValue());\n        } else {\n            hooks?.onErrors?.(issues);\n        }\n    }\n\n    /**\n     * Marks each control as pristine and optionally reports validation issues.\n     *\n     * @public\n     * @template TGroup The specific type of the form group (for typed raw value).\n     * @param formGroup The form group to mark as pristine.\n     * @param hooks Optional validation reporting callbacks.\n     * @returns The raw form value (as returned by `formGroup.getRawValue()`).\n     */\n    public pristine<TGroup extends FormGroup>(formGroup: TGroup, hooks?: IReactiveValidateHooks<ReturnType<TGroup['getRawValue']>>): void {\n        const issues: Array<IReactiveValidationIssue> = [];\n\n        this.traverse(formGroup, '', {\n            onControl: (ctrl) => {\n                if (ctrl instanceof FormControl) {\n                    ctrl.markAsPristine({ onlySelf: true });\n                } else if (ctrl instanceof FormArray) {\n                    ctrl.controls.forEach((child) => child.markAsPristine({ onlySelf: true }));\n                } // FormGroup: no-op here\n            },\n            onErrors: (issue) => {\n                hooks?.onEachError?.(issue);\n                issues.push(issue);\n            }\n        });\n\n        if (issues.length === 0) {\n            hooks?.onSuccess?.(formGroup.getRawValue());\n        } else {\n            hooks?.onErrors?.(issues);\n        }\n    }\n\n    /**\n     * Collects all validation issues without mutating any control state.\n     *\n     * @public\n     * @param formGroup The form group to inspect.\n     * @returns An array of validation issues.\n     */\n    public collectErrors(formGroup: FormGroup): Array<IReactiveValidationIssue> {\n        const issues: Array<IReactiveValidationIssue> = [];\n        this.traverse(formGroup, '', {\n            onControl: () => { /* pure pass: no state changes */ },\n            onErrors: (issue) => issues.push(issue)\n        });\n        return issues;\n    }\n\n    /**\n     * Indicates whether the form is currently valid (pure check).\n     *\n     * @public\n     * @param formGroup The form group to inspect.\n     * @returns `true` if no validation issues were found; `false` otherwise.\n     */\n    public isValid(formGroup: FormGroup): boolean {\n        return this.collectErrors(formGroup).length === 0;\n    }\n\n    /**\n     * Builds a map from control path to its errors for quick lookup.\n     *\n     * @public\n     * @param issues The array of validation issues to convert.\n     * @returns A map from control path to its validation errors.\n     */\n    public toPathMap(issues: Array<IReactiveValidationIssue>): Record<string, ValidationErrors> {\n        const map: Record<string, ValidationErrors> = Object.create(null);\n        for (const i of issues) {\n            map[i.path] = i.errors;\n        }\n        return map;\n    }\n\n    /**\n     * Starts a fluent validation session.\n     *\n     * @public\n     * @param formGroup The form group to validate.\n     * @returns A new `ValidationSession` instance.\n     */\n    public session(formGroup: FormGroup): ReactiveValidationSession {\n        return new ReactiveValidationSession(this, formGroup);\n    }\n\n    /**\n     * Internal traversal utility: can mutate state (via `onControl`) and\n     * collect/report issues (via `onErrors`) in a single pass.\n     *\n     * @private\n     */\n    private traverse(control: AbstractControl, path: string, hooks: {\n        onControl: (control: AbstractControl, path: string) => void;\n        onErrors: (issue: IReactiveValidationIssue) => void;\n    }): void {\n        // Report errors on the current node (group/array/control level)\n        if (control.errors) {\n            hooks.onErrors({\n                path,\n                errors: control.errors\n            });\n        }\n\n        // Apply state hook (marking etc.)\n        hooks.onControl(control, path);\n\n        // Recurse into children\n        if (control instanceof FormGroup) {\n            Object.keys(control.controls).forEach((key) => {\n                // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n                const child = control.get(key)!;\n                const childPath = path ? `${path}.${key}` : key;\n                this.traverse(child, childPath, hooks);\n            });\n        } else if (control instanceof FormArray) {\n            control.controls.forEach((child, index) => {\n                const childPath = `${path}[${index}]`;\n                this.traverse(child, childPath, hooks);\n            });\n        }\n    }\n\n    // #endregion\n\n}\n\n/**\n * Fluent validation session with chainable steps.\n *\n * @public\n */\nexport class ReactiveValidationSession {\n\n    // #region Fields\n\n    private readonly _validator: ReactiveFormValidator;\n    private readonly _root: FormGroup;\n    private _touch: boolean;\n    private _pristine: boolean;\n    private _onErrors?: (issues: Array<IReactiveValidationIssue>) => void;\n    private _onEachError?: (issue: IReactiveValidationIssue) => void;\n    private _onSuccess?: () => void;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new `ValidationSession`.\n     *\n     * @public\n     */\n    public constructor(validator: ReactiveFormValidator, root: FormGroup) {\n        this._validator = validator;\n        this._root = root;\n        this._touch = false;\n        this._pristine = false;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Mark all controls as touched.\n     *\n     * @public\n     * @returns This validation session (for chaining).\n     */\n    public touch(): this {\n        this._touch = true;\n        return this;\n    }\n\n    /**\n     * Mark all controls as pristine.\n     *\n     * @public\n     * @returns This validation session (for chaining).\n     */\n    public pristine(): this {\n        this._pristine = true;\n        return this;\n    }\n\n    /**\n     * Provide a per-issue callback invoked during traversal.\n     *\n     * @public\n     * @param cb The callback to invoke for each issue found.\n     * @returns This validation session (for chaining).\n     */\n    public onEachError(cb: (issue: IReactiveValidationIssue) => void): this {\n        this._onEachError = cb;\n        return this;\n    }\n\n    /**\n     * Provide a single callback to receive all issues after traversal.\n     *\n     * @public\n     * @param cb The callback to invoke with all issues found.\n     * @returns This validation session (for chaining).\n     */\n    public onErrors(cb: (issues: Array<IReactiveValidationIssue>) => void): this {\n        this._onErrors = cb;\n        return this;\n    }\n\n    /**\n     * Provide a callback that fires when no issues are found.\n     *\n     * @public\n     * @param cb The callback to invoke on success.\n     * @returns This validation session (for chaining).\n     */\n    public onSuccess(cb: () => void): this {\n        this._onSuccess = cb;\n        return this;\n    }\n\n    /**\n     * Executes the session. Uses single-pass fast paths where possible.\n     *\n     * @public\n     */\n    public run(): void {\n        // Fast paths: do one traversal that both marks and reports\n        if (this._touch && !this._pristine) {\n            this._validator.validate(this._root, {\n                onErrors: this._onErrors,\n                onEachError: this._onEachError,\n                onSuccess: this._onSuccess\n            });\n            return;\n        }\n\n        if (this._pristine && !this._touch) {\n            this._validator.pristine(this._root, {\n                onErrors: this._onErrors,\n                onEachError: this._onEachError,\n                onSuccess: this._onSuccess\n            });\n            return;\n        }\n\n        // Neutral decision pass (no state change) determines success vs. errors\n        const issues = this._validator.collectErrors(this._root);\n        if (issues.length === 0) {\n            this._onSuccess?.();\n        } else {\n            // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n            this._onEachError && issues.forEach(this._onEachError);\n            this._onErrors?.(issues);\n        }\n\n        // Optionally apply state mutations after reporting decisions\n        if (this._touch) { this._validator.validate(this._root); }\n        if (this._pristine) { this._validator.pristine(this._root); }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\nimport { FieldTree, FieldState } from '@angular/forms/signals';\n\n// #endregion\n\n/**\n * Represents a validation issue with a fully qualified field path.\n *\n * @public\n */\nexport interface ISignalValidationIssue {\n\n    /**\n     * Dot/bracket path to the field or group, e.g. \"address.street\" or \"items[0].name\".\n     * An empty string denotes issues at the root level.\n     */\n    path: string;\n\n    /**\n     * Array of error objects returned by the field’s `errors()` signal.\n     */\n    errors: Array<unknown>;\n\n    /**\n     * Optional reference to the underlying FieldState object for further inspection.\n     */\n    fieldRef?: FieldState<unknown>;\n}\n\n/**\n * Hooks for reporting validation issues during form traversal.\n *\n * @public\n */\nexport interface ISignalValidateHooks<TForm> {\n\n    /**\n     * Called during traversal for **each individual issue found**.\n     *\n     * @param issue The validation issue identified.\n     */\n    onEachError?: (issue: ISignalValidationIssue) => void;\n\n    /**\n     * Called once **after traversal**, with all issues collected.\n     *\n     * @param issues The array of all validation issues found.\n     */\n    onErrors?: (issues: Array<ISignalValidationIssue>) => void;\n\n    /**\n     * Called when **no issues were found** (i.e., the form is valid).\n     *\n     * @param raw The raw form value (as returned by the form’s `value`).\n     */\n    onSuccess?: (raw: TForm) => void;\n}\n\n/**\n * Utility class to perform structured validation over a form model created\n * via `@angular/forms/signals`. Provides collection of issues, fluent builders and hook-based callbacks.\n *\n * @public\n */\n@Injectable()\nexport class SignalFormValidator {\n\n    // #region Methods\n\n    /**\n     * Traverses the form tree, collects validation issues, and triggers the\n     * provided hooks accordingly.\n     *\n     * Afterwards, the form fields are marked as touched.\n     * To set the touched state is necessary to ensure that any UI components display validation feedback.\n     *\n     * @template TForm The type of the form’s value model.\n     * @param form   The root FieldTree object representing the form.\n     * @param hooks  Optional callbacks for reporting errors or success.\n     */\n    public validate<TForm>(\n        form: FieldTree<TForm>,\n        hooks?: ISignalValidateHooks<TForm>\n    ): void {\n        const issues: Array<ISignalValidationIssue> = [];\n\n        // this is the first version of this implementation,\n        // what we know is this doesn't work with nested structures.\n        // we have to check this in the future again.\n        for (const [key, field] of Object.entries(form) as Array<[string, FieldTree<unknown>]>) {\n            const state = field();\n\n            state.markAsTouched();\n\n            const errs = state.errors();\n            if (errs.length > 0) {\n                const issue: ISignalValidationIssue = {\n                    path: key,\n                    errors: errs,\n                    fieldRef: state\n                };\n                hooks?.onEachError?.(issue);\n                issues.push(issue);\n            }\n        }\n\n        // // Traverse and collect individual issues\n        // this.traverse(form, '', (path, field) => {\n        //     field.markAsTouched();\n\n        //     const errs = field.errors();\n        //     if (errs.length > 0) {\n        //         const issue: ISignalValidationIssue = {\n        //             path,\n        //             errors: errs,\n        //             fieldRef: field\n        //         };\n        //         hooks?.onEachError?.(issue);\n        //         issues.push(issue);\n        //     }\n        // });\n\n        // Trigger final hooks\n        if (issues.length === 0) {\n            hooks?.onSuccess?.(form().value());\n        } else {\n            hooks?.onErrors?.(issues);\n        }\n    }\n\n    /**\n     * Collects all validation issues without triggering any callbacks.\n     *\n     * @template TForm The type of the form’s value model.\n     * @param form The root FieldTree object representing the form.\n     * @returns An array of validation issues.\n     */\n    public collectErrors<TForm>(\n        form: FieldTree<TForm>\n    ): Array<ISignalValidationIssue> {\n        // this is the first version of this implementation,\n        // what we know is this doesn't work with nested structures.\n        // we have to check this in the future again.\n\n        const issues: Array<ISignalValidationIssue> = [];\n        for (const [key, field] of Object.entries(form) as Array<[string, FieldTree<unknown>]>) {\n            const state = field();\n            const errs = state.errors();\n\n            if (errs.length > 0) {\n                issues.push({\n                    path: key,\n                    errors: errs,\n                    fieldRef: state\n                });\n            }\n        }\n\n        return issues;\n\n        // const issues: Array<ISignalValidationIssue> = [];\n        // this.traverse(form, '', (path, field) => {\n        //     const errs = field.errors();\n        //     if (errs.length > 0) {\n        //         issues.push({\n        //             path,\n        //             errors: errs,\n        //             fieldRef: field\n        //         });\n        //     }\n        // // });\n        // return issues;\n    }\n\n    /**\n     * Checks whether the form is currently valid (i.e., no issues found).\n     *\n     * @template TForm The type of the form’s value model.\n     * @param form The root FieldTree object representing the form.\n     * @returns `true` if valid, `false` otherwise.\n     */\n    public isValid<TForm>(form: FieldTree<TForm>): boolean {\n        return this.collectErrors(form).length === 0;\n    }\n\n    /**\n     * Creates a fluent validation builder for the given form.\n     *\n     * @template TForm The type of the form’s value model.\n     * @param form The root FieldTree object representing the form.\n     * @returns A `ValidationBuilder` instance with chainable methods.\n     */\n    public build<TForm>(form: FieldTree<TForm>): SignalValidationBuilder<TForm> {\n        return new SignalValidationBuilder<TForm>(this, form);\n    }\n\n    /**\n     * Internal traversal utility: walks the form tree recursively, invoking the callback\n     * for each leaf or nested field state.\n     *\n     * @private\n     * @template T The part of the model at the current node.\n     * @param tree        The current node in the FieldTree or FieldState.\n     * @param currentPath The accumulated path string so far.\n     * @param callback    The function to call for each field node.\n     */\n    private traverse<T>(\n        tree: FieldTree<T> | FieldState<any>,\n        currentPath: string,\n        callback: (path: string, field: FieldState<any>) => void\n    ): void {\n        // If the node has value() and errors() → treat as a leaf FieldState\n        if (this.isFieldState(tree)) {\n            const field = tree;\n            callback(currentPath, field);\n            return;\n        }\n\n        // Otherwise, it's a group/structure: iterate children\n        const group = tree as Record<string, any>;\n        for (const key of Object.keys(group)) {\n            const child = group[key];\n            const nextPath = currentPath ? `${currentPath}.${key}` : key;\n            this.traverse(child, nextPath, callback);\n        }\n    }\n\n    /**\n     * Type guard to detect if `obj` is a FieldState (leaf) rather than a FieldTree.\n     *\n     * @param obj The object to test.\n     * @returns `true` if obj is a FieldState, `false` otherwise.\n     */\n    private isFieldState(obj: unknown): obj is FieldState<any> {\n        return (\n            typeof obj === 'object' &&\n            obj !== null &&\n            'value' in obj &&\n            typeof (obj as any).value === 'function' &&\n            'errors' in obj &&\n            typeof (obj as any).errors === 'function'\n        );\n    }\n\n    // #endregion\n\n}\n\n/**\n * Fluent validation builder with chainable methods.\n *\n * @public\n */\nexport class SignalValidationBuilder<TForm> {\n\n    // #region Fields\n\n    private readonly _validator: SignalFormValidator;\n    private readonly _form: FieldTree<TForm>;\n    private _onEachError?: (issue: ISignalValidationIssue) => void;\n    private _onErrors?: (issues: Array<ISignalValidationIssue>) => void;\n    private _onSuccess?: (raw: TForm) => void;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance.\n     *\n     * @param validator The SignalFormValidator instance to use.\n     * @param form The root FieldTree object representing the form.\n     */\n    public constructor(\n        validator: SignalFormValidator,\n        form: FieldTree<TForm>\n    ) {\n        this._validator = validator;\n        this._form = form;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Provide a callback to be invoked on each validation error.\n     *\n     * @param cb The callback function.\n     * @returns This builder for chaining.\n     */\n    public onEachError(cb: (issue: ISignalValidationIssue) => void): this {\n        this._onEachError = cb;\n        return this;\n    }\n\n    /**\n     * Provide a callback to be invoked once after traversal with all issues.\n     *\n     * @param cb The callback function.\n     * @returns This builder for chaining.\n     */\n    public onErrors(cb: (issues: Array<ISignalValidationIssue>) => void): this {\n        this._onErrors = cb;\n        return this;\n    }\n\n    /**\n     * Provide a callback to be invoked when no errors were found.\n     *\n     * @param cb The callback function.\n     * @returns This builder for chaining.\n     */\n    public onSuccess(cb: (raw: TForm) => void): this {\n        this._onSuccess = cb;\n        return this;\n    }\n\n    /**\n     * Executes the validation builder: runs validation and triggers configured callbacks.\n     *\n     * @public\n     */\n    public run(): void {\n        this._validator.validate(this._form, {\n            onEachError: this._onEachError,\n            onErrors: this._onErrors,\n            onSuccess: this._onSuccess\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { ReactiveFormValidator } from './ReactiveFormValidator';\nimport { SignalFormValidator } from './SignalFormValidator';\n\n// #endregion\n\n/**\n * @public\n */\nexport function provideForms(): EnvironmentProviders {\n    return makeEnvironmentProviders([{\n        provide: ReactiveFormValidator,\n        useClass: ReactiveFormValidator\n    }, {\n        provide: SignalFormValidator,\n        useClass: SignalFormValidator\n    }]);\n}\n","// #region Imports\n\nimport type { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n// #endregion\n\n/**\n * @public\n * @deprecated Use `SignalFormValidator` instead for new development.\n */\nexport class Validators {\n\n    // #region Methods\n\n    /**\n     * Validator to check if control value is only numeric.\n     *\n     * Errors:\n     * * numeric\n     * * actualValue\n     *\n     * @public\n     * @static\n     */\n    public static numeric(): ValidatorFn {\n        const fn = (control: AbstractControl): ValidationErrors | null => {\n            if (control.pristine || control.value === null || !Number.isNaN(+control.value)) {\n                return null;\n            }\n\n            control.markAsTouched();\n\n            return {\n                numeric: false,\n                actualValue: control.value\n            };\n        };\n\n        return fn;\n    }\n\n    /**\n     * Validator to check the quality between two controls.\n     *\n     * Errors:\n     * * equalsTo\n     * * actualValue\n     *\n     * @public\n     * @static\n     */\n    public static equalsTo<T>(other: T | (() => T)): ValidatorFn {\n        const fn = (control: AbstractControl): ValidationErrors | null => {\n            const otherValue = typeof other === 'function'\n                ? (other as Function)()\n                : other;\n\n            if (control.value === otherValue) {\n                return null;\n            }\n\n            control.markAsTouched();\n\n            return {\n                equalsTo: false,\n                actualValue: control.value\n            };\n        };\n\n        return fn;\n    }\n\n    /**\n     * Validator to check if control value is blank string.\n     *\n     * Errors:\n     * *blank\n     *\n     * @public\n     * @static\n     */\n    public static blank(): ValidatorFn {\n        const fn = (control: AbstractControl): ValidationErrors | null => {\n            const pattern = '\\\\s';\n            if (new RegExp(pattern).test(control.value)) {\n                return {\n                    blank: true\n                };\n            }\n\n            control.markAsTouched();\n\n            return {\n                blank: false\n            };\n        };\n\n        return fn;\n    }\n\n    /**\n     * Validator to check a email with an exact domains.\n     *\n     * Errors:\n     * * emailEndsWithDomain\n     *\n     * @public\n     * @static\n     */\n    public static emailEndsWithDomain(domains: Array<string>): ValidatorFn {\n        const pattern = `^\\w+([-+.']\\w+)*@?(${domains.join('|')})$`;\n        const regex = new RegExp(pattern);\n\n        return (control: AbstractControl): ValidationErrors | null => {\n            if (control.value === null || control.value.length === 0) {\n                return null;\n            }\n\n            return regex.test(control.value)\n                ? null\n                : {\n                    emailEndsWithDomain: {\n                        requiredDomains: domains,\n                        actualValue: control.value\n                    }\n                };\n        };\n    }\n\n    /**\n     * Validator to check a phone number.\n     *\n     * Errors:\n     * * phoneNumber\n     *\n     * @public\n     * @static\n     */\n    public static phoneNumber(): ValidatorFn {\n        const pattern = '^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$';\n        const regex = new RegExp(pattern);\n\n        return (control: AbstractControl): ValidationErrors | null => {\n            if (control.value === null || control.value.length === 0) {\n                return null;\n            }\n\n            return regex.test(control.value)\n                ? null\n                : { phoneNumber: false };\n        };\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type FieldContext, type LogicFn, type OneOrMany, type PathKind, type SchemaPath, type SchemaPathRules, validate, type ValidationError } from '@angular/forms/signals';\n\n// #endregion\n\n/**\n * Retrieves the option value, evaluating it if it's a function.\n *\n * @private\n * @param opt The option value or function to evaluate.\n * @param ctx The field context to pass if `opt` is a function.\n * @returns The resolved option value.\n */\nfunction getOption<TOption, TValue, TPathKind extends PathKind = PathKind.Root>(\n    opt: Exclude<TOption, Function> | LogicFn<TValue, TOption, TPathKind> | undefined,\n    ctx: FieldContext<TValue, TPathKind>\n): TOption | undefined {\n    return opt instanceof Function ? opt(ctx) : opt;\n}\n\n/**\n * Validator configuration for validators.\n *\n * @private\n */\ntype ValidatorConfig<TValue, TPathKind extends PathKind = PathKind.Root> = {\n\n    /** A user-facing error message to include with the error. */\n    message?: string | LogicFn<TValue, string, TPathKind>;\n    error?: never;\n} | {\n\n    /**\n     * Custom validation error(s) to report instead of the default,\n     * or a function that receives the `FieldContext` and returns custom validation error(s).\n     */\n    error?: OneOrMany<ValidationError> | LogicFn<TValue, OneOrMany<ValidationError>, TPathKind>;\n    message?: never;\n};\n\n/**\n * Validator error for numeric validation.\n *\n * @public\n */\nexport interface INumericValidationError extends ValidationError {\n    kind: 'numeric';\n    actualValue: any;\n}\n\n/**\n * Validator to check if control value is only numeric.\n *\n * @param path The schema path to validate.\n * @public\n */\nexport function numeric<TPathKind extends PathKind = PathKind.Root>(\n    path: SchemaPath<unknown, SchemaPathRules.Supported, TPathKind>,\n    config?: ValidatorConfig<unknown, TPathKind>\n): void {\n    validate(path, (ctx) => {\n        const value = ctx.value();\n\n        if (value === null || value === undefined || !Number.isNaN(+value)) {\n            return null;\n        }\n\n        if (config?.error) {\n            return getOption(config.error, ctx);\n        }\n\n        return {\n            kind: 'numeric',\n            actualValue: value,\n            message: typeof config?.message === 'function' ? config.message(ctx) : config?.message\n        } satisfies INumericValidationError;\n    });\n}\n\n/**\n * Validator error for equalsTo validation.\n *\n * @public\n */\nexport interface IEqualsToValidationError<T = any> extends ValidationError {\n    kind: 'equalsTo';\n    actualValue: any;\n    other: T;\n}\n\n/**\n * Validator to check the equality between control value and another.\n *\n * @param path The schema path to validate.\n * @param other A value or getter function returning the other value.\n * @public\n */\nexport function equalsTo<T, TPathKind extends PathKind = PathKind.Root>(\n    path: SchemaPath<unknown, SchemaPathRules.Supported, TPathKind>,\n    other: T | (() => T),\n    config?: ValidatorConfig<unknown, TPathKind>\n): void {\n    validate(path, (ctx) => {\n        const value = ctx.value();\n        const otherValue = typeof other === 'function' ? (other as () => T)() : other;\n\n        if (value === otherValue) {\n            return null;\n        }\n\n        if (config?.error) {\n            return getOption(config.error, ctx);\n        }\n\n        return {\n            kind: 'equalsTo',\n            actualValue: value,\n            other: otherValue,\n            message: typeof config?.message === 'function' ? config.message(ctx) : config?.message\n        } satisfies IEqualsToValidationError<T>;\n    });\n}\n\n/**\n * Validator error for blank string validation.\n *\n * @public\n */\nexport interface IBlankValidationError extends ValidationError {\n    kind: 'blank';\n    actualValue: any;\n}\n\n/**\n * Validator to check if control value is blank (contains whitespace).\n *\n * @param path The schema path to validate.\n * @public\n */\nexport function blank<TPathKind extends PathKind = PathKind.Root>(\n    path: SchemaPath<unknown, SchemaPathRules.Supported, TPathKind>,\n    config?: ValidatorConfig<unknown, TPathKind>\n): void {\n    validate(path, (ctx) => {\n        const value = ctx.value();\n\n        if (!(typeof value === 'string' && (/\\s/).test(value))) {\n            return null;\n        }\n\n        if (config?.error) {\n            return getOption(config.error, ctx);\n        }\n\n        return {\n            kind: 'blank',\n            actualValue: value,\n            message: typeof config?.message === 'function' ? config.message(ctx) : config?.message\n        } satisfies IBlankValidationError;\n    });\n}\n\n/**\n * Validator error for emailEndsWithDomain validation.\n *\n * @public\n */\nexport interface IEmailEndsWithDomainValidationError extends ValidationError {\n    kind: 'emailEndsWithDomain';\n    requiredDomains: Array<string>;\n    actualValue: string;\n}\n\n/**\n * Validator to check that an email ends with one of the given domains.\n *\n * @param path The schema path to validate.\n * @param domains The list of allowed domains.\n * @public\n */\nexport function emailEndsWithDomain<TPathKind extends PathKind = PathKind.Root>(\n    path: SchemaPath<string, SchemaPathRules.Supported, TPathKind>,\n    domains: Array<string>,\n    config?: ValidatorConfig<string, TPathKind>\n): void {\n    const pattern = `^\\\\w+([-.']\\\\w+)*@(?:(${domains.join('|')}))$`;\n    const regex = new RegExp(pattern);\n    validate(path, (ctx) => {\n        const value = ctx.value();\n\n        if (typeof value === 'string' && value.length === 0) {\n            return null;\n        }\n\n        if (regex.test(value)) {\n            return null;\n        }\n\n        if (config?.error) {\n            return getOption(config.error, ctx);\n        }\n\n        return {\n            kind: 'emailEndsWithDomain',\n            requiredDomains: domains,\n            actualValue: value\n        } satisfies IEmailEndsWithDomainValidationError;\n    });\n}\n\n/**\n * Validator error for phoneNumber validation.\n *\n * @public\n */\nexport interface IPhoneNumberValidationError extends ValidationError {\n    kind: 'phoneNumber';\n    actualValue: string;\n}\n\n/**\n * Validator to check if value is a phone number in allowed format.\n *\n * @param path The schema path to validate.\n * @public\n */\nexport function phoneNumber<TPathKind extends PathKind = PathKind.Root>(\n    path: SchemaPath<string, SchemaPathRules.Supported, TPathKind>,\n    config?: ValidatorConfig<string, TPathKind>\n): void {\n    const pattern = '^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\\\s\\\\.\\\\/0-9]*$';\n    const regex = new RegExp(pattern);\n    validate(path, (ctx) => {\n        const value = ctx.value();\n\n        if (typeof value === 'string' && value.length === 0) {\n            return null;\n        }\n\n        if (regex.test(value)) {\n            return null;\n        }\n\n        if (config?.error) {\n            return getOption(config.error, ctx);\n        }\n        return {\n            kind: 'phoneNumber',\n            actualValue: value\n        } satisfies IPhoneNumberValidationError;\n    });\n}\n","// #region Imports\n\nimport { Injectable } from '@angular/core';\n\n// #endregion\n\nexport type IconInput = Record<string, string | {\n    data: string;\n    alias?: string | [string];\n}>;\n\n/**\n * The `IconRegistry` class.\n *\n * @public\n */\n@Injectable()\nexport class IconRegistry {\n\n    // #region Fields\n\n    private readonly _icons: Record<string, string>;\n    private readonly _aliases: Record<string, Array<string>>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `IconRegistry` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._icons = {};\n        this._aliases = {};\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets the registered icons.\n     *\n     * @public\n     * @readonly\n     */\n    public get icons(): Record<string, string> {\n        return this._icons;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Registers a set of icons with the registry.\n     *\n     * @param icons An object mapping icon names to their SVG data or an object containing data and optional aliases.\n     * @throws Will throw an error if the icon name or data is not provided.\n     * @public\n     */\n    public register(icons: IconInput): void {\n        Object.entries(icons).forEach(([name, value]) => {\n            if (!name || !value) {\n                throw new Error('[IconRegistry]: Icon name and data content must be provided.');\n            }\n\n            if (typeof value === 'object' && 'data' in value) {\n                this._icons[name] = value.data;\n\n                if (value.alias) {\n                    const aliases = Array.isArray(value.alias) ? value.alias : [value.alias];\n                    this._aliases[name] = aliases;\n                    aliases.forEach((alias) => {\n                        this._icons[alias] = value.data;\n                    });\n                }\n            } else {\n                this._icons[name] = value;\n            }\n        });\n    }\n\n    /**\n     * Gets the SVG data for a given icon name.\n     *\n     * @param name The name of the icon.\n     * @throws Will throw an error if the icon name is not provided.\n     * @throws Will throw an error if the icon with the given name is not registered.\n     * @public\n     */\n    public get(name: string): string {\n        if (!name) {\n            throw new Error('[IconRegistry]: Icon name must be provided.');\n        }\n\n        if (!(name in this._icons)) {\n            throw new Error(`[IconRegistry]: Icon with name \"${name}\" is not registered.`);\n        }\n\n        return this._icons[name];\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, inject, Input, OnChanges, SimpleChanges, ElementRef } from '@angular/core';\nimport { IconRegistry } from './IconRegistry';\nimport type { IconElement } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * Directive that provides icon name functionality for mosaik-icon element.\n *\n * @example\n * <mosaik-icon name=\"calendar\"></mosaik-icon>\n *\n * @public\n */\n@Directive({\n    selector: 'mosaik-icon[name]'\n})\nexport class IconDirective implements OnChanges {\n\n    // #region Fields\n\n    private readonly _registry: IconRegistry;\n    private readonly _element: IconElement;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `IconDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._registry = inject(IconRegistry);\n        this._element = inject(ElementRef<IconElement>).nativeElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The name of the icon to display.\n     *\n     * @public\n     */\n    @Input()\n    public name?: string = '';\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnChanges(changes: SimpleChanges): void {\n        if ('name' in changes) {\n            const iconName = this.name?.trim();\n\n            if (!iconName) {\n                this._element.data = '';\n                return;\n            }\n\n            this._element.data = this._registry.get(iconName);\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, inject, Input, OnChanges, SimpleChanges, ElementRef } from '@angular/core';\nimport { IconRegistry } from './IconRegistry';\n\n// #endregion\n\n/**\n * Directive that provides icon name functionality for various mosaik components.\n *\n * @example\n * <mosaik-component iconName=\"calendar\"></mosaik-component>\n *\n * @public\n */\n@Directive({\n    selector: `\n        mosaik-icon[iconName],\n        mosaik-banner[iconName],\n        mosaik-expander[iconName],\n        mosaik-titlebar[iconName],\n        mosaik-choice[iconName],\n        mosaik-select-item[iconName],\n        mosaik-avatar[iconName],\n        mosaik-badge[iconName],\n        mosaik-chat-marker[iconName],\n        mosaik-chat-message-avatar[iconName],\n        mosaik-chip[iconName],\n        mosaik-sheet[iconName],\n        mosaik-message-box[iconName],\n        mosaik-ribbon[iconName],\n        mosaik-combo-item[iconName],\n        mosaik-menu-item[iconName],\n        mosaik-segment-item[iconName],\n        mosaik-empty-state[iconName],\n        mosaik-error-state[iconName],\n        mosaik-success-state[iconName],\n        mosaik-button[iconName],\n        mosaik-compound-button[iconName],\n        mosaik-dropdown-button[iconName],\n        mosaik-fab[iconName],\n        mosaik-fab-group[iconName],\n        mosaik-repeat-button[iconName],\n        mosaik-split-button[iconName],\n        mosaik-toggle-button[iconName],\n        mosaik-tab-item[iconName],\n        mosaik-tab-strip-item[iconName],\n    `\n})\nexport class IconNameDirective implements OnChanges {\n\n    // #region Fields\n\n    private readonly _registry: IconRegistry;\n    private readonly _element: HTMLElement & { icon?: string };\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `IconDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._registry = inject(IconRegistry);\n        this._element = inject(ElementRef).nativeElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * The icon name to display.\n     *\n     * @public\n     */\n    @Input()\n    public iconName?: string = '';\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnChanges(changes: SimpleChanges): void {\n        if ('iconName' in changes) {\n            const iconName = this.iconName?.trim();\n\n            if (!iconName) {\n                this._element.icon = '';\n                return;\n            }\n\n            this._element.icon = this._registry.get(iconName);\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, inject, makeEnvironmentProviders, provideEnvironmentInitializer } from '@angular/core';\nimport { type IconInput, IconRegistry } from './IconRegistry';\n\n// #endregion\n\n/**\n * @public\n */\nexport function provideIconRegistry(config?: {\n    icons: IconInput;\n}): EnvironmentProviders {\n    return makeEnvironmentProviders([{\n        provide: IconRegistry,\n        useFactory: () => {\n            const service = new IconRegistry();\n\n            if (config?.icons) {\n                service.register(config.icons);\n            }\n\n            return service;\n        }\n    }]);\n}\n\nexport function provideIcons(icons: IconInput): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        provideEnvironmentInitializer(() => {\n            const icon = inject(IconRegistry);\n            icon.register(icons);\n        })\n    ]);\n}\n","// #region Imports\n\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport type { IDialogBehavior } from '../IDialogBehavior';\nimport type { IDialogConfig } from '../../IDialogConfig';\nimport type { IDialogRef } from '../../IDialogRef';\nimport type { Nullable } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * @public\n * @abstract\n */\nexport abstract class DialogBehavior implements IDialogBehavior {\n\n    // #region Fields\n\n    private _ref: Nullable<IDialogRef>;\n    private _attached: boolean;\n    private _dialogConfig: Nullable<IDialogConfig>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogBehavior` class.\n     *\n     * @protected\n     */\n    protected constructor() {\n        this._ref = null;\n        this._attached = false;\n        this._dialogConfig = null;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `ref` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get ref(): Nullable<IDialogRef> {\n        if (!this._attached) {\n            throw new Error('Must be attached before use the element property.');\n        }\n        return this._ref;\n    }\n\n    /**\n     * Returns the `config` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get config(): Nullable<IDialogConfig> {\n        return this._dialogConfig;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     * @virtual\n     */\n    public configure(config: IDialogConfig): void {\n        this._dialogConfig = config;\n    }\n\n    /**\n     * @public\n     * @virtual\n     */\n    public attach(element: IDialogRef, _portal: ComponentPortal<unknown>): void {\n        this._ref = element;\n        this._attached = true;\n    }\n\n    /**\n     * Detaches a specific dialog from the behavior.\n     * If ref is not provided, detaches the most recently attached dialog.\n     *\n     * @public\n     * @virtual\n     * @param ref - Optional dialog reference to detach.\n     */\n    public detach(ref?: IDialogRef): void {\n        this._attached = false;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { BreakpointObserver, type BreakpointState } from '@angular/cdk/layout';\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, InjectionToken } from '@angular/core';\nimport type { BreakpointAlias } from '@breadstone/mosaik-elements-foundation';\nimport { Subscription } from 'rxjs';\nimport { BreakpointRegistry } from '../../../Breakpoint/BreakpointRegistry';\nimport type { ISizeLike } from '../../../Utils/ISizeLike';\nimport type { IDialogConfig } from '../IDialogConfig';\nimport type { IDialogRef } from '../IDialogRef';\nimport { DialogBehavior } from './Abstracts/DialogBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport interface IDialogBreakpointBehaviorConfig {\n    breakpoints: Array<{\n        breakpoint: BreakpointAlias;\n        size: ISizeLike;\n    }>;\n}\n\n/**\n * Injection token for providing dialog breakpoint behavior configuration.\n *\n * @public\n */\nexport const DIALOG_BREAKPOINT_BEHAVIOR_CONFIG = new InjectionToken<IDialogBreakpointBehaviorConfig>('DIALOG_BREAKPOINT_OBSERVER_BEHAVIOR_CONFIG');\n\n/**\n * Behavior that adjusts dialog size based on viewport breakpoints.\n *\n * @public\n */\n// @Injectable()\nexport class DialogBreakpointBehavior extends DialogBehavior {\n\n    // #region Fields\n\n    private readonly _breakpointObserver: BreakpointObserver;\n    private readonly _breakpointRegistry: BreakpointRegistry;\n    private readonly _config: IDialogBreakpointBehaviorConfig | null;\n    private readonly _mediaQueryToAliasMap: Map<string, BreakpointAlias>;\n    private _subscription: Subscription;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogBreakpointBehavior` class.\n     *\n     * @public\n     */\n    public constructor(\n        config: IDialogBreakpointBehaviorConfig | null = inject(DIALOG_BREAKPOINT_BEHAVIOR_CONFIG, { optional: true })\n    ) {\n        super();\n\n        this._breakpointObserver = inject(BreakpointObserver);\n        this._breakpointRegistry = inject(BreakpointRegistry);\n        this._config = config;\n        this._mediaQueryToAliasMap = new Map<string, BreakpointAlias>();\n        this._subscription = Subscription.EMPTY;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Attaches a specific dialog to the behavior.\n     *\n     * @public\n     * @override\n     * @param dialogRef - The dialog reference to attach to the behavior.\n     * @param portal - The component portal for the dialog content (unused in this behavior).\n     */\n    public override attach(dialogRef: IDialogRef, _portal: ComponentPortal<unknown>): void {\n        if (this._config?.breakpoints.length) {\n            this._mediaQueryToAliasMap.clear();\n\n            const breakpoints = this._config.breakpoints\n                .map((x) => {\n                    const breakpoint = this._breakpointRegistry.findByAlias(x.breakpoint);\n                    if (breakpoint?.mediaQuery) {\n                        this._mediaQueryToAliasMap.set(breakpoint.mediaQuery, x.breakpoint);\n                    }\n                    return breakpoint?.mediaQuery;\n                })\n                .filter((x): x is string => x !== undefined);\n\n            this._subscription = this._breakpointObserver.observe(breakpoints)\n                .subscribe((x) => this.onBreakpoint(x, dialogRef, this.config ?? undefined));\n        }\n    }\n\n    /**\n     * Detaches a specific dialog from the behavior.\n     * If ref is not provided, detaches the most recently attached dialog.\n     *\n     * @public\n     * @override\n     * @param ref - Optional dialog reference to detach (unused in this behavior).\n     */\n    public override detach(_ref?: IDialogRef): void {\n        this._subscription.unsubscribe();\n    }\n\n    /**\n     * Handles breakpoint state changes and updates dialog size accordingly.\n     *\n     * @private\n     * @param state - The current breakpoint state from the observer.\n     * @param dialogRef - Reference to the dialog being managed.\n     * @param config - Optional dialog configuration with default size values.\n     */\n    private onBreakpoint<TData>(state: BreakpointState, dialogRef: IDialogRef, config?: IDialogConfig<TData>): void {\n        if (!config?.isFullScreen) {\n            if (state.matches) {\n                Object.entries(state.breakpoints).forEach(([mediaQuery, match]) => {\n                    if (match) {\n                        const alias = this._mediaQueryToAliasMap.get(mediaQuery);\n                        const breakpointConfig = alias\n                            ? this._config?.breakpoints.find((x) => x.breakpoint === alias) ?? null\n                            : null;\n\n                        dialogRef.updateSize({\n                            width: breakpointConfig?.size.width,\n                            height: breakpointConfig?.size.height\n                        });\n                        // Set isFullScreen via the component's setInput method\n                        dialogRef.component.setInput('isFullScreen', true);\n                    }\n                });\n            } else {\n                dialogRef.updateSize({\n                    width: config?.size?.width,\n                    height: config?.size?.height\n                });\n                // Set isFullScreen via the component's setInput method\n                dialogRef.component.setInput('isFullScreen', false);\n            }\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, InjectionToken } from '@angular/core';\nimport { type IDialogStackBehaviorConfig, DIALOG_STACK_BEHAVIOR_DEFAULT_CONFIG } from '@breadstone/mosaik-elements-foundation';\nimport type { IDialogRef } from '../IDialogRef';\nimport { DialogBehavior } from './Abstracts/DialogBehavior';\n\n// #endregion\n\n/**\n * Injection token for providing dialog stack behavior configuration.\n *\n * @public\n */\nexport const DIALOG_STACK_BEHAVIOR_CONFIG = new InjectionToken<IDialogStackBehaviorConfig>('DIALOG_STACK_BEHAVIOR_CONFIG');\n\n/**\n * Behavior that manages a stack of dialogs with offset-based positioning.\n *\n * The stacking model:\n * - The topmost (newest) dialog remains centered\n * - Each dialog behind it is offset upward, creating a cascading visual effect\n * - The offset allows users to see that there are dialogs stacked beneath\n *\n * @public\n */\nexport class DialogStackBehavior extends DialogBehavior {\n\n    // #region Fields\n\n    private readonly _stack: Array<IStackEntry>;\n    private readonly _config: IDialogStackBehaviorConfig;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogStackBehavior` class.\n     *\n     * @public\n     */\n    public constructor(\n        config: IDialogStackBehaviorConfig | null = inject(DIALOG_STACK_BEHAVIOR_CONFIG, { optional: true })\n    ) {\n        super();\n\n        this._config = {\n            ...DIALOG_STACK_BEHAVIOR_DEFAULT_CONFIG,\n            ...config\n        };\n        this._stack = new Array<IStackEntry>();\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the current number of dialogs in the stack.\n     *\n     * @public\n     * @readonly\n     */\n    public get stackSize(): number {\n        return this._stack.length;\n    }\n\n    /**\n     * Returns the current stack configuration.\n     *\n     * @public\n     * @readonly\n     */\n    public get stackConfig(): Readonly<IDialogStackBehaviorConfig> {\n        return this._config;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Attaches a dialog to the stack and applies stack styling.\n     *\n     * The new dialog is always centered (no offset).\n     * Existing dialogs are pushed back and offset upward.\n     *\n     * @public\n     * @param dialogRef - The dialog reference to attach.\n     * @param portal - The component portal for the dialog.\n     */\n    public override attach(dialogRef: IDialogRef, portal: ComponentPortal<unknown>): void {\n        super.attach(dialogRef, portal);\n\n        // Check max stack depth\n        if (this._config.maxStackDepth !== undefined && this._stack.length >= this._config.maxStackDepth) {\n            throw new Error(`Cannot open dialog: maximum stack depth (${this._config.maxStackDepth}) reached.`);\n        }\n\n        const stackLevel = this._stack.length;\n\n        // Push existing dialogs back (increase their offset)\n        this.updateStackOffsets();\n\n        // Add to stack BEFORE applying styles so stack length is correct\n        this._stack.push({\n            ref: dialogRef,\n            portal: portal\n        });\n\n        // Apply styles to the new dialog (topmost, no offset)\n        this.applyStackStyles(dialogRef, stackLevel, 0);\n\n        // Apply stacked class to previous dialogs\n        this.applyStackedClasses();\n    }\n\n    /**\n     * Detaches a specific dialog from the stack, or the topmost if not specified.\n     * When a dialog in the middle of the stack is removed, all remaining dialogs\n     * are recalculated to maintain proper stacking order.\n     *\n     * @public\n     * @override\n     * @param ref - Optional dialog reference to detach. If omitted, detaches the topmost dialog.\n     */\n    public override detach(ref?: IDialogRef): void {\n        super.detach(ref);\n\n        if (this._stack.length === 0) {\n            return;\n        }\n\n        let indexToRemove: number;\n\n        if (ref) {\n            // Find the specific dialog in the stack by matching the dialog ID\n            indexToRemove = this._stack.findIndex((entry) => entry.ref.id === ref.id);\n\n            if (indexToRemove === -1) {\n                // Dialog not found in stack, nothing to do\n                return;\n            }\n        } else {\n            // No ref provided, remove the topmost dialog (last in array)\n            indexToRemove = this._stack.length - 1;\n        }\n\n        // Remove the dialog from the stack\n        this._stack.splice(indexToRemove, 1);\n\n        // Recalculate offsets for all remaining dialogs\n        this.recalculateStackOffsets();\n\n        // Update stacked classes for visual feedback\n        this.applyStackedClasses();\n    }\n\n    /**\n     * Calculates the z-index for a dialog at the given stack level.\n     *\n     * @private\n     * @param stackLevel - The zero-based index of the dialog in the stack.\n     * @returns The calculated z-index value.\n     */\n    private calculateZIndex(stackLevel: number): number {\n        const baseZIndex = 1000;\n\n        return baseZIndex + (stackLevel * this._config.zIndexIncrement);\n    }\n\n    /**\n     * Calculates the vertical offset for a dialog based on its distance from the top.\n     *\n     * @private\n     * @param offsetFromTop - Number of dialogs above this one.\n     * @returns The calculated offset in pixels (negative for upward movement).\n     */\n    private calculateOffset(offsetFromTop: number): number {\n        if (offsetFromTop === 0) {\n            return 0; // Topmost dialog stays centered\n        }\n\n        // Each dialog below is offset upward by stackIndicatorOffset pixels\n        return -(offsetFromTop * this._config.stackIndicatorOffset);\n    }\n\n    /**\n     * Applies stack-related CSS variables to a dialog element.\n     * Uses requestAnimationFrame to ensure CSS transitions are properly triggered.\n     *\n     * @private\n     * @param dialogRef - The dialog reference containing the element.\n     * @param stackLevel - The stack level for this dialog.\n     * @param offsetY - The vertical offset in pixels.\n     */\n    private applyStackStyles(dialogRef: IDialogRef, stackLevel: number, offsetY: number): void {\n        // Set data attributes for CSS styling hooks\n        dialogRef.element.setAttribute('data-stack-level', String(stackLevel));\n        dialogRef.element.setAttribute('data-stack-offset', String(offsetY));\n\n        // Set CSS custom properties for stack styling\n        dialogRef.element.style.setProperty('--dialog-stack-level', String(stackLevel));\n        dialogRef.element.style.setProperty('--dialog-z-index', String(this.calculateZIndex(stackLevel)));\n\n        // Use requestAnimationFrame to ensure CSS transitions are triggered\n        requestAnimationFrame(() => {\n            // Apply the offset via CSS custom property (used by SCSS for margin-top)\n            dialogRef.element.style.setProperty('--dialog-stack-offset', `${offsetY}px`);\n        });\n    }\n\n    /**\n     * Updates offsets for all existing dialogs when a new dialog is added.\n     * Each existing dialog gets pushed back (higher offset).\n     *\n     * @private\n     */\n    private updateStackOffsets(): void {\n        const stackLength = this._stack.length;\n\n        for (let i = 0; i < stackLength; i++) {\n            const entry = this._stack[i];\n            // After adding new dialog, this dialog will have (stackLength - i) dialogs above it\n            // (new dialog at stackLength, so offset = stackLength - i)\n            const offsetFromTop = stackLength - i;\n            const offsetY = this.calculateOffset(offsetFromTop);\n\n            this.applyStackStyles(entry.ref, i, offsetY);\n        }\n    }\n\n    /**\n     * Recalculates and applies offsets for all remaining dialogs in the stack.\n     * After a dialog is closed, we need to restore each dialog to its proper position.\n     *\n     * @private\n     */\n    private recalculateStackOffsets(): void {\n        const stackLength = this._stack.length;\n\n        for (let i = 0; i < stackLength; i++) {\n            const entry = this._stack[i];\n            // Calculate offset from top: (stackLength - 1 - i) dialogs above this one\n            const offsetFromTop = stackLength - 1 - i;\n            const offsetY = this.calculateOffset(offsetFromTop);\n\n            this.applyStackStyles(entry.ref, i, offsetY);\n        }\n    }\n\n    /**\n     * Applies the stacked CSS class to all dialogs except the topmost one.\n     *\n     * @private\n     */\n    private applyStackedClasses(): void {\n        for (let i = 0; i < this._stack.length; i++) {\n            const entry = this._stack[i];\n            const isTopmost = i === this._stack.length - 1;\n\n            if (isTopmost) {\n                entry.ref.element.classList.remove('mosaik-dialog-stacked');\n            } else {\n                entry.ref.element.classList.add('mosaik-dialog-stacked');\n            }\n        }\n    }\n\n    // #endregion\n\n}\n\n/**\n * Represents a single entry in the dialog stack.\n *\n * @private\n */\ninterface IStackEntry {\n    readonly ref: IDialogRef;\n    readonly portal: ComponentPortal<unknown>;\n}","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogHeaderComponent.\n * Use this token to provide default properties for the DialogHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<DialogHeaderElement.Props>>('MOSAIK_DIALOG_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot header - The header slot.\n * @slot prefix - The prefix slot.\n * @slot subHeader - The subHeader slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-header', DialogHeaderElement),\n    inputs: ['text', 'subText', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogHeaderComponent {\n    // #region Fields\n\n    private readonly _element: DialogHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DialogHeaderElement['text'] | undefined> = input<DialogHeaderElement['text']>();\n\n    /**\n     * Signal input for the `subText` property.\n     *\n     * @public\n     */\n    public readonly subText: InputSignal<DialogHeaderElement['subText'] | undefined> = input<DialogHeaderElement['subText']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogHeaderElement['themeName'] | undefined> = input<DialogHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DialogHeaderElement['formatter'] | undefined> = input<DialogHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogHeaderElement['dir'] | undefined> = input<DialogHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogHeaderElement['lang'] | undefined> = input<DialogHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const subTextValue = this.subText();\n                if (subTextValue !== undefined) {\n                    (this._element as any).subText = subTextValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogHeaderMethodNames>(method: TMethod, ...args: Parameters<DialogHeaderComponentMethods[TMethod]>): ReturnType<DialogHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogHeaderElement>(property: TProperty, value: DialogHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogHeaderComponent.\n */\nexport type DialogHeaderMethodNames = 'onApplyTemplate' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogHeaderComponent.\n */\nexport type DialogHeaderComponentMethods = MethodMap<DialogHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogHeaderComponent(config: Partial<DialogHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogHeaderTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogHeaderTextComponent.\n * Use this token to provide default properties for the DialogHeaderTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_HEADER_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<DialogHeaderTextElement.Props>>('MOSAIK_DIALOG_HEADER_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-header-text', DialogHeaderTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-header-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogHeaderTextComponent {\n    // #region Fields\n\n    private readonly _element: DialogHeaderTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_HEADER_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DialogHeaderTextElement['text'] | undefined> = input<DialogHeaderTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogHeaderTextElement['themeName'] | undefined> = input<DialogHeaderTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DialogHeaderTextElement['formatter'] | undefined> = input<DialogHeaderTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogHeaderTextElement['dir'] | undefined> = input<DialogHeaderTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogHeaderTextElement['lang'] | undefined> = input<DialogHeaderTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogHeaderTextMethodNames>(method: TMethod, ...args: Parameters<DialogHeaderTextComponentMethods[TMethod]>): ReturnType<DialogHeaderTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogHeaderTextElement>(property: TProperty, value: DialogHeaderTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogHeaderTextComponent.\n */\nexport type DialogHeaderTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogHeaderTextComponent.\n */\nexport type DialogHeaderTextComponentMethods = MethodMap<DialogHeaderTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogHeaderTextComponent(config: Partial<DialogHeaderTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_HEADER_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogHeaderSubTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogHeaderSubTextComponent.\n * Use this token to provide default properties for the DialogHeaderSubTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_HEADER_SUB_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<DialogHeaderSubTextElement.Props>>('MOSAIK_DIALOG_HEADER_SUB_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-header-sub-text', DialogHeaderSubTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-header-sub-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogHeaderSubTextComponent {\n    // #region Fields\n\n    private readonly _element: DialogHeaderSubTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_HEADER_SUB_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DialogHeaderSubTextElement['text'] | undefined> = input<DialogHeaderSubTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogHeaderSubTextElement['themeName'] | undefined> = input<DialogHeaderSubTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DialogHeaderSubTextElement['formatter'] | undefined> = input<DialogHeaderSubTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogHeaderSubTextElement['dir'] | undefined> = input<DialogHeaderSubTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogHeaderSubTextElement['lang'] | undefined> = input<DialogHeaderSubTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogHeaderSubTextMethodNames>(method: TMethod, ...args: Parameters<DialogHeaderSubTextComponentMethods[TMethod]>): ReturnType<DialogHeaderSubTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogHeaderSubTextElement>(property: TProperty, value: DialogHeaderSubTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogHeaderSubTextComponent.\n */\nexport type DialogHeaderSubTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogHeaderSubTextComponent.\n */\nexport type DialogHeaderSubTextComponentMethods = MethodMap<DialogHeaderSubTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogHeaderSubTextComponent(config: Partial<DialogHeaderSubTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_HEADER_SUB_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { InjectionToken, type Type } from '@angular/core';\nimport type { IDialogRef } from './IDialogRef';\nimport type { IDialogConfig } from './IDialogConfig';\nimport type { IDialogBehavior } from './behaviors/IDialogBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport const DIALOG_CONFIG = new InjectionToken<IDialogConfig>('MOSAIK_DIALOG_CONFIG');\n\n/**\n * @public\n */\nexport const DIALOG_REF = new InjectionToken<IDialogRef>('MOSAIK_DIALOG_REF');\n\n/**\n * @public\n */\nexport const DIALOG_REF_DATA = new InjectionToken<any>('MOSAIK_DIALOG_REF_DATA');\n\n/**\n * @public\n */\nexport const DIALOG_BEHAVIORS = new InjectionToken<ReadonlyArray<Type<IDialogBehavior>>>('MOSAIK_DIALOG_BEHAVIORS');\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogActionsElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogActionsComponent.\n * Use this token to provide default properties for the DialogActionsComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_ACTIONS_DEFAULT_PROPS = new InjectionToken<Partial<DialogActionsElement.Props>>('MOSAIK_DIALOG_ACTIONS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot for action buttons.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-actions', DialogActionsElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-actions',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogActionsComponent {\n    // #region Fields\n\n    private readonly _element: DialogActionsElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_ACTIONS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogActionsElement['themeName'] | undefined> = input<DialogActionsElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogActionsElement['dir'] | undefined> = input<DialogActionsElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogActionsElement['lang'] | undefined> = input<DialogActionsElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogActionsMethodNames>(method: TMethod, ...args: Parameters<DialogActionsComponentMethods[TMethod]>): ReturnType<DialogActionsComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogActionsElement>(property: TProperty, value: DialogActionsElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogActionsComponent.\n */\nexport type DialogActionsMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogActionsComponent.\n */\nexport type DialogActionsComponentMethods = MethodMap<DialogActionsMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogActionsComponent(config: Partial<DialogActionsElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_ACTIONS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ButtonComponent.\n * Use this token to provide default properties for the ButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<ButtonElement.Props>>('MOSAIK_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - The icon displayed alongside or instead of the label\n * @slot label - The text content or label displayed on the button\n * @slot overlay - Additional overlay content such as badges or indicators\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-button', ButtonElement),\n    inputs: ['download', 'href', 'rel', 'target', 'themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ButtonComponent {\n    // #region Fields\n\n    private readonly _element: ButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `download` property.\n     *\n     * @public\n     */\n    public readonly download: InputSignal<ButtonElement['download'] | undefined> = input<ButtonElement['download']>();\n\n    /**\n     * Signal input for the `href` property.\n     *\n     * @public\n     */\n    public readonly href: InputSignal<ButtonElement['href'] | undefined> = input<ButtonElement['href']>();\n\n    /**\n     * Signal input for the `rel` property.\n     *\n     * @public\n     */\n    public readonly rel: InputSignal<ButtonElement['rel'] | undefined> = input<ButtonElement['rel']>();\n\n    /**\n     * Signal input for the `target` property.\n     *\n     * @public\n     */\n    public readonly target: InputSignal<ButtonElement['target'] | undefined> = input<ButtonElement['target']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ButtonElement['themeName'] | undefined> = input<ButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<ButtonElement['reverse'] | undefined> = input<ButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ButtonElement['orientation'] | undefined> = input<ButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<ButtonElement['horizontalContentAlignment'] | undefined> = input<ButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<ButtonElement['verticalContentAlignment'] | undefined> = input<ButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ButtonElement['fit'] | undefined> = input<ButtonElement['fit']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<ButtonElement['isBusy'] | undefined> = input<ButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ButtonElement['label'] | undefined> = input<ButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ButtonElement['icon'] | undefined> = input<ButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<ButtonElement['iconPosition'] | undefined> = input<ButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<ButtonElement['iconSize'] | undefined> = input<ButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<ButtonElement['type'] | undefined> = input<ButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ButtonElement['ripple'] | undefined> = input<ButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ButtonElement['variant'] | undefined> = input<ButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ButtonElement['appearance'] | undefined> = input<ButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ButtonElement['size'] | undefined> = input<ButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ButtonElement['value'] | undefined> = input<ButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ButtonElement['disabled'] | undefined> = input<ButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ButtonElement['isFocused'] | undefined> = input<ButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ButtonElement['dir'] | undefined> = input<ButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ButtonElement['lang'] | undefined> = input<ButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const downloadValue = this.download();\n                if (downloadValue !== undefined) {\n                    (this._element as any).download = downloadValue;\n                }\n\n                const hrefValue = this.href();\n                if (hrefValue !== undefined) {\n                    (this._element as any).href = hrefValue;\n                }\n\n                const relValue = this.rel();\n                if (relValue !== undefined) {\n                    (this._element as any).rel = relValue;\n                }\n\n                const targetValue = this.target();\n                if (targetValue !== undefined) {\n                    (this._element as any).target = targetValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ButtonMethodNames>(method: TMethod, ...args: Parameters<ButtonComponentMethods[TMethod]>): ReturnType<ButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ButtonElement>(property: TProperty, value: ButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ButtonComponent.\n */\nexport type ButtonMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ButtonComponent.\n */\nexport type ButtonComponentMethods = MethodMap<ButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideButtonComponent(config: Partial<ButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { ConfigurableFocusTrapFactory, type ConfigurableFocusTrap } from '@angular/cdk/a11y';\nimport { BasePortalOutlet, DomPortalOutlet, type CdkPortalOutlet, type ComponentPortal, type TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, DOCUMENT, ElementRef, inject, type ComponentRef, type EmbeddedViewRef, type OnDestroy, type OnInit } from '@angular/core';\n\n// #endregion\n\n/**\n * @public\n */\n@Directive()\nexport abstract class PortalComponent\n    extends BasePortalOutlet\n    implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _element: ElementRef;\n    private readonly _focusTrapFactory: ConfigurableFocusTrapFactory;\n    private readonly _document: Document;\n    private _focusTrap: ConfigurableFocusTrap | null;\n    private _elementFocusedBeforeOpened: HTMLElement | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `PortalComponent` class.\n     *\n     * @protected\n     */\n    protected constructor() {\n        super();\n\n        this._element = inject(ElementRef);\n        this._focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n        this._document = inject(DOCUMENT);\n        this._focusTrap = null;\n        this._elementFocusedBeforeOpened = null;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @abstract\n     * @readonly\n     */\n    protected abstract get portal(): CdkPortalOutlet | DomPortalOutlet;\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        this.trapFocus();\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this.restoreFocus();\n    }\n\n    /**\n     * Attach a ComponentPortal as content to this dialog container.\n     *\n     * @public\n     * @param portal - Portal to be attached as the dialog content.\n     */\n    public attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n        this.savePreviouslyFocusedElement();\n        return this.portal.attachComponentPortal(portal);\n    }\n\n    /**\n     * Attach a TemplatePortal as content to this dialog container.\n     *\n     * @public\n     * @param portal - Portal to be attached as the dialog content.\n     */\n    public attachTemplatePortal<TComponent>(portal: TemplatePortal<TComponent>): EmbeddedViewRef<TComponent> {\n        this.savePreviouslyFocusedElement();\n        return this.portal.attachTemplatePortal(portal);\n    }\n\n    /**\n     * @public\n     */\n    public trapFocus(): void {\n        const element = this._element.nativeElement;\n\n        this._focusTrap ??= this._focusTrapFactory.create(element);\n        void this._focusTrap.focusInitialElementWhenReady();\n        const activeElement = this._document.activeElement;\n\n        if (activeElement !== element && !element.contains(activeElement)) {\n            element.focus();\n        }\n    }\n\n    /**\n     * @public\n     */\n    public restoreFocus(): void {\n        const toFocus = this._elementFocusedBeforeOpened;\n\n        if (toFocus && typeof toFocus.focus === 'function') {\n            toFocus.focus();\n        }\n\n        if (this._focusTrap) {\n            this._focusTrap.destroy();\n        }\n    }\n\n    /**\n     * @private\n     */\n    private savePreviouslyFocusedElement(): void {\n        this._elementFocusedBeforeOpened = this._document.activeElement as HTMLElement;\n\n        if (this._element.nativeElement.focus) {\n            void Promise.resolve().then(() => this._element.nativeElement.focus());\n        }\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogComponent.\n * Use this token to provide default properties for the DialogComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_DEFAULT_PROPS = new InjectionToken<Partial<DialogElement.Props>>('MOSAIK_DIALOG_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Action buttons and controls area\n * @slot  - Default content area for main dialog body\n * @slot footer - Dialog footer section for additional information\n * @slot header - Dialog header section for titles and controls\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog', DialogElement),\n    inputs: ['dragging', 'offsetX', 'offsetY', 'isFullScreen', 'isDraggable', 'themeName', 'animationTarget', 'enter', 'exit', 'width', 'height', 'elevation', 'appearance', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['open', 'close', 'play', 'onEnterAnimation', 'onExitAnimation', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogComponent {\n    // #region Fields\n\n    private readonly _element: DialogElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `dragging` property.\n     *\n     * @public\n     */\n    public readonly dragging: InputSignal<DialogElement['dragging'] | undefined> = input<DialogElement['dragging']>();\n\n    /**\n     * Signal input for the `offsetX` property.\n     *\n     * @public\n     */\n    public readonly offsetX: InputSignal<DialogElement['offsetX'] | undefined> = input<DialogElement['offsetX']>();\n\n    /**\n     * Signal input for the `offsetY` property.\n     *\n     * @public\n     */\n    public readonly offsetY: InputSignal<DialogElement['offsetY'] | undefined> = input<DialogElement['offsetY']>();\n\n    /**\n     * Signal input for the `isFullScreen` property.\n     *\n     * @public\n     */\n    public readonly isFullScreen: InputSignal<DialogElement['isFullScreen'] | undefined> = input<DialogElement['isFullScreen']>();\n\n    /**\n     * Signal input for the `isDraggable` property.\n     *\n     * @public\n     */\n    public readonly isDraggable: InputSignal<DialogElement['isDraggable'] | undefined> = input<DialogElement['isDraggable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogElement['themeName'] | undefined> = input<DialogElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<DialogElement['animationTarget'] | undefined> = input<DialogElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<DialogElement['enter'] | undefined> = input<DialogElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<DialogElement['exit'] | undefined> = input<DialogElement['exit']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<DialogElement['width'] | undefined> = input<DialogElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<DialogElement['height'] | undefined> = input<DialogElement['height']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<DialogElement['elevation'] | undefined> = input<DialogElement['elevation']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DialogElement['appearance'] | undefined> = input<DialogElement['appearance']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<DialogElement['isOpen'] | undefined> = input<DialogElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<DialogElement['hasBackdrop'] | undefined> = input<DialogElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<DialogElement['pressEscapeToClose'] | undefined> = input<DialogElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<DialogElement['clickOutsideToClose'] | undefined> = input<DialogElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<DialogElement['closeable'] | undefined> = input<DialogElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogElement['dir'] | undefined> = input<DialogElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogElement['lang'] | undefined> = input<DialogElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const draggingValue = this.dragging();\n                if (draggingValue !== undefined) {\n                    (this._element as any).dragging = draggingValue;\n                }\n\n                const offsetXValue = this.offsetX();\n                if (offsetXValue !== undefined) {\n                    (this._element as any).offsetX = offsetXValue;\n                }\n\n                const offsetYValue = this.offsetY();\n                if (offsetYValue !== undefined) {\n                    (this._element as any).offsetY = offsetYValue;\n                }\n\n                const isFullScreenValue = this.isFullScreen();\n                if (isFullScreenValue !== undefined) {\n                    (this._element as any).isFullScreen = isFullScreenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogMethodNames>(method: TMethod, ...args: Parameters<DialogComponentMethods[TMethod]>): ReturnType<DialogComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogElement>(property: TProperty, value: DialogElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogComponent.\n */\nexport type DialogMethodNames = 'open' | 'close' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogComponent.\n */\nexport type DialogComponentMethods = MethodMap<DialogMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogComponent(config: Partial<DialogElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { Pipe, type PipeTransform } from '@angular/core';\nimport { isObservable, of, type Observable } from 'rxjs';\n\n// #endregion\n\n/**\n * Transforms a value to an observable sequence.\n *\n * @public\n */\n@Pipe({\n    name: 'of'\n})\nexport class OfPipe implements PipeTransform {\n\n    // #region Methods\n\n    public transform<T>(value: unknown): Observable<T> {\n        return isObservable(value)\n            ? value as Observable<T>\n            : of<T>(value as T);\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogFooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogFooterComponent.\n * Use this token to provide default properties for the DialogFooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<DialogFooterElement.Props>>('MOSAIK_DIALOG_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-footer', DialogFooterElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogFooterComponent {\n    // #region Fields\n\n    private readonly _element: DialogFooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogFooterElement['themeName'] | undefined> = input<DialogFooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogFooterElement['dir'] | undefined> = input<DialogFooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogFooterElement['lang'] | undefined> = input<DialogFooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogFooterMethodNames>(method: TMethod, ...args: Parameters<DialogFooterComponentMethods[TMethod]>): ReturnType<DialogFooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogFooterElement>(property: TProperty, value: DialogFooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogFooterComponent.\n */\nexport type DialogFooterMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogFooterComponent.\n */\nexport type DialogFooterComponentMethods = MethodMap<DialogFooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogFooterComponent(config: Partial<DialogFooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { InjectionToken } from '@angular/core';\nimport { IDialogSlots } from './IDialogSlots';\n\n// #endregion\n\n/**\n * Injection token representing the per-dialog slots registry.\n *\n * @internal\n */\nexport const DIALOG_SLOTS = new InjectionToken<IDialogSlots>('MOSAIK_DIALOG_SLOTS');\n\n","//#region Imports\n\nimport { Provider, signal, TemplateRef } from '@angular/core';\nimport { DIALOG_SLOTS } from './DialogSlotsTokens';\nimport { IDialogSlots } from './IDialogSlots';\n\n//#endregion\n\n/**\n * Provides a new slots registry instance.\n *\n * @internal\n */\nexport function provideDialogSlots(): Provider {\n    return {\n        provide: DIALOG_SLOTS,\n        useFactory: (): IDialogSlots => {\n            const header = signal<TemplateRef<unknown> | null>(null);\n            const content = signal<TemplateRef<unknown> | null>(null);\n            const actions = signal<TemplateRef<unknown> | null>(null);\n            const footer = signal<TemplateRef<unknown> | null>(null);\n\n            return {\n                header: header.asReadonly(),\n                content: content.asReadonly(),\n                actions: actions.asReadonly(),\n                footer: footer.asReadonly(),\n                setHeader: (t) => header.set(t),\n                setContent: (t) => content.set(t),\n                setActions: (t) => actions.set(t),\n                setFooter: (t) => footer.set(t)\n            };\n        }\n    };\n}\n","// #region Imports\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { ChangeDetectionStrategy, Component, TemplateRef, effect, inject, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { DialogHeaderComponent } from '../../../Controls/Components/Overlays/Dialog/DialogHeaderComponent';\nimport { DialogHeaderTextComponent } from '../../../Controls/Components/Overlays/Dialog/DialogHeaderTextComponent';\nimport { DialogHeaderSubTextComponent } from '../../../Controls/Components/Overlays/Dialog/DialogHeaderSubTextComponent';\nimport { DIALOG_CONFIG } from './DialogTokens';\nimport { DialogActionsComponent } from '../../../Controls/Components/Overlays/Dialog/DialogActionsComponent';\nimport { ButtonComponent } from '../../../Controls/Components/Buttons/Button/ButtonComponent';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { IDialogConfig } from './IDialogConfig';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport { DialogComponent } from '../../../Controls/Components/Overlays/Dialog/DialogComponent';\nimport { OfPipe } from '../../Pipes/OfPipe';\nimport { DialogFooterComponent } from '../../../Controls/Components/Overlays/Dialog/DialogFooterComponent';\nimport { DIALOG_SLOTS } from './Slots/DialogSlotsTokens';\nimport { IDialogSlots } from './Slots/IDialogSlots';\nimport { provideDialogSlots } from './Slots/provideDialogSlots';\n\n// #endregion\n\n/**\n * @public\n */\n@Component({\n    selector: 'mosaik-dialog-portal',\n    templateUrl: './DialogPortalComponent.html',\n    exportAs: 'mosaikDialogPortal',\n    host: {\n        class: 'dialog-portal'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [\n        provideDialogSlots()\n    ],\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        OfPipe,\n        CdkScrollable,\n        CdkPortalOutlet,\n        DialogComponent,\n        DialogHeaderComponent,\n        DialogHeaderTextComponent,\n        DialogHeaderSubTextComponent,\n        DialogActionsComponent,\n        DialogFooterComponent,\n        ButtonComponent\n    ]\n})\nexport class DialogPortalComponent\n    extends PortalComponent {\n\n    // #region Fields\n\n    @ViewChild(CdkPortalOutlet, { static: true })\n    private readonly _portal!: CdkPortalOutlet;\n    @ViewChild(DialogComponent, { static: true })\n    private readonly _component!: DialogComponent;\n    private readonly _config?: IDialogConfig;\n    private readonly _slots: IDialogSlots;\n    private _warnedHeader: boolean;\n    private _warnedActions: boolean;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogPortalComponent` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._config = inject(DIALOG_CONFIG, { optional: true }) ?? undefined;\n        this._slots = inject(DIALOG_SLOTS);\n        this._warnedHeader = false;\n        this._warnedActions = false;\n\n        // warn when both templates and config options are provided for the same section.\n        effect(() => {\n            // header: template vs header/subheader config\n            const hasHeaderTemplate = this._slots.header() !== null;\n            const hasHeaderConfig = Boolean(this._config?.header) || Boolean(this._config?.subheader);\n            if (hasHeaderTemplate && hasHeaderConfig && !this._warnedHeader) {\n                console.warn('[DialogPortalComponent] Header template provided while dialogConfig.header/subheader is set. The template takes precedence.');\n                this._warnedHeader = true;\n            }\n\n            // actions: template vs actions config\n            const hasActionsTemplate = this._slots.actions() !== null;\n            const actions = this._config?.actions;\n            const hasActionsConfig = Array.isArray(actions) && actions.length > 0;\n            if (hasActionsTemplate && hasActionsConfig && !this._warnedActions) {\n                console.warn('[DialogPortalComponent] Actions template provided while dialogConfig.actions is set. The template takes precedence.');\n                this._warnedActions = true;\n            }\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `dialog` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get dialog(): DialogComponent {\n        return this._component;\n    }\n\n    /**\n     * Returns the `dialogRef` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get dialogConfig(): IDialogConfig | undefined {\n        return this._config;\n    }\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get portal(): CdkPortalOutlet {\n        return this._portal;\n    }\n\n    /**\n     * Exposes an optional custom header template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get headerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.header();\n    }\n\n    /**\n     * Exposes an optional custom actions template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get actionsTemplate(): TemplateRef<unknown> | null {\n        return this._slots.actions();\n    }\n\n    /**\n     * Exposes an optional custom footer template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get footerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.footer();\n    }\n\n    /**\n     * Exposes an optional custom content template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get contentTemplate(): TemplateRef<unknown> | null {\n        return this._slots.content();\n    }\n\n    // #endregion\n\n}\n","<mosaik-dialog [closeable]=\"this.dialogConfig?.closeable ?? false\"\n               [appearance]=\"this.dialogConfig?.appearance ?? 'default'\"\n               [isDraggable]=\"this.dialogConfig?.isDraggable ?? false\"\n               [enter]=\"this.dialogConfig?.enter ?? null\"\n               [exit]=\"this.dialogConfig?.exit ?? null\"\n               [width]=\"this.dialogConfig?.size?.width ?? 'auto'\"\n               [height]=\"this.dialogConfig?.size?.height ?? 'auto'\">\n    @if (this.headerTemplate; as template) {\n    <ng-container [ngTemplateOutlet]=\"template\" />\n    } @else if ((this.dialogConfig?.header | of | async) || this.dialogConfig?.closeable) {\n    <mosaik-dialog-header>\n        <mosaik-dialog-header-text [text]=\"(this.dialogConfig?.header | of | async) ?? ''\" />\n        <mosaik-dialog-header-sub-text [text]=\"(this.dialogConfig?.subheader | of | async) ?? ''\" />\n    </mosaik-dialog-header>\n    }\n    <mosaik-dialog-content cdkScrollable>\n        @if (this.contentTemplate; as template) {\n        <ng-container [ngTemplateOutlet]=\"template\" />\n        }\n        <ng-template cdkPortalOutlet />\n    </mosaik-dialog-content>\n    @if (this.actionsTemplate; as template) {\n    <ng-container [ngTemplateOutlet]=\"template\" />\n    } @else if (this.dialogConfig?.actions) {\n    <mosaik-dialog-actions>\n        @for (action of this.dialogConfig?.actions; track action.label) {\n        @if ((action?.visible | of | async) ?? true) {\n        <mosaik-button [appearance]=\"action?.kind === 'primary' ? 'solid' : 'plain'\"\n                       [label]=\"(action?.label | of | async) ?? ''\"\n                       [disabled]=\"(action?.disabled | of | async) ?? false\"\n                       [variant]=\"'primary'\"\n                       (click)=\"action?.handler()\" />\n        }\n        }\n    </mosaik-dialog-actions>\n    }\n    @if (this.footerTemplate; as template) {\n    <mosaik-dialog-footer>\n        <ng-container [ngTemplateOutlet]=\"template\" />\n    </mosaik-dialog-footer>\n    }\n</mosaik-dialog>","// #region Imports\n\nimport type { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject, type Observable } from 'rxjs';\nimport type { ICancel } from '../ICancel';\nimport type { IPortalRef } from './IPortalRef';\n\n// #endregion\n\n/**\n * @public\n */\nexport abstract class PortalRef<TInstance, TData, TResult>\n    implements IPortalRef<TInstance, TData, TResult> {\n\n    // #region Fields\n\n    private readonly _closedSubject: Subject<ICancel<TResult>>;\n    private readonly _component: TInstance;\n    private readonly _overlayRef: OverlayRef;\n    private readonly _id: string;\n    private readonly _data?: TData;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ElementProviderRef` class.\n     *\n     * @protected\n     */\n    protected constructor(id: string, component: TInstance, overlayRef: OverlayRef, data?: TData) {\n        this._closedSubject = new Subject();\n        this._component = component;\n        this._overlayRef = overlayRef;\n        this._id = id;\n        this._data = data;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * @public\n     * @readonly\n     */\n    public get id(): string {\n        return this._id;\n    }\n\n    /**\n     * @public\n     * @readonly\n     */\n    public get component(): TInstance {\n        return this._component;\n    }\n\n    /**\n     * @public\n     * @readonly\n     */\n    public get overlayRef(): OverlayRef {\n        return this._overlayRef;\n    }\n\n    /**\n     * @public\n     * @readonly\n     */\n    public get data(): TData | undefined {\n        return this._data;\n    }\n\n    /**\n     * @public\n     * @readonly\n     */\n    public get closed(): Observable<ICancel<TResult>> {\n        return this._closedSubject.asObservable();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public close(result: ICancel<TResult>): void {\n        this._closedSubject.next(result);\n        this._closedSubject.complete();\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { DialogElement } from '@breadstone/mosaik-elements-foundation';\nimport type { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport type { ICancel } from '../../ICancel';\nimport { Subject, type Observable } from 'rxjs';\nimport type { IDialogRef } from './IDialogRef';\nimport { PortalRef } from '../../Portal/PortalRef';\nimport type { DialogComponent } from '../../../Controls/Components/Overlays/Dialog/DialogComponent';\n\n// #endregion\n\n/**\n * @public\n */\nexport class DialogRef<TData, TResult>\n    extends PortalRef<DialogComponent, TData, TResult>\n    implements IDialogRef {\n\n    // #region Fields\n\n    private readonly _positionChangedSubject: Subject<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>>;\n    private readonly _sizeChangedSubject: Subject<Partial<{\n        width: string | number;\n        height: string | number;\n    }>>;\n    private readonly _dialogElement: DialogElement;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogRef` class.\n     *\n     * @public\n     */\n    public constructor(id: string, component: DialogComponent, overlayRef: OverlayRef, data?: TData) {\n        super(id, component, overlayRef, data);\n\n        this._positionChangedSubject = new Subject();\n        this._sizeChangedSubject = new Subject();\n\n        // Get the DialogElement from the overlay's host element\n        const dialogElement = overlayRef.hostElement.querySelector<DialogElement>('mosaik-dialog');\n        if (!dialogElement) {\n            throw new Error('DialogElement not found in overlay host element.');\n        }\n        this._dialogElement = dialogElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the underlying `DialogElement`.\n     *\n     * @public\n     * @readonly\n     */\n    public get element(): DialogElement {\n        return this._dialogElement;\n    }\n\n    /**\n     * Returns the `positionChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get positionChanged(): Observable<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>> {\n        return this._positionChangedSubject.asObservable();\n    }\n\n    /**\n     * Returns the `sizeChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get sizeChanged(): Observable<Partial<{\n        width: string | number;\n        height: string | number;\n    }>> {\n        return this._sizeChangedSubject.asObservable();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     * @override\n     */\n    public override close(result: ICancel<TResult>): void {\n        this._positionChangedSubject.complete();\n        this._sizeChangedSubject.complete();\n\n        this.component.invoke('close');\n        super.close(result);\n    }\n\n    /**\n     * Updates the dialog's position.\n     *\n     * @public\n     * @param position - New dialog position.\n     */\n    public updatePosition(position: Partial<{\n        top: number | string;\n        bottom: number | string;\n        left: number | string;\n        right: number | string;\n    }>): this {\n        const strategy = this.overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n\n        if (position.left || position.right) {\n            if (position.left) {\n                strategy.left(this.parseNumber(position.left));\n            } else if (position.right) {\n                strategy.right(this.parseNumber(position.right));\n            }\n        } else {\n            strategy.centerHorizontally();\n        }\n\n        if (position.top || position.bottom) {\n            if (position.top) {\n                strategy.top(this.parseNumber(position.top));\n            } else {\n                strategy.bottom(this.parseNumber(position.bottom));\n            }\n        } else {\n            strategy.centerVertically();\n        }\n\n        this.overlayRef.updatePosition();\n        this._positionChangedSubject.next(position);\n\n        return this;\n    }\n\n    /**\n     * Updates the dialog's width and height.\n     *\n     * @public\n     * @param size - New width and height of the dialog.\n     */\n    public updateSize(size: Partial<{\n        width: number | string;\n        height: number | string;\n    }>): this {\n        this.overlayRef.updateSize({\n            width: size.width,\n            height: size.height\n        });\n        this.overlayRef.updatePosition();\n        this._sizeChangedSubject.next(size);\n\n        return this;\n    }\n\n    /**\n     * @private\n     */\n    private parseNumber(size: string | number | undefined): string {\n        if (typeof size === 'string') {\n            return size;\n        } else if (typeof size === 'number') {\n            return `${size}px`;\n        }\n\n        return '';\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { InjectOptions, Injector, ProviderToken } from '@angular/core';\nimport type { Nullable } from '@breadstone/mosaik-elements-foundation';\nimport type { IDisposableLike } from '@breadstone/mosaik-elements';\n\n// #endregion\n\n/**\n * StatelessInjector - The stateless injector is a simple implementation of the `Injector` interface that\n * allows for the injection of dependencies without the need for a full Angular injector.\n *\n * @internal\n */\nexport class StatelessInjector\n    implements Injector, IDisposableLike {\n\n    // #region Fields\n\n    private readonly _parentInjector: Injector;\n    private _injectionTokens: Nullable<WeakMap<object, unknown>>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(parentInjector: Injector, injectionTokens?: Array<[object, unknown]>) {\n        this._parentInjector = parentInjector;\n        this._injectionTokens = injectionTokens\n            ? new WeakMap<object, unknown>(injectionTokens)\n            : null;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public dispose(): void {\n        this._injectionTokens = null;\n    }\n\n    /**\n     * @public\n     */\n    public get<T>(token: ProviderToken<T>, notFoundValue?: T | null, options?: InjectOptions): T | null {\n        if (typeof token === 'object' && this._injectionTokens?.has(token)) {\n            const value = this._injectionTokens.get(token);\n\n            if (value !== undefined) {\n                return value as T;\n            }\n\n            return notFoundValue === undefined ? null : notFoundValue;\n        }\n\n        // Delegate to parent injector for all other cases\n        return this._parentInjector.get(token, notFoundValue, options);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Overlay, type OverlayConfig, OverlayPositionBuilder, type OverlayRef, type PositionStrategy, type ScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { TemplateRef, type Type, type ComponentRef, type EmbeddedViewRef, Injector, inject, type ViewContainerRef } from '@angular/core';\nimport { BehaviorSubject, type Observable } from 'rxjs';\nimport type { PortalComponent } from './PortalComponent';\nimport type { IPortalRef } from './IPortalRef';\n\n// #endregion\n\nexport interface IPortalProviderCacheEntry {\n    overlay: OverlayRef;\n    portal: ComponentPortal<PortalComponent>;\n}\n\n/**\n * @public\n */\nexport abstract class PortalProvider {\n\n    // #region Fields\n\n    private readonly _injector: Injector;\n    private readonly _overlayPositionBuilder: OverlayPositionBuilder;\n    private readonly _overlay: Overlay;\n    private readonly _cache: Array<IPortalProviderCacheEntry>;\n    private readonly _cacheCountSubject: BehaviorSubject<number>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `PortalProvider` class.\n     *\n     * @protected\n     */\n    protected constructor() {\n        this._injector = inject(Injector);\n        this._overlayPositionBuilder = inject(OverlayPositionBuilder);\n        this._overlay = inject(Overlay);\n        this._cache = new Array<IPortalProviderCacheEntry>();\n        this._cacheCountSubject = new BehaviorSubject(0);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `count` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get count(): Observable<number> {\n        return this._cacheCountSubject.asObservable();\n    }\n\n    /**\n     * Returns the `overlayPositionBuilder` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get overlayPositionBuilder(): OverlayPositionBuilder {\n        return this._overlayPositionBuilder;\n    }\n\n    /**\n     * Returns the `overlay` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get overlay(): Overlay {\n        return this._overlay;\n    }\n\n    /**\n     * Returns the `injector` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get injector(): Injector {\n        return this._injector;\n    }\n\n    /**\n     * Returns the `cache` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get cache(): ReadonlyArray<IPortalProviderCacheEntry> {\n        return this._cache;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @protected\n     */\n    protected abstract createId(): string;\n\n    /**\n     * @protected\n     */\n    protected abstract createPortalInjector(config?: unknown): Injector;\n\n    /**\n     * @protected\n     */\n    protected abstract createContentInjector(ref: IPortalRef<unknown, unknown, unknown>, config?: unknown): Injector;\n\n    /**\n     * @protected\n     */\n    protected abstract createPositionStrategy(): PositionStrategy;\n\n    /**\n     * @protected\n     */\n    protected abstract createScrollStrategy(): ScrollStrategy;\n\n    /**\n     * @protected\n     */\n    protected createOverlay(config: OverlayConfig): OverlayRef {\n        config.positionStrategy = this.createPositionStrategy();\n        config.scrollStrategy = this.createScrollStrategy();\n\n        return this._overlay.create(config);\n    }\n\n    /**\n     * @protected\n     */\n    protected createPortal<TPortal extends PortalComponent>(component: Type<TPortal>, config?: unknown): ComponentPortal<TPortal> {\n        return new ComponentPortal<TPortal>(component, null, this.createPortalInjector(config));\n    }\n\n    /**\n     * @protected\n     */\n    protected createComponent<TPortal extends PortalComponent>(portal: ComponentPortal<TPortal>, overlayRef: OverlayRef, _component: Type<TPortal>, _config?: unknown): ComponentRef<TPortal> {\n        return overlayRef.attach(portal);\n    }\n\n    /**\n     * @protected\n     */\n    protected createContent(componentTypeOrTemplateRef: Type<unknown> | TemplateRef<unknown>, container: PortalComponent, ref: IPortalRef<unknown, unknown, unknown>, config?: unknown): ComponentRef<unknown> | EmbeddedViewRef<unknown> {\n        let componentRefOrEmbeddedViewRef = null;\n\n        if (componentTypeOrTemplateRef instanceof TemplateRef) {\n            const portal = new TemplatePortal(componentTypeOrTemplateRef, null as unknown as ViewContainerRef, { $implicit: ref }, this.createContentInjector(ref, config));\n            componentRefOrEmbeddedViewRef = container.attachTemplatePortal(portal);\n        } else {\n            const portal = new ComponentPortal(componentTypeOrTemplateRef, null, this.createContentInjector(ref, config));\n            componentRefOrEmbeddedViewRef = container.attachComponentPortal(portal);\n        }\n\n        return componentRefOrEmbeddedViewRef;\n    }\n\n    /**\n     * @protected\n     */\n    protected attach<TPortal extends PortalComponent>(overlayRef: OverlayRef, portal: ComponentPortal<TPortal>): void {\n        this._cache.push({\n            overlay: overlayRef,\n            portal: portal\n        });\n        this._cacheCountSubject.next(this._cache.length);\n    }\n\n    /**\n     * @protected\n     */\n    protected detach(overlayRef: OverlayRef): void {\n        if (overlayRef.hasAttached()) {\n            overlayRef.detach();\n        }\n\n        this._cache.splice(this._cache.findIndex((x) => x.overlay === overlayRef), 1);\n        this._cacheCountSubject.next(this._cache.length);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { OverlayRef, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, inject, Injectable, Injector, type ComponentRef, type TemplateRef, type Type } from '@angular/core';\nimport { EID, Key } from '@breadstone/mosaik-elements-foundation';\nimport { filter, fromEvent, takeUntil } from 'rxjs';\nimport type { DialogComponent } from '../../../Controls/Components/Overlays/Dialog/DialogComponent';\nimport { Cancel } from '../../Cancel';\nimport { StatelessInjector } from '../../Injection/StatelessInjector';\nimport type { PortalComponent } from '../../Portal/PortalComponent';\nimport { PortalProvider, type IPortalProviderCacheEntry } from '../../Portal/PortalProvider';\nimport type { IDialogBehavior } from './behaviors/IDialogBehavior';\nimport { DialogPortalComponent } from './DialogPortalComponent';\nimport { DialogRef } from './DialogRef';\nimport { DIALOG_BEHAVIORS, DIALOG_CONFIG, DIALOG_REF, DIALOG_REF_DATA } from './DialogTokens';\nimport type { IDialogConfig } from './IDialogConfig';\nimport type { IDialogRef } from './IDialogRef';\n\n// #endregion\n\n/**\n * @public\n */\n@Injectable()\nexport class DialogService\n    extends PortalProvider {\n\n    // #region Fields\n\n    private readonly _document: Document;\n    private readonly _behaviors: Array<IDialogBehavior>;\n    private _portalInjector?: Injector;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogService` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._document = inject(DOCUMENT);\n        this._behaviors = new Array<IDialogBehavior>();\n        for (const behavior of inject(DIALOG_BEHAVIORS, { optional: true }) ?? []) {\n            this.withBehavior(behavior);\n        }\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Opens new instance of the dialog, may receive optional config.\n     *\n     * @public\n     */\n    public show<TData = object, TResult = object>(componentTypeOrTemplateRef: Type<unknown> | TemplateRef<TData>, config?: Partial<IDialogConfig<TData>>): IDialogRef<TData, TResult> {\n        if (config) {\n            for (const behavior of this._behaviors) {\n                behavior.configure(config);\n            }\n        }\n\n        const overlayRef = this.createOverlay({\n            hasBackdrop: config?.hasBackdrop,\n            width: config?.size?.width,\n            height: config?.size?.height,\n            minWidth: config?.minSize?.width,\n            minHeight: config?.minSize?.height,\n            maxWidth: config?.maxSize?.width,\n            maxHeight: config?.maxSize?.height,\n            disposeOnNavigation: config?.closeOnNavigation\n        });\n        const portal = this.createPortal(DialogPortalComponent, config);\n        const componentRef = this.createComponent(portal, overlayRef, DialogPortalComponent, config);\n        this._portalInjector = componentRef.injector;\n        const dialogRef = new DialogRef<TData, TResult>(this.createId(), componentRef.instance.dialog, overlayRef, config?.data);\n\n        this.createContent(componentTypeOrTemplateRef, componentRef.instance, dialogRef, config);\n        this.prepareComponent(overlayRef, componentRef.instance.dialog, dialogRef, config);\n        this.attach(overlayRef, portal);\n\n        componentRef.instance.dialog.invoke('open');\n\n        this._behaviors.forEach((x) => x.attach(dialogRef, portal));\n\n        return dialogRef;\n    }\n\n    /**\n     * Closes the dialog.\n     *\n     * @public\n     */\n    public close(ref: IDialogRef): void {\n        this.detach(ref.overlayRef);\n    }\n\n    /**\n     * Checks if the dialog is currently shown.\n     *\n     * @public\n     */\n    public isShown(ref: IDialogRef): boolean {\n        return this.cache.some((x) => x.overlay === ref.overlayRef && x.portal.isAttached);\n    }\n\n    /**\n     * Adds a dialog behavior to the service.\n     *\n     * @public\n     */\n    public withBehavior(type: Type<IDialogBehavior>): Omit<this, 'withBehavior'> {\n        const behavior = this.injector.get(type);\n        this._behaviors.push(behavior);\n\n        return this;\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createId(): string {\n        return EID.next('mosaik-dialog');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPortalInjector<TData>(config?: IDialogConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [DIALOG_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createContentInjector<TData>(ref: IDialogRef, config?: IDialogConfig<TData>): Injector {\n        const parent = this._portalInjector ?? this.injector;\n        return new StatelessInjector(parent, [\n            [DIALOG_REF, ref],\n            [DIALOG_REF_DATA, ref.data],\n            [DIALOG_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPositionStrategy(): PositionStrategy {\n        return this.overlayPositionBuilder\n            .global()\n            .centerVertically()\n            .centerHorizontally();\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createScrollStrategy(): ScrollStrategy {\n        return this.overlay.scrollStrategies.block();\n    }\n\n    /**\n     * @protected\n     */\n    protected override createComponent<TPortal extends PortalComponent>(portal: ComponentPortal<TPortal>, overlayRef: OverlayRef, _component: Type<TPortal>, config?: Partial<IDialogConfig>): ComponentRef<TPortal> {\n        if (config?.singleton) {\n            const overlayRefs = this.cache.filter((x) => x.overlay !== overlayRef);\n            const detachments = new Array<IPortalProviderCacheEntry>();\n\n            for (const ref of overlayRefs) {\n                ref.overlay.detach();\n                detachments.push(ref);\n            }\n\n            const sub = overlayRef.detachments().subscribe(() => {\n                sub.unsubscribe();\n                for (const entry of detachments) {\n                    entry.overlay.attach(entry.portal);\n                }\n            });\n        }\n\n        return super.createComponent(portal, overlayRef, _component, config);\n    }\n\n    /**\n     * @private\n     */\n    private prepareComponent<TData, TResult>(overlayRef: OverlayRef, component: DialogComponent, dialogRef: DialogRef<TData, TResult>, config?: Partial<IDialogConfig<TData>>): void {\n        if (config) {\n            // apply all properties to the component using setInput for Signal Inputs compatibility\n            Object.keys(config).forEach((p) => {\n                if (p in component && typeof component.setInput === 'function') {\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    component.setInput(p as any, (config as Record<string, unknown>)[p]);\n                }\n            });\n\n            if (config.clickOutsideToClose) {\n                const backdropClickSubscription = overlayRef.backdropClick().subscribe(() => {\n                    backdropClickSubscription.unsubscribe();\n                    dialogRef.close(Cancel.negative());\n                });\n                const outsidePointerEventsSubscription = overlayRef.outsidePointerEvents().subscribe(() => {\n                    outsidePointerEventsSubscription.unsubscribe();\n                    dialogRef.close(Cancel.negative());\n                });\n            }\n\n            if (config.pressEscapeToClose) {\n                const documentKeyupSubscription = fromEvent<KeyboardEvent>(this._document, 'keyup').pipe(\n                    filter((event) => event.keyCode === Key.Escape),\n                    takeUntil(dialogRef.closed)\n                )\n                    .subscribe(() => {\n                        documentKeyupSubscription.unsubscribe();\n                        dialogRef.close(Cancel.negative());\n                    });\n            }\n        }\n\n        const closedSubscription = component.closed.subscribe(() => {\n            closedSubscription.unsubscribe();\n            this.detach(overlayRef);\n            // Pass the specific dialogRef to detach so behaviors can remove the correct dialog\n            this._behaviors.forEach((x) => x.detach(dialogRef));\n            // Note: Do NOT clear behaviors here - they should persist for other open dialogs\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders, type Provider, type Type } from '@angular/core';\nimport type { IDialogStackBehaviorConfig } from '@breadstone/mosaik-elements-foundation';\nimport { DialogService } from './DialogService';\nimport { DIALOG_BEHAVIORS } from './DialogTokens';\nimport { DIALOG_BREAKPOINT_BEHAVIOR_CONFIG, DialogBreakpointBehavior, type IDialogBreakpointBehaviorConfig } from './behaviors/DialogBreakpointBehavior';\nimport { DIALOG_STACK_BEHAVIOR_CONFIG, DialogStackBehavior } from './behaviors/DialogStackBehavior';\nimport type { IDialogBehavior } from './behaviors/IDialogBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport interface IDialogFeature {\n    id: string;\n    behaviorType: Type<IDialogBehavior>;\n    provide(): ReadonlyArray<Provider>;\n}\n\n/**\n * Provides the dialog service.\n *\n * @public\n */\nexport function provideDialogs(...withBehaviors: ReadonlyArray<IDialogFeature>): EnvironmentProviders {\n    const behaviorTypes = withBehaviors.map((x) => x.behaviorType);\n\n    return makeEnvironmentProviders([{\n        provide: DIALOG_BEHAVIORS,\n        useValue: behaviorTypes\n    }, {\n        provide: DialogService,\n        useClass: DialogService\n    }, ...withBehaviors.flatMap((x) => x.provide())]);\n}\n\n/**\n * @public\n */\nexport function withDialogBreakpointBehavior(config?: IDialogBreakpointBehaviorConfig): IDialogFeature {\n    return {\n        id: 'dialogBreakpointBehavior',\n        behaviorType: DialogBreakpointBehavior,\n        provide: () => [{\n            provide: DIALOG_BREAKPOINT_BEHAVIOR_CONFIG,\n            useValue: config\n        }, {\n            provide: DialogBreakpointBehavior,\n            useClass: DialogBreakpointBehavior\n        }]\n    };\n}\n\n/**\n * @public\n */\nexport function withDialogStackBehavior(config?: Partial<IDialogStackBehaviorConfig>): IDialogFeature {\n    return {\n        id: 'dialogStackBehavior',\n        behaviorType: DialogStackBehavior,\n        provide: () => [{\n            provide: DIALOG_STACK_BEHAVIOR_CONFIG,\n            useValue: config\n        }, {\n            provide: DialogStackBehavior,\n            useClass: DialogStackBehavior\n        }]\n    };\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DIALOG_SLOTS } from './DialogSlotsTokens';\nimport { IDialogSlots } from './IDialogSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside dialog content as custom actions section.\n * Usage:\n * <ng-template mosaikDialogActions> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDialogActions]'\n})\nexport class DialogActionsDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDialogSlots = inject(DIALOG_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogActionsDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setActions(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DIALOG_SLOTS } from './DialogSlotsTokens';\nimport { IDialogSlots } from './IDialogSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside dialog content as custom content section, replacing the default portal outlet.\n * Usage:\n * <ng-template mosaikDialogContent> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDialogContent]'\n})\nexport class DialogContentDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDialogSlots = inject(DIALOG_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogContentDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setContent(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DIALOG_SLOTS } from './DialogSlotsTokens';\nimport { IDialogSlots } from './IDialogSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside dialog content as custom footer section.\n * Usage:\n * <ng-template mosaikDialogFooter> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDialogFooter]'\n})\nexport class DialogFooterDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDialogSlots = inject(DIALOG_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogFooterDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setFooter(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DIALOG_SLOTS } from './DialogSlotsTokens';\nimport { IDialogSlots } from './IDialogSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside dialog content as custom header.\n * Usage:\n * <ng-template mosaikDialogHeader> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDialogHeader]'\n})\nexport class DialogHeaderDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDialogSlots = inject(DIALOG_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DialogHeaderDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setHeader(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport type { IDrawerBehavior } from '../IDrawerBehavior';\nimport type { IDrawerConfig } from '../../IDrawerConfig';\nimport type { IDrawerRef } from '../../IDrawerRef';\nimport type { Nullable } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\n/**\n * @public\n * @abstract\n */\nexport abstract class DrawerBehavior implements IDrawerBehavior {\n\n    // #region Fields\n\n    private _ref: Nullable<IDrawerRef>;\n    private _attached: boolean;\n    private _drawerConfig: Nullable<IDrawerConfig>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerBehavior` class.\n     *\n     * @protected\n     */\n    protected constructor() {\n        this._ref = null;\n        this._attached = false;\n        this._drawerConfig = null;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `ref` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get ref(): Nullable<IDrawerRef> {\n        if (!this._attached) {\n            throw new Error('Must be attached before use the element property.');\n        }\n        return this._ref;\n    }\n\n    /**\n     * Returns the `config` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get config(): Nullable<IDrawerConfig> {\n        return this._drawerConfig;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     * @virtual\n     */\n    public configure(config: IDrawerConfig): void {\n        this._drawerConfig = config;\n    }\n\n    /**\n     * @public\n     * @virtual\n     */\n    public attach(element: IDrawerRef, _portal: ComponentPortal<unknown>, config?: Partial<IDrawerConfig>): void {\n        this._ref = element;\n        this._attached = true;\n    }\n\n    /**\n     * Detaches a specific drawer from the behavior.\n     * If ref is not provided, detaches the most recently attached drawer.\n     *\n     * @public\n     * @virtual\n     * @param ref - Optional drawer reference to detach.\n     */\n    public detach(ref?: IDrawerRef): void {\n        this._attached = false;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { BreakpointObserver, type BreakpointState } from '@angular/cdk/layout';\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, InjectionToken } from '@angular/core';\nimport type { BreakpointAlias } from '@breadstone/mosaik-elements-foundation';\nimport { Subscription } from 'rxjs';\nimport { BreakpointRegistry } from '../../../Breakpoint/BreakpointRegistry';\nimport type { ISizeLike } from '../../../Utils/ISizeLike';\nimport type { IDrawerConfig } from '../IDrawerConfig';\nimport type { IDrawerRef } from '../IDrawerRef';\nimport { DrawerBehavior } from './Abstracts/DrawerBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport interface IDrawerBreakpointBehaviorConfig {\n    breakpoints: Array<{\n        breakpoint: BreakpointAlias;\n        size: ISizeLike;\n    }>;\n}\n\n/**\n * Injection token for providing drawer breakpoint behavior configuration.\n *\n * @public\n */\nexport const DRAWER_BREAKPOINT_BEHAVIOR_CONFIG = new InjectionToken<IDrawerBreakpointBehaviorConfig>('DRAWER_BREAKPOINT_OBSERVER_BEHAVIOR_CONFIG');\n\n/**\n * Behavior that adjusts drawer size based on viewport breakpoints.\n *\n * @public\n */\n// @Injectable()\nexport class DrawerBreakpointBehavior extends DrawerBehavior {\n\n    // #region Fields\n\n    private readonly _breakpointObserver: BreakpointObserver;\n    private readonly _breakpointRegistry: BreakpointRegistry;\n    private readonly _config: IDrawerBreakpointBehaviorConfig | null;\n    private readonly _mediaQueryToAliasMap: Map<string, BreakpointAlias>;\n    private _subscription: Subscription;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerBreakpointBehavior` class.\n     *\n     * @public\n     */\n    public constructor(\n        config: IDrawerBreakpointBehaviorConfig | null = inject(DRAWER_BREAKPOINT_BEHAVIOR_CONFIG, { optional: true })\n    ) {\n        super();\n\n        this._breakpointObserver = inject(BreakpointObserver);\n        this._breakpointRegistry = inject(BreakpointRegistry);\n        this._config = config;\n        this._mediaQueryToAliasMap = new Map<string, BreakpointAlias>();\n        this._subscription = Subscription.EMPTY;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Attaches a specific drawer to the behavior.\n     *\n     * @public\n     * @Override\n     * @param drawerRef - The drawer reference to attach to the behavior.\n     * @param portal - The component portal for the drawer content (unused in this behavior).\n     */\n    public override attach(drawerRef: IDrawerRef, _portal: ComponentPortal<unknown>): void {\n        if (this._config?.breakpoints.length) {\n            this._mediaQueryToAliasMap.clear();\n\n            const breakpoints = this._config.breakpoints\n                .map((x) => {\n                    const breakpoint = this._breakpointRegistry.findByAlias(x.breakpoint);\n                    if (breakpoint?.mediaQuery) {\n                        this._mediaQueryToAliasMap.set(breakpoint.mediaQuery, x.breakpoint);\n                    }\n                    return breakpoint?.mediaQuery;\n                })\n                .filter((x): x is string => x !== undefined);\n\n            this._subscription = this._breakpointObserver.observe(breakpoints)\n                .subscribe((x) => this.onBreakpoint(x, drawerRef, this.config ?? undefined));\n        }\n    }\n\n    /**\n     * Detaches a specific drawer from the behavior.\n     * If ref is not provided, detaches the most recently attached drawer.\n     *\n     * @public\n     * @override\n     * @param ref - Optional drawer reference to detach (unused in this behavior).\n     */\n    public override detach(_ref?: IDrawerRef): void {\n        this._subscription.unsubscribe();\n    }\n\n    /**\n     * Handles breakpoint state changes and updates drawer size accordingly.\n     *\n     * @private\n     * @param state - The current breakpoint state from the observer.\n     * @param drawerRef - Reference to the drawer being managed.\n     * @param config - Optional drawer configuration with default size values.\n     */\n    private onBreakpoint<TData>(state: BreakpointState, drawerRef: IDrawerRef, config?: IDrawerConfig<TData>): void {\n        if (state.matches) {\n            Object.entries(state.breakpoints).forEach(([mediaQuery, match]) => {\n                if (match) {\n                    const alias = this._mediaQueryToAliasMap.get(mediaQuery);\n                    const breakpointConfig = alias\n                        ? this._config?.breakpoints.find((x) => x.breakpoint === alias) ?? null\n                        : null;\n\n                    drawerRef.updateSize({\n                        width: breakpointConfig?.size.width,\n                        height: breakpointConfig?.size.height\n                    });\n                    // Set isFullScreen via the component's setInput method\n                    drawerRef.component.setInput('isFullScreen', true);\n                }\n            });\n        } else {\n            drawerRef.updateSize({\n                width: config?.size?.width,\n                height: config?.size?.height\n            });\n            // Set isFullScreen via the component's setInput method\n            drawerRef.component.setInput('isFullScreen', false);\n        }\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, InjectionToken } from '@angular/core';\nimport { type IDrawerStackBehaviorConfig, DRAWER_STACK_BEHAVIOR_DEFAULT_CONFIG } from '@breadstone/mosaik-elements-foundation';\nimport { CssLength } from '@breadstone/mosaik-themes';\nimport type { IDrawerConfig } from '../IDrawerConfig';\nimport type { IDrawerRef } from '../IDrawerRef';\nimport { DrawerBehavior } from './Abstracts/DrawerBehavior';\n\n// #endregion\n\n/**\n * Injection token for providing drawer stack behavior configuration.\n *\n * @public\n */\nexport const DRAWER_STACK_BEHAVIOR_CONFIG = new InjectionToken<IDrawerStackBehaviorConfig>('DRAWER_STACK_BEHAVIOR_CONFIG');\n\n/**\n * Behavior that manages a stack of drawers with decreasing widths.\n * Each drawer in the stack is offset from the previous one, creating\n * a cascading visual effect.\n *\n * @public\n */\nexport class DrawerStackBehavior extends DrawerBehavior {\n\n    // #region Fields\n\n    private readonly _stack: Array<IStackEntry>;\n    private readonly _behaviorConfig: IDrawerStackBehaviorConfig;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerStackBehavior` class.\n     *\n     * @public\n     */\n    public constructor(\n        config: IDrawerStackBehaviorConfig | null = inject(DRAWER_STACK_BEHAVIOR_CONFIG, { optional: true })\n    ) {\n        super();\n\n        this._behaviorConfig = {\n            ...DRAWER_STACK_BEHAVIOR_DEFAULT_CONFIG,\n            ...config\n        };\n        this._stack = new Array<IStackEntry>();\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the current number of drawers in the stack.\n     *\n     * @public\n     * @readonly\n     */\n    public get stackSize(): number {\n        return this._stack.length;\n    }\n\n    /**\n     * Returns the current stack configuration.\n     *\n     * @public\n     * @readonly\n     */\n    public get stackConfig(): Readonly<IDrawerStackBehaviorConfig> {\n        return this._behaviorConfig;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Attaches a drawer to the stack and applies stack styling.\n     *\n     * The stacking model is:\n     * - The topmost (newest) drawer gets its base width\n     * - Each drawer below gets progressively wider by stackThreshold\n     * - If a new drawer is larger than existing ones, smaller drawers are grown\n     *\n     * @public\n     * @param drawerRef - The drawer reference to attach.\n     * @param portal - The component portal for the drawer.\n     * @param config - Optional drawer configuration.\n     */\n    public override attach(drawerRef: IDrawerRef, portal: ComponentPortal<unknown>, config?: Partial<IDrawerConfig>): void {\n        super.attach(drawerRef, portal, config);\n\n        // Check max stack depth\n        if (this._behaviorConfig.maxStackDepth !== undefined && this._stack.length >= this._behaviorConfig.maxStackDepth) {\n            throw new Error(`Cannot open drawer: maximum stack depth (${this._behaviorConfig.maxStackDepth}) reached.`);\n        }\n\n        const attachedBaseWidth = CssLength.toString(config?.size?.width);\n        const originalBaseWidth = attachedBaseWidth ?? this._behaviorConfig.baseWidth;\n\n        // The new drawer (topmost) gets its base width directly\n        // No reduction - it sits on top\n        const computedWidth = originalBaseWidth;\n\n        // Grow existing drawers to accommodate the new one\n        // Drawers below need to be wider to create the cascade effect\n        this.growStackForNewDrawer(originalBaseWidth);\n\n        // Apply stacked class to previous drawers (new drawer is not stacked)\n        this.applyStackedClasses();\n\n        // Add to stack BEFORE applying styles so stack length is correct\n        const stackLevel = this._stack.length;\n        this._stack.push({\n            ref: drawerRef,\n            portal: portal,\n            originalBaseWidth: originalBaseWidth,\n            computedWidth: computedWidth\n        });\n\n        // Apply CSS variables to the new drawer element\n        this.applyStackStyles(drawerRef, stackLevel, computedWidth);\n\n        // Update stacked classes again after adding\n        this.applyStackedClasses();\n    }\n\n    /**\n     * Detaches a specific drawer from the stack, or the topmost if not specified.\n     * When a drawer in the middle of the stack is removed, all remaining drawers\n     * are recalculated to maintain proper stacking order.\n     *\n     * @public\n     * @override\n     * @param ref - Optional drawer reference to detach. If omitted, detaches the topmost drawer.\n     */\n    public override detach(ref?: IDrawerRef): void {\n        super.detach(ref);\n\n        if (this._stack.length === 0) {\n            return;\n        }\n\n        let indexToRemove: number;\n\n        if (ref) {\n            // Find the specific drawer in the stack by matching the drawer ID\n            indexToRemove = this._stack.findIndex((entry) => entry.ref.id === ref.id);\n\n            if (indexToRemove === -1) {\n                // Drawer not found in stack, nothing to do\n                return;\n            }\n        } else {\n            // No ref provided, remove the topmost drawer (last in array)\n            indexToRemove = this._stack.length - 1;\n        }\n\n        // Remove the drawer from the stack\n        this._stack.splice(indexToRemove, 1);\n\n        // Recalculate widths for all remaining drawers\n        // This is necessary because stack levels may have changed\n        this.recalculateStackWidths();\n\n        // Update stacked classes for visual feedback\n        this.applyStackedClasses();\n    }\n\n    /**\n     * Calculates the width for a drawer at the given stack level.\n     *\n     * @private\n     * @param stackLevel - The zero-based index of the drawer in the stack.\n     * @param baseWidthOverride - Optional override for the base width.\n     * @returns The calculated CSS width string.\n     */\n    private calculateWidth(stackLevel: number, baseWidthOverride?: string): string {\n        const baseWidth = baseWidthOverride ?? this._behaviorConfig.baseWidth;\n        const reduction = stackLevel * this._behaviorConfig.stackThreshold;\n\n        // Parse percentage-based width\n        const match = (/^(\\d+(?:\\.\\d+)?)(%.*)$/).exec(baseWidth);\n        if (match) {\n            const numericValue = parseFloat(match[1]);\n            const unit = match[2];\n            const calculatedValue = Math.max(0, numericValue - reduction);\n\n            return `${calculatedValue}${unit}`;\n        }\n\n        // For calc(), vw, or other complex values, use CSS calc\n        return `calc(${baseWidth} - ${reduction}%)`;\n    }\n\n    /**\n     * Calculates the z-index for a drawer at the given stack level.\n     *\n     * @private\n     * @param stackLevel - The zero-based index of the drawer in the stack.\n     * @returns The calculated z-index value.\n     */\n    private calculateZIndex(stackLevel: number): number {\n        const baseZIndex = 1000;\n\n        return baseZIndex + (stackLevel * this._behaviorConfig.zIndexIncrement);\n    }\n\n    /**\n     * Applies stack-related CSS variables to a drawer element.\n     * Uses requestAnimationFrame to ensure CSS transitions are properly triggered.\n     *\n     * @private\n     * @param drawerRef - The drawer reference containing the element.\n     * @param stackLevel - The stack level for this drawer.\n     * @param computedWidth - The computed width for this drawer.\n     */\n    private applyStackStyles(drawerRef: IDrawerRef, stackLevel: number, computedWidth: string): void {\n        // Set data attributes for CSS styling hooks (consistent with Foundation)\n        drawerRef.element.setAttribute('data-stack-level', String(stackLevel));\n        drawerRef.element.setAttribute('data-computed-width', computedWidth);\n\n        // Set CSS custom properties for stack styling\n        drawerRef.element.style.setProperty('--drawer-stack-level', String(stackLevel));\n        drawerRef.element.style.setProperty('--drawer-computed-width', computedWidth);\n        drawerRef.element.style.setProperty('--drawer-z-index', String(this.calculateZIndex(stackLevel)));\n\n        if (this._behaviorConfig.showStackIndicator && stackLevel > 0) {\n            const indicatorOffset = stackLevel * this._behaviorConfig.stackIndicatorOffset;\n            drawerRef.element.style.setProperty('--drawer-stack-indicator-offset', `${indicatorOffset}px`);\n        }\n\n        // Use requestAnimationFrame to ensure CSS transitions are triggered\n        // This allows the browser to complete any pending style calculations\n        // before applying the new width, enabling smooth transitions\n        requestAnimationFrame(() => {\n            // Set width via the component's setInput method for proper signal sync\n            drawerRef.component.setInput('width', computedWidth as any);\n        });\n    }\n\n    /**\n     * Recalculates and applies widths for all remaining drawers in the stack.\n     * After a drawer is closed, we need to restore each drawer to its proper width\n     * based on its new position in the stack.\n     *\n     * The stacking model:\n     * - The topmost drawer (highest index) gets the smallest width (its base width)\n     * - Each drawer below gets progressively wider by stackThreshold\n     * - If a larger drawer is in the stack, smaller drawers below it are grown to match\n     *\n     * @private\n     */\n    private recalculateStackWidths(): void {\n        if (this._stack.length === 0) {\n            return;\n        }\n\n        // Find the largest base width among remaining drawers\n        let largestBaseWidthPercentage = 0;\n        for (const entry of this._stack) {\n            const percentage = this.parseWidthToPercentage(entry.originalBaseWidth);\n            if (percentage !== null && percentage > largestBaseWidthPercentage) {\n                largestBaseWidthPercentage = percentage;\n            }\n        }\n\n        const threshold = this._behaviorConfig.stackThreshold;\n        const stackLength = this._stack.length;\n\n        this._stack.forEach((entry, index) => {\n            const entryBasePercentage = this.parseWidthToPercentage(entry.originalBaseWidth);\n\n            let newWidth: string;\n\n            if (entryBasePercentage !== null) {\n                // Calculate offset from the top of the stack\n                // Drawer at index i has (stackLength - 1 - i) drawers above it\n                const offsetFromTop = stackLength - 1 - index;\n\n                // If the largest remaining drawer is bigger than this drawer's base,\n                // grow this drawer to match (plus offset for cascade effect)\n                if (largestBaseWidthPercentage > entryBasePercentage) {\n                    const grownWidth = largestBaseWidthPercentage + (offsetFromTop * threshold);\n                    newWidth = `${grownWidth}%`;\n                } else {\n                    // Use the drawer's original base width plus offset\n                    // This restores the natural cascade where lower drawers are wider\n                    const calculatedWidth = entryBasePercentage + (offsetFromTop * threshold);\n                    newWidth = `${calculatedWidth}%`;\n                }\n            } else {\n                // Fallback for non-percentage widths\n                newWidth = this.calculateWidth(index, entry.originalBaseWidth);\n            }\n\n            entry.computedWidth = newWidth;\n            this.applyStackStyles(entry.ref, index, newWidth);\n        });\n    }\n\n    /**\n     * Parses a percentage-based width string into a numeric value.\n     *\n     * @private\n     * @param width - The CSS width string (e.g. \"50%\").\n     * @returns The numeric percentage value, or null if not a percentage.\n     */\n    private parseWidthToPercentage(width: string): number | null {\n        const match = (/^(\\d+(?:\\.\\d+)?)%$/).exec(width);\n        if (match) {\n            return parseFloat(match[1]);\n        }\n\n        return null;\n    }\n\n    /**\n     * Grows existing drawers when a new drawer is added to the stack.\n     * Each existing drawer needs to be wider than the new one to create the cascade effect.\n     *\n     * The new drawer will be at the top with its base width.\n     * Each drawer below gets progressively wider by threshold amount.\n     *\n     * @private\n     * @param newDrawerBaseWidth - The base width of the newly opened drawer.\n     */\n    private growStackForNewDrawer(newDrawerBaseWidth: string): void {\n        const newWidthPercentage = this.parseWidthToPercentage(newDrawerBaseWidth);\n        if (newWidthPercentage === null) {\n            return;\n        }\n\n        const threshold = this._behaviorConfig.stackThreshold;\n        const stackLength = this._stack.length;\n\n        // After adding the new drawer, the stack will have (stackLength + 1) items\n        // The new drawer will be at index stackLength with offsetFromTop = 0\n        // Each existing drawer needs its width updated based on its new offsetFromTop\n\n        for (let i = 0; i < stackLength; i++) {\n            const entry = this._stack[i];\n            const existingWidthPercentage = this.parseWidthToPercentage(entry.originalBaseWidth);\n\n            if (existingWidthPercentage === null) {\n                continue;\n            }\n\n            // Calculate offset from the top of the stack after adding new drawer\n            // Drawer at index i will have (stackLength - i) drawers above it\n            const offsetFromTop = stackLength - i;\n\n            // Determine the base for calculation:\n            // If the new drawer is larger, use its width as base\n            // Otherwise use this drawer's original width\n            const baseForCalculation = Math.max(newWidthPercentage, existingWidthPercentage);\n            const grownWidth = baseForCalculation + (offsetFromTop * threshold);\n            const grownWidthStr = `${grownWidth}%`;\n\n            // Update computed width and apply styles\n            entry.computedWidth = grownWidthStr;\n            this.applyStackStyles(entry.ref, i, grownWidthStr);\n        }\n    }\n\n    /**\n     * Applies the stacked CSS class to all drawers except the topmost one.\n     *\n     * @private\n     */\n    private applyStackedClasses(): void {\n        for (let i = 0; i < this._stack.length; i++) {\n            const entry = this._stack[i];\n            const isTopmost = i === this._stack.length - 1;\n\n            if (isTopmost) {\n                entry.ref.element.classList.remove('mosaik-drawer-stacked');\n            } else {\n                entry.ref.element.classList.add('mosaik-drawer-stacked');\n            }\n        }\n    }\n\n    // #endregion\n\n}\n\n/**\n * Represents a single entry in the drawer stack.\n *\n * @private\n */\ninterface IStackEntry {\n    readonly ref: IDrawerRef;\n    readonly portal: ComponentPortal<unknown>;\n    readonly originalBaseWidth: string;\n    computedWidth: string;\n}\n","// #region Imports\n\nimport { InjectionToken, Type } from '@angular/core';\nimport type { IDrawerRef } from './IDrawerRef';\nimport type { IDrawerConfig } from './IDrawerConfig';\nimport { IDrawerBehavior } from '../../Cdk';\n\n// #endregion\n\n/**\n * @public\n */\nexport const DRAWER_CONFIG = new InjectionToken<IDrawerConfig>('MOSAIK_DRAWER_CONFIG');\n\n/**\n * @public\n */\nexport const DRAWER_REF = new InjectionToken<IDrawerRef>('MOSAIK_DRAWER_REF');\n\n/**\n * @public\n */\nexport const DRAWER_REF_DATA = new InjectionToken<any>('MOSAIK_DRAWER_REF_DATA');\n\n/**\n * @public\n */\nexport const DRAWER_BEHAVIORS = new InjectionToken<ReadonlyArray<Type<IDrawerBehavior>>>('MOSAIK_DRAWER_BEHAVIORS');\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerComponent.\n * Use this token to provide default properties for the DrawerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_DEFAULT_PROPS = new InjectionToken<Partial<DrawerElement.Props>>('MOSAIK_DRAWER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot actions - The actions content slot.\n * @slot footer - The footer content slot.\n * @slot header - The header content slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer', DrawerElement),\n    inputs: ['isComposed', 'isFullScreen', 'header', 'subHeader', 'position', 'mode', 'hasShadow', 'themeName', 'animationTarget', 'enter', 'exit', 'width', 'height', 'elevation', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['open', 'close', 'toggle', 'innerOffsetWidth', 'play', 'onEnterAnimation', 'onExitAnimation', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerComponent {\n    // #region Fields\n\n    private readonly _element: DrawerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isComposed` property.\n     *\n     * @public\n     */\n    public readonly isComposed: InputSignal<DrawerElement['isComposed'] | undefined> = input<DrawerElement['isComposed']>();\n\n    /**\n     * Signal input for the `isFullScreen` property.\n     *\n     * @public\n     */\n    public readonly isFullScreen: InputSignal<DrawerElement['isFullScreen'] | undefined> = input<DrawerElement['isFullScreen']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<DrawerElement['header'] | undefined> = input<DrawerElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<DrawerElement['subHeader'] | undefined> = input<DrawerElement['subHeader']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<DrawerElement['position'] | undefined> = input<DrawerElement['position']>();\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<DrawerElement['mode'] | undefined> = input<DrawerElement['mode']>();\n\n    /**\n     * Signal input for the `hasShadow` property.\n     *\n     * @public\n     */\n    public readonly hasShadow: InputSignal<DrawerElement['hasShadow'] | undefined> = input<DrawerElement['hasShadow']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerElement['themeName'] | undefined> = input<DrawerElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<DrawerElement['animationTarget'] | undefined> = input<DrawerElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<DrawerElement['enter'] | undefined> = input<DrawerElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<DrawerElement['exit'] | undefined> = input<DrawerElement['exit']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<DrawerElement['width'] | undefined> = input<DrawerElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<DrawerElement['height'] | undefined> = input<DrawerElement['height']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<DrawerElement['elevation'] | undefined> = input<DrawerElement['elevation']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<DrawerElement['isOpen'] | undefined> = input<DrawerElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<DrawerElement['hasBackdrop'] | undefined> = input<DrawerElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<DrawerElement['pressEscapeToClose'] | undefined> = input<DrawerElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<DrawerElement['clickOutsideToClose'] | undefined> = input<DrawerElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<DrawerElement['closeable'] | undefined> = input<DrawerElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerElement['dir'] | undefined> = input<DrawerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerElement['lang'] | undefined> = input<DrawerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isComposedValue = this.isComposed();\n                if (isComposedValue !== undefined) {\n                    (this._element as any).isComposed = isComposedValue;\n                }\n\n                const isFullScreenValue = this.isFullScreen();\n                if (isFullScreenValue !== undefined) {\n                    (this._element as any).isFullScreen = isFullScreenValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const hasShadowValue = this.hasShadow();\n                if (hasShadowValue !== undefined) {\n                    (this._element as any).hasShadow = hasShadowValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerMethodNames>(method: TMethod, ...args: Parameters<DrawerComponentMethods[TMethod]>): ReturnType<DrawerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerElement>(property: TProperty, value: DrawerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerComponent.\n */\nexport type DrawerMethodNames = 'open' | 'close' | 'toggle' | 'innerOffsetWidth' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerComponent.\n */\nexport type DrawerComponentMethods = MethodMap<DrawerMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerComponent(config: Partial<DrawerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerHeaderComponent.\n * Use this token to provide default properties for the DrawerHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<DrawerHeaderElement.Props>>('MOSAIK_DRAWER_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot header - The header slot.\n * @slot prefix - The prefix slot.\n * @slot subHeader - The subHeader slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-header', DrawerHeaderElement),\n    inputs: ['text', 'subText', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerHeaderComponent {\n    // #region Fields\n\n    private readonly _element: DrawerHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DrawerHeaderElement['text'] | undefined> = input<DrawerHeaderElement['text']>();\n\n    /**\n     * Signal input for the `subText` property.\n     *\n     * @public\n     */\n    public readonly subText: InputSignal<DrawerHeaderElement['subText'] | undefined> = input<DrawerHeaderElement['subText']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerHeaderElement['themeName'] | undefined> = input<DrawerHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DrawerHeaderElement['formatter'] | undefined> = input<DrawerHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerHeaderElement['dir'] | undefined> = input<DrawerHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerHeaderElement['lang'] | undefined> = input<DrawerHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const subTextValue = this.subText();\n                if (subTextValue !== undefined) {\n                    (this._element as any).subText = subTextValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerHeaderMethodNames>(method: TMethod, ...args: Parameters<DrawerHeaderComponentMethods[TMethod]>): ReturnType<DrawerHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerHeaderElement>(property: TProperty, value: DrawerHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerHeaderComponent.\n */\nexport type DrawerHeaderMethodNames = 'onApplyTemplate' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerHeaderComponent.\n */\nexport type DrawerHeaderComponentMethods = MethodMap<DrawerHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerHeaderComponent(config: Partial<DrawerHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerHeaderTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerHeaderTextComponent.\n * Use this token to provide default properties for the DrawerHeaderTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_HEADER_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<DrawerHeaderTextElement.Props>>('MOSAIK_DRAWER_HEADER_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-header-text', DrawerHeaderTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-header-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerHeaderTextComponent {\n    // #region Fields\n\n    private readonly _element: DrawerHeaderTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_HEADER_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DrawerHeaderTextElement['text'] | undefined> = input<DrawerHeaderTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerHeaderTextElement['themeName'] | undefined> = input<DrawerHeaderTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DrawerHeaderTextElement['formatter'] | undefined> = input<DrawerHeaderTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerHeaderTextElement['dir'] | undefined> = input<DrawerHeaderTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerHeaderTextElement['lang'] | undefined> = input<DrawerHeaderTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerHeaderTextMethodNames>(method: TMethod, ...args: Parameters<DrawerHeaderTextComponentMethods[TMethod]>): ReturnType<DrawerHeaderTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerHeaderTextElement>(property: TProperty, value: DrawerHeaderTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerHeaderTextComponent.\n */\nexport type DrawerHeaderTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerHeaderTextComponent.\n */\nexport type DrawerHeaderTextComponentMethods = MethodMap<DrawerHeaderTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerHeaderTextComponent(config: Partial<DrawerHeaderTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_HEADER_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerHeaderSubTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerHeaderSubTextComponent.\n * Use this token to provide default properties for the DrawerHeaderSubTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_HEADER_SUB_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<DrawerHeaderSubTextElement.Props>>('MOSAIK_DRAWER_HEADER_SUB_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-header-sub-text', DrawerHeaderSubTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-header-sub-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerHeaderSubTextComponent {\n    // #region Fields\n\n    private readonly _element: DrawerHeaderSubTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_HEADER_SUB_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DrawerHeaderSubTextElement['text'] | undefined> = input<DrawerHeaderSubTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerHeaderSubTextElement['themeName'] | undefined> = input<DrawerHeaderSubTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DrawerHeaderSubTextElement['formatter'] | undefined> = input<DrawerHeaderSubTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerHeaderSubTextElement['dir'] | undefined> = input<DrawerHeaderSubTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerHeaderSubTextElement['lang'] | undefined> = input<DrawerHeaderSubTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerHeaderSubTextMethodNames>(method: TMethod, ...args: Parameters<DrawerHeaderSubTextComponentMethods[TMethod]>): ReturnType<DrawerHeaderSubTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerHeaderSubTextElement>(property: TProperty, value: DrawerHeaderSubTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerHeaderSubTextComponent.\n */\nexport type DrawerHeaderSubTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerHeaderSubTextComponent.\n */\nexport type DrawerHeaderSubTextComponentMethods = MethodMap<DrawerHeaderSubTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerHeaderSubTextComponent(config: Partial<DrawerHeaderSubTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_HEADER_SUB_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerContentComponent.\n * Use this token to provide default properties for the DrawerContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<DrawerContentElement.Props>>('MOSAIK_DRAWER_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content element.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-content', DrawerContentElement),\n    inputs: ['opened', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerContentComponent {\n    // #region Fields\n\n    private readonly _element: DrawerContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `opened` property.\n     *\n     * @public\n     */\n    public readonly opened: InputSignal<DrawerContentElement['opened'] | undefined> = input<DrawerContentElement['opened']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerContentElement['themeName'] | undefined> = input<DrawerContentElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerContentElement['dir'] | undefined> = input<DrawerContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerContentElement['lang'] | undefined> = input<DrawerContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const openedValue = this.opened();\n                if (openedValue !== undefined) {\n                    (this._element as any).opened = openedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerContentMethodNames>(method: TMethod, ...args: Parameters<DrawerContentComponentMethods[TMethod]>): ReturnType<DrawerContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerContentElement>(property: TProperty, value: DrawerContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerContentComponent.\n */\nexport type DrawerContentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerContentComponent.\n */\nexport type DrawerContentComponentMethods = MethodMap<DrawerContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerContentComponent(config: Partial<DrawerContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerActionsElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerActionsComponent.\n * Use this token to provide default properties for the DrawerActionsComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_ACTIONS_DEFAULT_PROPS = new InjectionToken<Partial<DrawerActionsElement.Props>>('MOSAIK_DRAWER_ACTIONS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot for action buttons.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-actions', DrawerActionsElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-actions',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerActionsComponent {\n    // #region Fields\n\n    private readonly _element: DrawerActionsElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_ACTIONS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerActionsElement['themeName'] | undefined> = input<DrawerActionsElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerActionsElement['dir'] | undefined> = input<DrawerActionsElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerActionsElement['lang'] | undefined> = input<DrawerActionsElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerActionsMethodNames>(method: TMethod, ...args: Parameters<DrawerActionsComponentMethods[TMethod]>): ReturnType<DrawerActionsComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerActionsElement>(property: TProperty, value: DrawerActionsElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerActionsComponent.\n */\nexport type DrawerActionsMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerActionsComponent.\n */\nexport type DrawerActionsComponentMethods = MethodMap<DrawerActionsMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerActionsComponent(config: Partial<DrawerActionsElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_ACTIONS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerFooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerFooterComponent.\n * Use this token to provide default properties for the DrawerFooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<DrawerFooterElement.Props>>('MOSAIK_DRAWER_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-footer', DrawerFooterElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerFooterComponent {\n    // #region Fields\n\n    private readonly _element: DrawerFooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerFooterElement['themeName'] | undefined> = input<DrawerFooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerFooterElement['dir'] | undefined> = input<DrawerFooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerFooterElement['lang'] | undefined> = input<DrawerFooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerFooterMethodNames>(method: TMethod, ...args: Parameters<DrawerFooterComponentMethods[TMethod]>): ReturnType<DrawerFooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerFooterElement>(property: TProperty, value: DrawerFooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerFooterComponent.\n */\nexport type DrawerFooterMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerFooterComponent.\n */\nexport type DrawerFooterComponentMethods = MethodMap<DrawerFooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerFooterComponent(config: Partial<DrawerFooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DismissElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DismissComponent.\n * Use this token to provide default properties for the DismissComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DISMISS_DEFAULT_PROPS = new InjectionToken<Partial<DismissElement.Props>>('MOSAIK_DISMISS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dismiss', DismissElement),\n    inputs: ['themeName', 'variant', 'appearance', 'size', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['close', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dismiss',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DismissComponent {\n    // #region Fields\n\n    private readonly _element: DismissElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DISMISS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DismissElement['themeName'] | undefined> = input<DismissElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DismissElement['variant'] | undefined> = input<DismissElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DismissElement['appearance'] | undefined> = input<DismissElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<DismissElement['size'] | undefined> = input<DismissElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DismissElement['disabled'] | undefined> = input<DismissElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<DismissElement['isFocused'] | undefined> = input<DismissElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DismissElement['dir'] | undefined> = input<DismissElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DismissElement['lang'] | undefined> = input<DismissElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DismissMethodNames>(method: TMethod, ...args: Parameters<DismissComponentMethods[TMethod]>): ReturnType<DismissComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DismissElement>(property: TProperty, value: DismissElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DismissComponent.\n */\nexport type DismissMethodNames = 'close' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DismissComponent.\n */\nexport type DismissComponentMethods = MethodMap<DismissMethodNames>;\n\n/**\n * @public\n */\nexport function provideDismissComponent(config: Partial<DismissElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DISMISS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { InjectionToken } from '@angular/core';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n// #endregion\n\n/**\n * Injection token representing the per-drawer slots registry.\n *\n * @internal\n */\nexport const DRAWER_SLOTS = new InjectionToken<IDrawerSlots>('MOSAIK_DRAWER_SLOTS');\n\n\n","//#region Imports\n\nimport { Provider, signal, TemplateRef } from '@angular/core';\nimport { DRAWER_SLOTS } from './DrawerSlotsTokens';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n//#endregion\n\n/**\n * Provides a new slots registry instance for a drawer.\n *\n * @internal\n */\nexport function provideDrawerSlots(): Provider {\n    return {\n        provide: DRAWER_SLOTS,\n        useFactory: (): IDrawerSlots => {\n            const header = signal<TemplateRef<unknown> | null>(null);\n            const content = signal<TemplateRef<unknown> | null>(null);\n            const actions = signal<TemplateRef<unknown> | null>(null);\n            const footer = signal<TemplateRef<unknown> | null>(null);\n\n            return {\n                header: header.asReadonly(),\n                content: content.asReadonly(),\n                actions: actions.asReadonly(),\n                footer: footer.asReadonly(),\n                setHeader: (t) => header.set(t),\n                setContent: (t) => content.set(t),\n                setActions: (t) => actions.set(t),\n                setFooter: (t) => footer.set(t)\n            };\n        }\n    };\n}","// #region Imports\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { ChangeDetectionStrategy, Component, TemplateRef, inject, ViewChild, ViewEncapsulation, effect } from '@angular/core';\nimport { DRAWER_CONFIG } from './DrawerTokens';\nimport { IDrawerConfig } from './IDrawerConfig';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport { DrawerComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerComponent';\nimport { DrawerHeaderComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerHeaderComponent';\nimport { DrawerHeaderTextComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerHeaderTextComponent';\nimport { DrawerHeaderSubTextComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerHeaderSubTextComponent';\nimport { DrawerContentComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerContentComponent';\nimport { DrawerActionsComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerActionsComponent';\nimport { DrawerFooterComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerFooterComponent';\nimport { ButtonComponent } from '../../../Controls/Components/Buttons/Button/ButtonComponent';\nimport { DismissComponent } from '../../../Controls/Components/Primitives/Dismiss/DismissComponent';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { OfPipe } from '../../Pipes/OfPipe';\nimport { DRAWER_SLOTS } from './Slots/DrawerSlotsTokens';\nimport { IDrawerSlots } from './Slots/IDrawerSlots';\nimport { provideDrawerSlots } from './Slots/provideDrawerSlots';\n\n// #endregion\n\n/**\n * @public\n */\n@Component({\n    selector: 'mosaik-drawer-portal',\n    templateUrl: './DrawerPortalComponent.html',\n    exportAs: 'mosaikDrawerPortal',\n    host: {\n        class: 'drawer-portal'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [\n        provideDrawerSlots()\n    ],\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        OfPipe,\n        CdkScrollable,\n        CdkPortalOutlet,\n        DrawerComponent,\n        DrawerHeaderComponent,\n        DrawerHeaderTextComponent,\n        DrawerHeaderSubTextComponent,\n        DrawerContentComponent,\n        DrawerActionsComponent,\n        DismissComponent,\n        ButtonComponent,\n        DrawerFooterComponent\n    ]\n})\nexport class DrawerPortalComponent\n    extends PortalComponent {\n\n    // #region Fields\n\n    @ViewChild(CdkPortalOutlet, { static: true })\n    private readonly _portal!: CdkPortalOutlet;\n    @ViewChild(DrawerComponent, { static: true })\n    private readonly _component!: DrawerComponent;\n    private readonly _config?: IDrawerConfig;\n    private readonly _slots: IDrawerSlots;\n    private _warnedHeader: boolean;\n    private _warnedActions: boolean;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerPortalComponent` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._config = inject(DRAWER_CONFIG, { optional: true }) ?? undefined;\n        this._slots = inject(DRAWER_SLOTS);\n        this._warnedHeader = false;\n        this._warnedActions = false;\n\n        // warn when both templates and config options are provided for the same section.\n        effect(() => {\n            // header: template vs header/subheader config\n            const hasHeaderTemplate = this._slots.header() !== null;\n            const hasHeaderConfig = Boolean(this._config?.header) || Boolean(this._config?.subheader);\n            if (hasHeaderTemplate && hasHeaderConfig && !this._warnedHeader) {\n                console.warn('[DrawerPortalComponent] Header template provided while drawerConfig.header/subheader is set. The template takes precedence.');\n                this._warnedHeader = true;\n            }\n\n            // actions: template vs actions config\n            const hasActionsTemplate = this._slots.actions() !== null;\n            const actions = this._config?.actions;\n            const hasActionsConfig = Array.isArray(actions) && actions.length > 0;\n            if (hasActionsTemplate && hasActionsConfig && !this._warnedActions) {\n                console.warn('[DrawerPortalComponent] Actions template provided while drawerConfig.actions is set. The template takes precedence.');\n                this._warnedActions = true;\n            }\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `drawer` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get drawer(): DrawerComponent {\n        return this._component;\n    }\n\n    /**\n     * Returns the `drawerRef` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get drawerConfig(): IDrawerConfig | undefined {\n        return this._config;\n    }\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @readonly\n     */\n    protected get portal(): CdkPortalOutlet {\n        return this._portal;\n    }\n\n    /**\n     * Exposes an optional custom header template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get headerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.header();\n    }\n\n    /**\n     * Exposes an optional custom actions template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get actionsTemplate(): TemplateRef<unknown> | null {\n        return this._slots.actions();\n    }\n\n    /**\n     * Exposes an optional custom footer template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get footerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.footer();\n    }\n\n    /**\n     * Exposes an optional custom content template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get contentTemplate(): TemplateRef<unknown> | null {\n        return this._slots.content();\n    }\n\n    // #endregion\n\n}\n","<mosaik-drawer [closeable]=\"(this.drawerConfig?.closeable | of | async) ?? false\"\n               [enter]=\"this.drawerConfig?.enter ?? null\"\n               [exit]=\"this.drawerConfig?.exit ?? null\"\n               [width]=\"this.drawerConfig?.size?.width ?? 'auto'\"\n               [height]=\"this.drawerConfig?.size?.height ?? 'auto'\">\n    @if (this.headerTemplate; as template) {\n    <ng-container [ngTemplateOutlet]=\"template\" />\n    } @else if ((this.drawerConfig?.header | of | async) || (this.drawerConfig?.subheader | of | async) || this.drawerConfig?.closeable) {\n    <mosaik-drawer-header>\n        <mosaik-drawer-header-text [text]=\"(this.drawerConfig?.header | of | async) ?? ''\" />\n        <mosaik-drawer-header-sub-text [text]=\"(this.drawerConfig?.subheader | of | async) ?? ''\" />\n        @if (this.drawerConfig?.closeable) {\n        <mosaik-dismiss slot=\"suffix\"\n                        (click)=\"this.drawer.invoke('close')\" />\n        }\n    </mosaik-drawer-header>\n    }\n    <mosaik-drawer-content cdkScrollable>\n        @if (this.contentTemplate; as template) {\n        <ng-container [ngTemplateOutlet]=\"template\" />\n        } @else { }\n        <ng-template cdkPortalOutlet />\n    </mosaik-drawer-content>\n    @if (this.actionsTemplate; as template) {\n    <mosaik-drawer-actions>\n        <ng-container [ngTemplateOutlet]=\"template\" />\n    </mosaik-drawer-actions>\n    } @else if (this.drawerConfig?.actions) {\n    <mosaik-drawer-actions>\n        @for (action of this.drawerConfig?.actions; track action.label) {\n        @if ((action?.visible | of | async) ?? true) {\n        <mosaik-button [appearance]=\"action?.kind === 'primary' ? 'solid' : 'plain'\"\n                       [label]=\"(action?.label | of | async) ?? ''\"\n                       [disabled]=\"(action?.disabled | of | async) ?? false\"\n                       [variant]=\"'primary'\"\n                       (click)=\"action?.handler()\" />\n        }\n        }\n    </mosaik-drawer-actions>\n    }\n    @if (this.footerTemplate; as template) {\n    <mosaik-drawer-footer>\n        <ng-container [ngTemplateOutlet]=\"template\" />\n    </mosaik-drawer-footer>\n    }\n</mosaik-drawer>","// #region Imports\n\nimport type { DrawerElement } from '@breadstone/mosaik-elements-foundation';\nimport type { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport type { ICancel } from '../../ICancel';\nimport { Subject, type Observable } from 'rxjs';\nimport type { IDrawerRef } from './IDrawerRef';\nimport { PortalRef } from '../../Portal/PortalRef';\nimport type { DrawerComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerComponent';\n\n// #endregion\n\n/**\n * @public\n */\nexport class DrawerRef<TData, TResult>\n    extends PortalRef<DrawerComponent, TData, TResult>\n    implements IDrawerRef {\n\n    // #region Fields\n\n    private readonly _positionChangedSubject: Subject<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>>;\n    private readonly _sizeChangedSubject: Subject<Partial<{\n        width: string | number;\n        height: string | number;\n    }>>;\n    private readonly _drawerElement: DrawerElement;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerRef` class.\n     *\n     * @public\n     */\n    public constructor(id: string, component: DrawerComponent, overlayRef: OverlayRef, data?: TData) {\n        super(id, component, overlayRef, data);\n\n        this._positionChangedSubject = new Subject();\n        this._sizeChangedSubject = new Subject();\n        // Get the DrawerElement from the overlay's host element\n        const drawerElement = overlayRef.hostElement.querySelector<DrawerElement>('mosaik-drawer');\n        if (!drawerElement) {\n            throw new Error('DrawerElement not found in overlay host element.');\n        }\n        this._drawerElement = drawerElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the underlying `DrawerElement`.\n     *\n     * @public\n     * @readonly\n     */\n    public get element(): DrawerElement {\n        return this._drawerElement;\n    }\n\n    // #region Methods\n\n    /**\n     * @public\n     * @override\n     */\n    public override close(result: ICancel<TResult>): void {\n        this._positionChangedSubject.complete();\n        this._sizeChangedSubject.complete();\n\n        this.component.invoke('close');\n        super.close(result);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `positionChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get positionChanged(): Observable<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>> {\n        return this._positionChangedSubject.asObservable();\n    }\n\n    /**\n     * Returns the `sizeChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get sizeChanged(): Observable<Partial<{\n        width: string | number;\n        height: string | number;\n    }>> {\n        return this._sizeChangedSubject.asObservable();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Updates the bottom sheet's position.\n     *\n     * @public\n     * @param position - New bottom sheet position.\n     */\n    public updatePosition(position: Partial<{\n        top: number | string;\n        bottom: number | string;\n        left: number | string;\n        right: number | string;\n    }>): this {\n        const strategy = this.overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n\n        if (position.left || position.right) {\n            if (position.left) {\n                strategy.left(this.parseNumber(position.left));\n            } else if (position.right) {\n                strategy.right(this.parseNumber(position.right));\n            }\n        } else {\n            strategy.centerHorizontally();\n        }\n\n        if (position.top || position.bottom) {\n            if (position.top) {\n                strategy.top(this.parseNumber(position.top));\n            } else {\n                strategy.bottom(this.parseNumber(position.bottom));\n            }\n        } else {\n            strategy.centerVertically();\n        }\n\n        this.overlayRef.updatePosition();\n        this._positionChangedSubject.next(position);\n\n        return this;\n    }\n\n    /**\n     * Updates the bottom sheet's width and height.\n     *\n     * @public\n     * @param size - New width and height of the bottom sheet.\n     */\n    public updateSize(size: Partial<{\n        width: number | string;\n        height: number | string;\n    }>): this {\n        this.overlayRef.updateSize({\n            width: size.width,\n            height: size.height\n        });\n        this.overlayRef.updatePosition();\n\n        // TODO: here is the resizing of the drawer element itself missing!\n\n        this._sizeChangedSubject.next(size);\n\n        return this;\n    }\n\n    /**\n     * @private\n     */\n    private parseNumber(size: string | number | undefined): string {\n        if (typeof size === 'string') {\n            return size;\n        } else if (typeof size === 'number') {\n            return `${size}px`;\n        }\n\n        return '';\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { OverlayRef, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, DOCUMENT, inject, Injectable, Injector, TemplateRef, Type } from '@angular/core';\nimport { EID, Key } from '@breadstone/mosaik-elements-foundation';\nimport { filter, fromEvent, takeUntil } from 'rxjs';\nimport { DrawerComponent } from '../../../Controls/Components/Overlays/Drawer/DrawerComponent';\nimport { Cancel } from '../../Cancel';\nimport { StatelessInjector } from '../../Injection/StatelessInjector';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport { IPortalProviderCacheEntry, PortalProvider } from '../../Portal/PortalProvider';\nimport { IDrawerBehavior } from './behaviors/IDrawerBehavior';\nimport { DrawerPortalComponent } from './DrawerPortalComponent';\nimport { DrawerRef } from './DrawerRef';\nimport { DRAWER_BEHAVIORS, DRAWER_CONFIG, DRAWER_REF, DRAWER_REF_DATA } from './DrawerTokens';\nimport { IDrawerConfig } from './IDrawerConfig';\nimport { IDrawerRef } from './IDrawerRef';\n\n// #endregion\n\n/**\n * @public\n */\n@Injectable()\nexport class DrawerService\n    extends PortalProvider {\n\n    // #region Fields\n\n    private readonly _document: Document;\n    private readonly _behaviors: Array<IDrawerBehavior>;\n    private _portalInjector?: Injector;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerService` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._document = inject(DOCUMENT);\n        this._behaviors = new Array<IDrawerBehavior>();\n        for (const behavior of inject(DRAWER_BEHAVIORS, { optional: true }) ?? []) {\n            this.withBehavior(behavior);\n        }\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Opens a drawer.\n     *\n     * @public\n     */\n    public show<TData = object, TResult = object>(componentTypeOrTemplateRef: Type<unknown> | TemplateRef<TData>, config?: Partial<IDrawerConfig<TData>>): IDrawerRef<TData, TResult> {\n        if (config) {\n            for (const behavior of this._behaviors) {\n                behavior.configure(config);\n            }\n        }\n\n        const overlayRef = this.createOverlay({\n            hasBackdrop: config?.hasBackdrop\n            // width: config?.size?.width,\n            // height: config?.size?.height,\n            // minWidth: config?.minSize?.width,\n            // minHeight: config?.minSize?.height,\n            // maxWidth: config?.maxSize?.width,\n            // maxHeight: config?.maxSize?.height,\n            // disposeOnNavigation: config?.closeOnNavigation\n        });\n        const portal = this.createPortal(DrawerPortalComponent, config);\n        const componentRef = this.createComponent(portal, overlayRef, DrawerPortalComponent, config);\n        this._portalInjector = componentRef.injector;\n        const drawerRef = new DrawerRef<TData, TResult>(this.createId(), componentRef.instance.drawer, overlayRef, config?.data);\n\n        this.createContent(componentTypeOrTemplateRef, componentRef.instance, drawerRef, config);\n        this.prepareComponent(overlayRef, componentRef.instance.drawer, drawerRef, config);\n        this.attach(overlayRef, portal);\n\n        componentRef.instance.drawer.invoke('open');\n\n        this._behaviors.forEach((x) => x.attach(drawerRef, portal, config));\n\n        return drawerRef;\n    }\n\n    /**\n     * Closes a drawer.\n     *\n     * @public\n     */\n    public close(ref: IDrawerRef): void {\n        this.detach(ref.overlayRef);\n    }\n\n    /**\n     * Checks if the drawer is currently shown.\n     *\n     * @public\n     */\n    public isShown(ref: IDrawerRef): boolean {\n        return this.cache.some((x) => x.overlay === ref.overlayRef && x.portal.isAttached);\n    }\n\n    /**\n     * Adds a drawer behavior to the service.\n     *\n     * @public\n     */\n    public withBehavior(type: Type<IDrawerBehavior>): Omit<this, 'withBehavior'> {\n        const behavior = this.injector.get(type);\n        this._behaviors.push(behavior);\n\n        return this;\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createId(): string {\n        return EID.next('mosaik-drawer');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPortalInjector<TData>(config?: IDrawerConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [DRAWER_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createContentInjector<TData>(ref: IDrawerRef<TData>, config?: IDrawerConfig<TData>): Injector {\n        const parent = this._portalInjector ?? this.injector;\n        return new StatelessInjector(parent, [\n            [DRAWER_REF, ref],\n            [DRAWER_REF_DATA, ref.data],\n            [DRAWER_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPositionStrategy(): PositionStrategy {\n        return this.overlayPositionBuilder\n            .global()\n            .centerVertically()\n            .centerHorizontally();\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createScrollStrategy(): ScrollStrategy {\n        return this.overlay.scrollStrategies.block();\n    }\n\n    /**\n     * @protected\n     */\n    protected override createComponent<TPortal extends PortalComponent>(portal: ComponentPortal<TPortal>, overlayRef: OverlayRef, _component: Type<TPortal>, config?: Partial<IDrawerConfig>): ComponentRef<TPortal> {\n        if (config?.singleton) {\n            const overlayRefs = this.cache.filter((x) => x.overlay !== overlayRef);\n            const detachments = new Array<IPortalProviderCacheEntry>();\n\n            for (const ref of overlayRefs) {\n                ref.overlay.detach();\n                detachments.push(ref);\n            }\n\n            const sub = overlayRef.detachments().subscribe(() => {\n                sub.unsubscribe();\n                for (const entry of detachments) {\n                    entry.overlay.attach(entry.portal);\n                }\n            });\n        }\n\n        const containerRef = overlayRef.attach(portal);\n\n        return containerRef;\n    }\n\n    /**\n     * @private\n     */\n    private prepareComponent<TData, TResult>(overlayRef: OverlayRef, component: DrawerComponent, drawerRef: DrawerRef<TData, TResult>, config?: Partial<IDrawerConfig<TData>>): void {\n        if (config) {\n            // apply all properties to the component using setInput for Signal Inputs compatibility\n            Object.keys(config).forEach((p) => {\n                if (p in component && typeof component.setInput === 'function') {\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    component.setInput(p as any, (config as Record<string, unknown>)[p]);\n                }\n            });\n\n            if (config.clickOutsideToClose) {\n                const backdropClickSubscription = overlayRef.backdropClick().subscribe(() => {\n                    backdropClickSubscription.unsubscribe();\n                    drawerRef.close(Cancel.negative());\n                });\n                const outsidePointerEventsSubscription = overlayRef.outsidePointerEvents().subscribe(() => {\n                    outsidePointerEventsSubscription.unsubscribe();\n                    drawerRef.close(Cancel.negative());\n                });\n            }\n\n            if (config.pressEscapeToClose) {\n                const documentKeyupSubscription = fromEvent<KeyboardEvent>(this._document, 'keyup').pipe(\n                    filter((event) => event.keyCode === Key.Escape),\n                    takeUntil(drawerRef.closed)\n                )\n                    .subscribe(() => {\n                        documentKeyupSubscription.unsubscribe();\n                        drawerRef.close(Cancel.negative());\n                    });\n            }\n        }\n\n        const closedSubscription = component.closed.subscribe(() => {\n            closedSubscription.unsubscribe();\n            this.detach(overlayRef);\n            // Pass the specific drawerRef to detach so behaviors can remove the correct drawer\n            this._behaviors.forEach((x) => x.detach(drawerRef));\n            // Note: Do NOT clear behaviors here - they should persist for other open drawers\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders, type Provider, type Type } from '@angular/core';\nimport type { IDrawerStackBehaviorConfig } from '@breadstone/mosaik-elements-foundation';\nimport { DrawerService } from './DrawerService';\nimport { DRAWER_BEHAVIORS } from './DrawerTokens';\nimport { DRAWER_BREAKPOINT_BEHAVIOR_CONFIG, DrawerBreakpointBehavior, type IDrawerBreakpointBehaviorConfig } from './behaviors/DrawerBreakpointBehavior';\nimport { DRAWER_STACK_BEHAVIOR_CONFIG, DrawerStackBehavior } from './behaviors/DrawerStackBehavior';\nimport type { IDrawerBehavior } from './behaviors/IDrawerBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport interface IDrawerFeature {\n    id: string;\n    behaviorType: Type<IDrawerBehavior>;\n    provide(): ReadonlyArray<Provider>;\n}\n\n/**\n * Provides the drawer service.\n *\n * @public\n */\nexport function provideDrawers(...withBehaviors: ReadonlyArray<IDrawerFeature>): EnvironmentProviders {\n    const behaviorTypes = withBehaviors.map((x) => x.behaviorType);\n\n    return makeEnvironmentProviders([{\n        provide: DRAWER_BEHAVIORS,\n        useValue: behaviorTypes\n    }, {\n        provide: DrawerService,\n        useClass: DrawerService\n    }, ...withBehaviors.flatMap((x) => x.provide())]);\n}\n\n/**\n * @public\n */\nexport function withDrawerBreakpointBehavior(config?: IDrawerBreakpointBehaviorConfig): IDrawerFeature {\n    return {\n        id: 'drawerBreakpointBehavior',\n        behaviorType: DrawerBreakpointBehavior,\n        provide: () => [{\n            provide: DRAWER_BREAKPOINT_BEHAVIOR_CONFIG,\n            useValue: config\n        }, {\n            provide: DrawerBreakpointBehavior,\n            useClass: DrawerBreakpointBehavior\n        }]\n    };\n}\n\n/**\n * @public\n */\nexport function withDrawerStackBehavior(config?: Partial<IDrawerStackBehaviorConfig>): IDrawerFeature {\n    return {\n        id: 'drawerStackBehavior',\n        behaviorType: DrawerStackBehavior,\n        provide: () => [{\n            provide: DRAWER_STACK_BEHAVIOR_CONFIG,\n            useValue: config\n        }, {\n            provide: DrawerStackBehavior,\n            useClass: DrawerStackBehavior\n        }]\n    };\n}","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DRAWER_SLOTS } from './DrawerSlotsTokens';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside drawer content as custom actions section.\n * Usage:\n * <ng-template mosaikDrawerActions> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDrawerActions]'\n})\nexport class DrawerActionsDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDrawerSlots = inject(DRAWER_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerActionsDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setActions(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DRAWER_SLOTS } from './DrawerSlotsTokens';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside drawer content as custom content section, replacing the default portal outlet.\n * Usage:\n * <ng-template mosaikDrawerContent> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDrawerContent]'\n})\nexport class DrawerContentDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDrawerSlots = inject(DRAWER_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerContentDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setContent(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DRAWER_SLOTS } from './DrawerSlotsTokens';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside drawer content as custom footer section.\n * Usage:\n * <ng-template mosaikDrawerFooter> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDrawerFooter]'\n})\nexport class DrawerFooterDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDrawerSlots = inject(DRAWER_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerFooterDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setFooter(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { DRAWER_SLOTS } from './DrawerSlotsTokens';\nimport { IDrawerSlots } from './IDrawerSlots';\n\n// #endregion\n\n/**\n * Marks an ng-template inside drawer content as custom header.\n * Usage:\n * <ng-template mosaikDrawerHeader> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikDrawerHeader]'\n})\nexport class DrawerHeaderDirective {\n\n    // #region Fields\n\n    private readonly _slots: IDrawerSlots = inject(DRAWER_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DrawerHeaderDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setHeader(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { InjectionToken, type Type } from '@angular/core';\nimport type { IMessageBoxRef } from './IMessageBoxRef';\nimport type { IMessageBoxConfig } from './IMessageBoxConfig';\nimport type { IMessageBoxBehavior } from './IMessageBoxBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport const MESSAGE_BOX_CONFIG = new InjectionToken<IMessageBoxConfig>('MOSAIK_MESSAGE_BOX_CONFIG');\n\n/**\n * @public\n */\nexport const MESSAGE_BOX_REF = new InjectionToken<IMessageBoxRef>('MOSAIK_MESSAGE_BOX_REF');\n\n/**\n * @public\n */\nexport const MESSAGE_BOX_REF_DATA = new InjectionToken<unknown>('MOSAIK_MESSAGE_BOX_REF_DATA');\n\n/**\n * @public\n */\nexport const MESSAGE_BOX_BEHAVIORS = new InjectionToken<ReadonlyArray<Type<IMessageBoxBehavior>>>('MOSAIK_MESSAGE_BOX_BEHAVIORS');\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MessageBoxElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MessageBoxComponent.\n * Use this token to provide default properties for the MessageBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MESSAGE_BOX_DEFAULT_PROPS = new InjectionToken<Partial<MessageBoxElement.Props>>('MOSAIK_MESSAGE_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Action buttons and controls area\n * @slot  - Default content area for main dialog body\n * @slot footer - Dialog footer section for additional information\n * @slot header - Dialog header section for titles and controls\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-message-box', MessageBoxElement),\n    inputs: ['intl', 'header', 'subHeader', 'message', 'buttons', 'icon', 'formatter', 'variant', 'dragging', 'offsetX', 'offsetY', 'isFullScreen', 'isDraggable', 'themeName', 'animationTarget', 'enter', 'exit', 'width', 'height', 'elevation', 'appearance', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['open', 'close', 'play', 'onEnterAnimation', 'onExitAnimation', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-message-box',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MessageBoxComponent {\n    // #region Fields\n\n    private readonly _element: MessageBoxElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('dialogResult', (e) => this.dialogResult.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MESSAGE_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<MessageBoxElement['intl'] | undefined> = input<MessageBoxElement['intl']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<MessageBoxElement['header'] | undefined> = input<MessageBoxElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<MessageBoxElement['subHeader'] | undefined> = input<MessageBoxElement['subHeader']>();\n\n    /**\n     * Signal input for the `message` property.\n     *\n     * @public\n     */\n    public readonly message: InputSignal<MessageBoxElement['message'] | undefined> = input<MessageBoxElement['message']>();\n\n    /**\n     * Signal input for the `buttons` property.\n     *\n     * @public\n     */\n    public readonly buttons: InputSignal<MessageBoxElement['buttons'] | undefined> = input<MessageBoxElement['buttons']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<MessageBoxElement['icon'] | undefined> = input<MessageBoxElement['icon']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<MessageBoxElement['formatter'] | undefined> = input<MessageBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MessageBoxElement['variant'] | undefined> = input<MessageBoxElement['variant']>();\n\n    /**\n     * Signal input for the `dragging` property.\n     *\n     * @public\n     */\n    public readonly dragging: InputSignal<MessageBoxElement['dragging'] | undefined> = input<MessageBoxElement['dragging']>();\n\n    /**\n     * Signal input for the `offsetX` property.\n     *\n     * @public\n     */\n    public readonly offsetX: InputSignal<MessageBoxElement['offsetX'] | undefined> = input<MessageBoxElement['offsetX']>();\n\n    /**\n     * Signal input for the `offsetY` property.\n     *\n     * @public\n     */\n    public readonly offsetY: InputSignal<MessageBoxElement['offsetY'] | undefined> = input<MessageBoxElement['offsetY']>();\n\n    /**\n     * Signal input for the `isFullScreen` property.\n     *\n     * @public\n     */\n    public readonly isFullScreen: InputSignal<MessageBoxElement['isFullScreen'] | undefined> = input<MessageBoxElement['isFullScreen']>();\n\n    /**\n     * Signal input for the `isDraggable` property.\n     *\n     * @public\n     */\n    public readonly isDraggable: InputSignal<MessageBoxElement['isDraggable'] | undefined> = input<MessageBoxElement['isDraggable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MessageBoxElement['themeName'] | undefined> = input<MessageBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<MessageBoxElement['animationTarget'] | undefined> = input<MessageBoxElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<MessageBoxElement['enter'] | undefined> = input<MessageBoxElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<MessageBoxElement['exit'] | undefined> = input<MessageBoxElement['exit']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<MessageBoxElement['width'] | undefined> = input<MessageBoxElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<MessageBoxElement['height'] | undefined> = input<MessageBoxElement['height']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<MessageBoxElement['elevation'] | undefined> = input<MessageBoxElement['elevation']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<MessageBoxElement['appearance'] | undefined> = input<MessageBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<MessageBoxElement['isOpen'] | undefined> = input<MessageBoxElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<MessageBoxElement['hasBackdrop'] | undefined> = input<MessageBoxElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<MessageBoxElement['pressEscapeToClose'] | undefined> = input<MessageBoxElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<MessageBoxElement['clickOutsideToClose'] | undefined> = input<MessageBoxElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<MessageBoxElement['closeable'] | undefined> = input<MessageBoxElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MessageBoxElement['dir'] | undefined> = input<MessageBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MessageBoxElement['lang'] | undefined> = input<MessageBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const messageValue = this.message();\n                if (messageValue !== undefined) {\n                    (this._element as any).message = messageValue;\n                }\n\n                const buttonsValue = this.buttons();\n                if (buttonsValue !== undefined) {\n                    (this._element as any).buttons = buttonsValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const draggingValue = this.dragging();\n                if (draggingValue !== undefined) {\n                    (this._element as any).dragging = draggingValue;\n                }\n\n                const offsetXValue = this.offsetX();\n                if (offsetXValue !== undefined) {\n                    (this._element as any).offsetX = offsetXValue;\n                }\n\n                const offsetYValue = this.offsetY();\n                if (offsetYValue !== undefined) {\n                    (this._element as any).offsetY = offsetYValue;\n                }\n\n                const isFullScreenValue = this.isFullScreen();\n                if (isFullScreenValue !== undefined) {\n                    (this._element as any).isFullScreen = isFullScreenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `dialogResult` event.\n     *\n     * @public\n     */\n    public readonly dialogResult: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MessageBoxMethodNames>(method: TMethod, ...args: Parameters<MessageBoxComponentMethods[TMethod]>): ReturnType<MessageBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MessageBoxElement>(property: TProperty, value: MessageBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MessageBoxComponent.\n */\nexport type MessageBoxMethodNames = 'open' | 'close' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MessageBoxComponent.\n */\nexport type MessageBoxComponentMethods = MethodMap<MessageBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideMessageBoxComponent(config: Partial<MessageBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MESSAGE_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, inject, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MESSAGE_BOX_CONFIG } from './MessageBoxTokens';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport { MessageBoxComponent } from '../../../Controls/Components/Overlays/MessageBox/MessageBoxComponent';\nimport type { IMessageBoxConfig } from './IMessageBoxConfig';\n\n// #endregion\n\n/**\n * @public\n */\n@Component({\n    selector: 'mosaik-message-box-portal',\n    templateUrl: './MessageBoxPortalComponent.html',\n    exportAs: 'mosaikMessageBoxPortal',\n    host: {\n        class: 'message-box-portal'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        CdkPortalOutlet,\n        MessageBoxComponent\n    ]\n})\nexport class MessageBoxPortalComponent\n    extends PortalComponent {\n\n    // #region Fields\n\n    @ViewChild(CdkPortalOutlet, { static: true })\n    private readonly _portal!: CdkPortalOutlet;\n    @ViewChild(MessageBoxComponent, { static: true })\n    private readonly _component!: MessageBoxComponent;\n    private readonly _config?: IMessageBoxConfig;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `MessageBoxPortalComponent` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._config = inject(MESSAGE_BOX_CONFIG, { optional: true }) ?? undefined;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @override\n     * @readonly\n     */\n    protected override get portal(): CdkPortalOutlet {\n        return this._portal;\n    }\n\n    /**\n     * Returns the `messageBox` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get messageBox(): MessageBoxComponent {\n        return this._component;\n    }\n\n    /**\n     * Returns the `config` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get config(): IMessageBoxConfig | undefined {\n        return this._config;\n    }\n\n    // #endregion\n\n}\n","<mosaik-message-box>\n    <ng-template cdkPortalOutlet></ng-template>\n</mosaik-message-box>","// #region Imports\n\nimport type { MessageBoxElement } from '@breadstone/mosaik-elements-foundation';\nimport type { OverlayRef } from '@angular/cdk/overlay';\nimport type { IMessageBoxRef } from './IMessageBoxRef';\nimport { PortalRef } from '../../Portal/PortalRef';\nimport type { MessageBoxComponent } from '../../../Controls/Components/Overlays/MessageBox/MessageBoxComponent';\n\n// #endregion\n\n/**\n * @public\n */\nexport class MessageBoxRef<TData, TResult>\n    extends PortalRef<MessageBoxComponent, TData, TResult>\n    implements IMessageBoxRef {\n\n    // #region Fields\n\n    private readonly _messageBoxElement: MessageBoxElement;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `MessageBoxRef` class.\n     *\n     * @public\n     */\n    public constructor(id: string, component: MessageBoxComponent, overlayRef: OverlayRef, data?: TData) {\n        super(id, component, overlayRef, data);\n\n        // Get the MessageBoxElement from the overlay's host element\n        const messageBoxElement = overlayRef.hostElement.querySelector<MessageBoxElement>('mosaik-message-box');\n        if (!messageBoxElement) {\n            throw new Error('MessageBoxElement not found in overlay host element.');\n        }\n        this._messageBoxElement = messageBoxElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the underlying `MessageBoxElement`.\n     *\n     * @public\n     * @readonly\n     */\n    public get element(): MessageBoxElement {\n        return this._messageBoxElement;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { OverlayRef, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { DOCUMENT, inject, Inject, Injectable, Injector, Optional, type Type } from '@angular/core';\nimport { EID, Key, MessageBoxResult } from '@breadstone/mosaik-elements-foundation';\nimport { filter, fromEvent, takeUntil } from 'rxjs';\nimport type { MessageBoxComponent } from '../../../Controls/Components/Overlays/MessageBox/MessageBoxComponent';\nimport { Cancel } from '../../Cancel';\nimport { StatelessInjector } from '../../Injection/StatelessInjector';\nimport { PortalProvider } from '../../Portal/PortalProvider';\nimport type { IMessageBoxBehavior } from './IMessageBoxBehavior';\nimport type { IMessageBoxConfig } from './IMessageBoxConfig';\nimport type { IMessageBoxRef } from './IMessageBoxRef';\nimport { MessageBoxPortalComponent } from './MessageBoxPortalComponent';\nimport { MessageBoxRef } from './MessageBoxRef';\nimport { MESSAGE_BOX_BEHAVIORS, MESSAGE_BOX_CONFIG, MESSAGE_BOX_REF, MESSAGE_BOX_REF_DATA } from './MessageBoxTokens';\n\n// #endregion\n\n/**\n * Angular service for managing message box overlays.\n * Uses Angular CDK Overlay for positioning and lifecycle management.\n * Provides own RxJS-based escape key handling for consistency with other overlay services.\n *\n * @public\n */\n@Injectable()\nexport class MessageBoxService\n    extends PortalProvider {\n\n    // #region Fields\n\n    private readonly _document: Document;\n    private readonly _messageBoxBehaviors: Array<IMessageBoxBehavior>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `MessageBoxService` class.\n     *\n     * @public\n     */\n    public constructor(\n        @Optional() @Inject(MESSAGE_BOX_CONFIG) config: Partial<IMessageBoxConfig> | null = null,\n        @Optional() @Inject(MESSAGE_BOX_BEHAVIORS) behaviors: ReadonlyArray<Type<IMessageBoxBehavior>> | null = null\n    ) {\n        super();\n\n        this._document = inject(DOCUMENT);\n        this._messageBoxBehaviors = new Array<IMessageBoxBehavior>();\n\n        for (const behavior of behaviors ?? []) {\n            this.withBehavior(behavior);\n        }\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Opens a message box with the given configuration.\n     *\n     * @public\n     */\n    public show<TData = object>(config?: Partial<IMessageBoxConfig<TData>>): IMessageBoxRef<TData, MessageBoxResult> {\n        if (config) {\n            for (const behavior of this._messageBoxBehaviors) {\n                behavior.configure(config);\n            }\n        }\n\n        const overlayRef = this.createOverlay({\n            hasBackdrop: config?.hasBackdrop ?? true,\n            disposeOnNavigation: config?.closeOnNavigation\n        });\n        const portal = this.createPortal(MessageBoxPortalComponent, config);\n        const componentRef = this.createComponent(portal, overlayRef, MessageBoxPortalComponent, config);\n        const messageBoxRef = new MessageBoxRef<TData, MessageBoxResult>(this.createId(), componentRef.instance.messageBox, overlayRef, config?.data);\n\n        this.prepareComponent(overlayRef, componentRef.instance.messageBox, messageBoxRef, config);\n        this.attach(overlayRef, portal);\n\n        componentRef.instance.messageBox.invoke('open');\n\n        this._messageBoxBehaviors.forEach((x) => x.attach(messageBoxRef, portal));\n\n        return messageBoxRef;\n    }\n\n    /**\n     * Closes a message box.\n     *\n     * @public\n     */\n    public close(ref: IMessageBoxRef): void {\n        this.detach(ref.overlayRef);\n    }\n\n    /**\n     * Checks if the message box is currently shown.\n     *\n     * @public\n     */\n    public isShown(ref: IMessageBoxRef): boolean {\n        return this.cache.some((x) => x.overlay === ref.overlayRef && x.portal.isAttached);\n    }\n\n    /**\n     * Adds a message box behavior to the service.\n     *\n     * @public\n     */\n    public withBehavior(type: Type<IMessageBoxBehavior>): Omit<this, 'withBehavior'> {\n        const behavior = this.injector.get(type);\n        this._messageBoxBehaviors.push(behavior);\n\n        return this;\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createId(): string {\n        return EID.next('mosaik-message-box');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPortalInjector<TData>(config?: IMessageBoxConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [MESSAGE_BOX_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createContentInjector<TData>(ref: IMessageBoxRef<TData>, config?: IMessageBoxConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [MESSAGE_BOX_REF, ref],\n            [MESSAGE_BOX_REF_DATA, ref.data],\n            [MESSAGE_BOX_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPositionStrategy(): PositionStrategy {\n        return this.overlayPositionBuilder\n            .global()\n            .centerVertically()\n            .centerHorizontally();\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createScrollStrategy(): ScrollStrategy {\n        return this.overlay.scrollStrategies.block();\n    }\n\n    /**\n     * @private\n     */\n    private prepareComponent<TData>(overlayRef: OverlayRef, component: MessageBoxComponent, messageBoxRef: MessageBoxRef<TData, MessageBoxResult>, config?: Partial<IMessageBoxConfig<TData>>): void {\n        if (config) {\n            // apply all properties to the component using setInput for Signal Inputs compatibility\n            Object.keys(config).forEach((p) => {\n                if (p in component && typeof component.setInput === 'function') {\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    component.setInput(p as any, (config as Record<string, unknown>)[p]);\n                }\n            });\n\n            if (config.clickOutsideToClose) {\n                const backdropClickSubscription = overlayRef.backdropClick().subscribe(() => {\n                    backdropClickSubscription.unsubscribe();\n                    messageBoxRef.close(Cancel.negative());\n                });\n                const outsidePointerEventsSubscription = overlayRef.outsidePointerEvents().subscribe(() => {\n                    outsidePointerEventsSubscription.unsubscribe();\n                    messageBoxRef.close(Cancel.negative());\n                });\n            }\n\n            if (config.pressEscapeToClose) {\n                const documentKeyupSubscription = fromEvent<KeyboardEvent>(this._document, 'keyup').pipe(\n                    filter((event) => event.keyCode === Key.Escape),\n                    takeUntil(messageBoxRef.closed)\n                )\n                    .subscribe(() => {\n                        documentKeyupSubscription.unsubscribe();\n                        messageBoxRef.close(Cancel.negative());\n                    });\n            }\n        }\n\n        const closedSubscription = component.closed.subscribe(() => {\n            closedSubscription.unsubscribe();\n            this.detach(overlayRef);\n            this._messageBoxBehaviors.forEach((x) => x.detach());\n            this._messageBoxBehaviors.length = 0;\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders, type Type } from '@angular/core';\nimport { MessageBoxService } from './MessageBoxService';\nimport type { IMessageBoxConfig } from './IMessageBoxConfig';\nimport type { IMessageBoxBehavior } from './IMessageBoxBehavior';\nimport { MESSAGE_BOX_BEHAVIORS, MESSAGE_BOX_CONFIG } from './MessageBoxTokens';\n\n// #endregion\n\n/**\n * Options for providing the message box service.\n *\n * @public\n */\nexport interface IProvideMessageBoxesOptions {\n\n    /**\n     * Default configuration for message boxes.\n     */\n    config?: Partial<IMessageBoxConfig>;\n\n    /**\n     * Behaviors to apply to message boxes.\n     */\n    behaviors?: ReadonlyArray<Type<IMessageBoxBehavior>>;\n\n}\n\n/**\n * Provides the message box service with optional configuration.\n *\n * @public\n */\nexport function provideMessageBoxes(options?: IProvideMessageBoxesOptions): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        MessageBoxService,\n        options?.config ? { provide: MESSAGE_BOX_CONFIG, useValue: options.config } : [],\n        options?.behaviors ? { provide: MESSAGE_BOX_BEHAVIORS, useValue: options.behaviors } : []\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetComponent.\n * Use this token to provide default properties for the SheetComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_DEFAULT_PROPS = new InjectionToken<Partial<SheetElement.Props>>('MOSAIK_SHEET_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - The content slot for `SheetContentElement`.\n * @slot footer - The footer slot for `SheetFooterElement`.\n * @slot header - The header slot for `SheetHeaderElement`.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet', SheetElement),\n    inputs: ['height', 'themeName', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['open', 'close', 'partial', 'toggle', 'onBackdrop', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetComponent {\n    // #region Fields\n\n    private readonly _element: SheetElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<SheetElement['height'] | undefined> = input<SheetElement['height']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetElement['themeName'] | undefined> = input<SheetElement['themeName']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<SheetElement['isOpen'] | undefined> = input<SheetElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<SheetElement['hasBackdrop'] | undefined> = input<SheetElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<SheetElement['pressEscapeToClose'] | undefined> = input<SheetElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<SheetElement['clickOutsideToClose'] | undefined> = input<SheetElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<SheetElement['closeable'] | undefined> = input<SheetElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetElement['dir'] | undefined> = input<SheetElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetElement['lang'] | undefined> = input<SheetElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetMethodNames>(method: TMethod, ...args: Parameters<SheetComponentMethods[TMethod]>): ReturnType<SheetComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetElement>(property: TProperty, value: SheetElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetComponent.\n */\nexport type SheetMethodNames = 'open' | 'close' | 'partial' | 'toggle' | 'onBackdrop' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetComponent.\n */\nexport type SheetComponentMethods = MethodMap<SheetMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetComponent(config: Partial<SheetElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetContentComponent.\n * Use this token to provide default properties for the SheetContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<SheetContentElement.Props>>('MOSAIK_SHEET_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for content children.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet-content', SheetContentElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetContentComponent {\n    // #region Fields\n\n    private readonly _element: SheetContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<SheetContentElement['text'] | undefined> = input<SheetContentElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetContentElement['themeName'] | undefined> = input<SheetContentElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SheetContentElement['formatter'] | undefined> = input<SheetContentElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetContentElement['dir'] | undefined> = input<SheetContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetContentElement['lang'] | undefined> = input<SheetContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetContentMethodNames>(method: TMethod, ...args: Parameters<SheetContentComponentMethods[TMethod]>): ReturnType<SheetContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetContentElement>(property: TProperty, value: SheetContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetContentComponent.\n */\nexport type SheetContentMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetContentComponent.\n */\nexport type SheetContentComponentMethods = MethodMap<SheetContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetContentComponent(config: Partial<SheetContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetFooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetFooterComponent.\n * Use this token to provide default properties for the SheetFooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<SheetFooterElement.Props>>('MOSAIK_SHEET_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet-footer', SheetFooterElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetFooterComponent {\n    // #region Fields\n\n    private readonly _element: SheetFooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetFooterElement['themeName'] | undefined> = input<SheetFooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetFooterElement['dir'] | undefined> = input<SheetFooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetFooterElement['lang'] | undefined> = input<SheetFooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetFooterMethodNames>(method: TMethod, ...args: Parameters<SheetFooterComponentMethods[TMethod]>): ReturnType<SheetFooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetFooterElement>(property: TProperty, value: SheetFooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetFooterComponent.\n */\nexport type SheetFooterMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetFooterComponent.\n */\nexport type SheetFooterComponentMethods = MethodMap<SheetFooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetFooterComponent(config: Partial<SheetFooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetHeaderComponent.\n * Use this token to provide default properties for the SheetHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<SheetHeaderElement.Props>>('MOSAIK_SHEET_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot header - The header slot.\n * @slot prefix - The prefix slot.\n * @slot subHeader - The subHeader slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet-header', SheetHeaderElement),\n    inputs: ['text', 'subText', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetHeaderComponent {\n    // #region Fields\n\n    private readonly _element: SheetHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<SheetHeaderElement['text'] | undefined> = input<SheetHeaderElement['text']>();\n\n    /**\n     * Signal input for the `subText` property.\n     *\n     * @public\n     */\n    public readonly subText: InputSignal<SheetHeaderElement['subText'] | undefined> = input<SheetHeaderElement['subText']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetHeaderElement['themeName'] | undefined> = input<SheetHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SheetHeaderElement['formatter'] | undefined> = input<SheetHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetHeaderElement['dir'] | undefined> = input<SheetHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetHeaderElement['lang'] | undefined> = input<SheetHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const subTextValue = this.subText();\n                if (subTextValue !== undefined) {\n                    (this._element as any).subText = subTextValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetHeaderMethodNames>(method: TMethod, ...args: Parameters<SheetHeaderComponentMethods[TMethod]>): ReturnType<SheetHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetHeaderElement>(property: TProperty, value: SheetHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetHeaderComponent.\n */\nexport type SheetHeaderMethodNames = 'onApplyTemplate' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetHeaderComponent.\n */\nexport type SheetHeaderComponentMethods = MethodMap<SheetHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetHeaderComponent(config: Partial<SheetHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetHeaderSubTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetHeaderSubTextComponent.\n * Use this token to provide default properties for the SheetHeaderSubTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_HEADER_SUB_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<SheetHeaderSubTextElement.Props>>('MOSAIK_SHEET_HEADER_SUB_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet-header-sub-text', SheetHeaderSubTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet-header-sub-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetHeaderSubTextComponent {\n    // #region Fields\n\n    private readonly _element: SheetHeaderSubTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_HEADER_SUB_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<SheetHeaderSubTextElement['text'] | undefined> = input<SheetHeaderSubTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetHeaderSubTextElement['themeName'] | undefined> = input<SheetHeaderSubTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SheetHeaderSubTextElement['formatter'] | undefined> = input<SheetHeaderSubTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetHeaderSubTextElement['dir'] | undefined> = input<SheetHeaderSubTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetHeaderSubTextElement['lang'] | undefined> = input<SheetHeaderSubTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetHeaderSubTextMethodNames>(method: TMethod, ...args: Parameters<SheetHeaderSubTextComponentMethods[TMethod]>): ReturnType<SheetHeaderSubTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetHeaderSubTextElement>(property: TProperty, value: SheetHeaderSubTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetHeaderSubTextComponent.\n */\nexport type SheetHeaderSubTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetHeaderSubTextComponent.\n */\nexport type SheetHeaderSubTextComponentMethods = MethodMap<SheetHeaderSubTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetHeaderSubTextComponent(config: Partial<SheetHeaderSubTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_HEADER_SUB_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SheetHeaderTextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SheetHeaderTextComponent.\n * Use this token to provide default properties for the SheetHeaderTextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SHEET_HEADER_TEXT_DEFAULT_PROPS = new InjectionToken<Partial<SheetHeaderTextElement.Props>>('MOSAIK_SHEET_HEADER_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sheet-header-text', SheetHeaderTextElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sheet-header-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SheetHeaderTextComponent {\n    // #region Fields\n\n    private readonly _element: SheetHeaderTextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SHEET_HEADER_TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<SheetHeaderTextElement['text'] | undefined> = input<SheetHeaderTextElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SheetHeaderTextElement['themeName'] | undefined> = input<SheetHeaderTextElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SheetHeaderTextElement['formatter'] | undefined> = input<SheetHeaderTextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SheetHeaderTextElement['dir'] | undefined> = input<SheetHeaderTextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SheetHeaderTextElement['lang'] | undefined> = input<SheetHeaderTextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SheetHeaderTextMethodNames>(method: TMethod, ...args: Parameters<SheetHeaderTextComponentMethods[TMethod]>): ReturnType<SheetHeaderTextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SheetHeaderTextElement>(property: TProperty, value: SheetHeaderTextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SheetHeaderTextComponent.\n */\nexport type SheetHeaderTextMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SheetHeaderTextComponent.\n */\nexport type SheetHeaderTextComponentMethods = MethodMap<SheetHeaderTextMethodNames>;\n\n/**\n * @public\n */\nexport function provideSheetHeaderTextComponent(config: Partial<SheetHeaderTextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SHEET_HEADER_TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { InjectionToken, type Type } from '@angular/core';\nimport type { ISheetBehavior } from './ISheetBehavior';\nimport type { ISheetConfig } from './ISheetConfig';\nimport type { ISheetRef } from './ISheetRef';\n\n// #endregion\n\n/**\n * @public\n */\nexport const SHEET_CONFIG = new InjectionToken<ISheetConfig>('MOSAIK_SHEET_CONFIG');\n\n/**\n * @public\n */\nexport const SHEET_REF = new InjectionToken<ISheetRef>('MOSAIK_SHEET_REF');\n\n/**\n * @public\n */\nexport const SHEET_REF_DATA = new InjectionToken<unknown>('MOSAIK_SHEET_REF_DATA');\n\n/**\n * @public\n */\nexport const SHEET_BEHAVIORS = new InjectionToken<ReadonlyArray<Type<ISheetBehavior>>>('MOSAIK_SHEET_BEHAVIORS');\n","// #region Imports\n\nimport { InjectionToken } from '@angular/core';\nimport { ISheetSlots } from './ISheetSlots';\n\n// #endregion\n\n/**\n * Injection token representing the per-sheet slots registry.\n *\n * @internal\n */\nexport const SHEET_SLOTS = new InjectionToken<ISheetSlots>('MOSAIK_SHEET_SLOTS');\n","// #region Imports\n\nimport { Provider, signal, TemplateRef } from '@angular/core';\nimport { ISheetSlots } from './ISheetSlots';\nimport { SHEET_SLOTS } from './SheetSlotsTokens';\n\n// #endregion\n\n/**\n * Provides a new sheet slots registry instance.\n *\n * @internal\n */\nexport function provideSheetSlots(): Provider {\n    return {\n        provide: SHEET_SLOTS,\n        useFactory: (): ISheetSlots => {\n            const header = signal<TemplateRef<unknown> | null>(null);\n            const content = signal<TemplateRef<unknown> | null>(null);\n            const footer = signal<TemplateRef<unknown> | null>(null);\n\n            return {\n                header: header.asReadonly(),\n                content: content.asReadonly(),\n                footer: footer.asReadonly(),\n                setHeader: (t) => header.set(t),\n                setContent: (t) => content.set(t),\n                setFooter: (t) => footer.set(t)\n            };\n        }\n    };\n}\n","// #region Imports\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { SheetComponent } from '../../../Controls/Components/Overlays/Sheet/SheetComponent';\nimport { SheetContentComponent } from '../../../Controls/Components/Overlays/Sheet/SheetContentComponent';\nimport { SheetFooterComponent } from '../../../Controls/Components/Overlays/Sheet/SheetFooterComponent';\nimport { SheetHeaderComponent } from '../../../Controls/Components/Overlays/Sheet/SheetHeaderComponent';\nimport { SheetHeaderSubTextComponent } from '../../../Controls/Components/Overlays/Sheet/SheetHeaderSubTextComponent';\nimport { SheetHeaderTextComponent } from '../../../Controls/Components/Overlays/Sheet/SheetHeaderTextComponent';\nimport { OfPipe } from '../../Pipes/OfPipe';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport type { ISheetConfig } from './ISheetConfig';\nimport { SHEET_CONFIG } from './SheetTokens';\nimport type { ISheetSlots } from './Slots/ISheetSlots';\nimport { SHEET_SLOTS } from './Slots/SheetSlotsTokens';\nimport { provideSheetSlots } from './Slots/provideSheetSlots';\n\n// #endregion\n\n/**\n * @public\n */\n@Component({\n    selector: 'mosaik-sheet-portal',\n    templateUrl: './SheetPortalComponent.html',\n    exportAs: 'mosaikSheetPortal',\n    host: {\n        class: 'sheet-portal'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [\n        provideSheetSlots()\n    ],\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        OfPipe,\n        CdkScrollable,\n        CdkPortalOutlet,\n        SheetComponent,\n        SheetHeaderComponent,\n        SheetHeaderTextComponent,\n        SheetHeaderSubTextComponent,\n        SheetContentComponent,\n        SheetFooterComponent\n    ]\n})\nexport class SheetPortalComponent\n    extends PortalComponent {\n\n    // #region Fields\n\n    @ViewChild(CdkPortalOutlet, { static: true })\n    private readonly _portal!: CdkPortalOutlet;\n    @ViewChild(SheetComponent, { static: true })\n    private readonly _component!: SheetComponent;\n    private readonly _config?: ISheetConfig;\n    private readonly _slots: ISheetSlots;\n    private _warnedHeader: boolean;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetPortalComponent` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._config = inject(SHEET_CONFIG, { optional: true }) ?? undefined;\n        this._slots = inject(SHEET_SLOTS);\n        this._warnedHeader = false;\n\n        // warn when both templates and config options are provided for the same section.\n        effect(() => {\n            // header: template vs header/subheader config\n            const hasHeaderTemplate = this._slots.header() !== null;\n            const hasHeaderConfig = Boolean(this._config?.header) || Boolean(this._config?.subheader);\n            if (hasHeaderTemplate && hasHeaderConfig && !this._warnedHeader) {\n                console.warn('[SheetPortalComponent] Header template provided while sheetConfig.header/subheader is set. The template takes precedence.');\n                this._warnedHeader = true;\n            }\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @override\n     * @readonly\n     */\n    protected override get portal(): CdkPortalOutlet {\n        return this._portal;\n    }\n\n    /**\n     * Returns the `sheet` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get sheet(): SheetComponent {\n        return this._component;\n    }\n\n    /**\n     * Returns the `sheetConfig` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get sheetConfig(): ISheetConfig | undefined {\n        return this._config;\n    }\n\n    /**\n     * Exposes an optional custom header template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get headerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.header();\n    }\n\n    /**\n     * Exposes an optional custom content template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get contentTemplate(): TemplateRef<unknown> | null {\n        return this._slots.content();\n    }\n\n    /**\n     * Exposes an optional custom footer template provided by user content.\n     *\n     * @public\n     * @readonly\n     */\n    public get footerTemplate(): TemplateRef<unknown> | null {\n        return this._slots.footer();\n    }\n\n    // #endregion\n\n}\n","<mosaik-sheet [closeable]=\"this.sheetConfig?.closeable ?? false\"\n              [height]=\"this.sheetConfig?.height ?? 'auto'\">\n    @if (this.headerTemplate; as template) {\n    <ng-container [ngTemplateOutlet]=\"template\" />\n    } @else if ((this.sheetConfig?.header | of | async) || this.sheetConfig?.closeable) {\n    <mosaik-sheet-header>\n        <mosaik-sheet-header-text [text]=\"(this.sheetConfig?.header | of | async) ?? ''\" />\n        <mosaik-sheet-header-sub-text [text]=\"(this.sheetConfig?.subheader | of | async) ?? ''\" />\n    </mosaik-sheet-header>\n    }\n    <mosaik-sheet-content cdkScrollable>\n        @if (this.contentTemplate; as template) {\n        <ng-container [ngTemplateOutlet]=\"template\" />\n        }\n        <ng-template cdkPortalOutlet />\n    </mosaik-sheet-content>\n    @if (this.footerTemplate; as template) {\n    <mosaik-sheet-footer>\n        <ng-container [ngTemplateOutlet]=\"template\" />\n    </mosaik-sheet-footer>\n    }\n</mosaik-sheet>","// #region Imports\n\nimport type { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport type { ICancel } from '../../ICancel';\nimport { Subject, type Observable } from 'rxjs';\nimport type { ISheetRef } from './ISheetRef';\nimport { PortalRef } from '../../Portal/PortalRef';\nimport type { SheetComponent } from '../../../Controls/Components/Overlays/Sheet/SheetComponent';\n\n// #endregion\n\n/**\n * @public\n */\nexport class SheetRef<TData, TResult>\n    extends PortalRef<SheetComponent, TData, TResult>\n    implements ISheetRef {\n\n    // #region Fields\n\n    private readonly _positionChangedSubject: Subject<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>>;\n    private readonly _sizeChangedSubject: Subject<Partial<{\n        width: string | number;\n        height: string | number;\n    }>>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetRef` class.\n     *\n     * @public\n     */\n    public constructor(id: string, component: SheetComponent, overlayRef: OverlayRef, data?: TData) {\n        super(id, component, overlayRef, data);\n\n        this._positionChangedSubject = new Subject();\n        this._sizeChangedSubject = new Subject();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     * @override\n     */\n    public override close(result: ICancel<TResult>): void {\n        this._positionChangedSubject.complete();\n        this._sizeChangedSubject.complete();\n\n        this.component.invoke('close');\n        super.close(result);\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `positionChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get positionChanged(): Observable<Partial<{\n        top: string | number;\n        bottom: string | number;\n        left: string | number;\n        right: string | number;\n    }>> {\n        return this._positionChangedSubject.asObservable();\n    }\n\n    /**\n     * Returns the `sizeChanged` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get sizeChanged(): Observable<Partial<{\n        width: string | number;\n        height: string | number;\n    }>> {\n        return this._sizeChangedSubject.asObservable();\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Updates the bottom sheet's position.\n     *\n     * @public\n     * @param position - New bottom sheet position.\n     */\n    public updatePosition(position: Partial<{\n        top: number | string;\n        bottom: number | string;\n        left: number | string;\n        right: number | string;\n    }>): this {\n        const strategy = this.overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n\n        if (position.left || position.right) {\n            if (position.left) {\n                strategy.left(this.parseNumber(position.left));\n            } else if (position.right) {\n                strategy.right(this.parseNumber(position.right));\n            }\n        } else {\n            strategy.centerHorizontally();\n        }\n\n        if (position.top || position.bottom) {\n            if (position.top) {\n                strategy.top(this.parseNumber(position.top));\n            } else {\n                strategy.bottom(this.parseNumber(position.bottom));\n            }\n        } else {\n            strategy.centerVertically();\n        }\n\n        this.overlayRef.updatePosition();\n        this._positionChangedSubject.next(position);\n\n        return this;\n    }\n\n    /**\n     * Updates the bottom sheet's width and height.\n     *\n     * @public\n     * @param size - New width and height of the bottom sheet.\n     */\n    public updateSize(size: Partial<{\n        width: number | string;\n        height: number | string;\n    }>): this {\n        this.overlayRef.updateSize({\n            width: size.width,\n            height: size.height\n        });\n        this.overlayRef.updatePosition();\n        this._sizeChangedSubject.next(size);\n\n        return this;\n    }\n\n    /**\n     * @private\n     */\n    private parseNumber(size: string | number | undefined): string {\n        if (typeof size === 'string') {\n            return size;\n        } else if (typeof size === 'number') {\n            return `${size}px`;\n        }\n\n        return '';\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { OverlayRef, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { DOCUMENT, inject, Inject, Injectable, Injector, Optional, TemplateRef, type Type } from '@angular/core';\nimport { EID, Key } from '@breadstone/mosaik-elements-foundation';\nimport { filter, fromEvent, takeUntil } from 'rxjs';\nimport type { SheetComponent } from '../../../Controls/Components/Overlays/Sheet/SheetComponent';\nimport { Cancel } from '../../Cancel';\nimport { StatelessInjector } from '../../Injection/StatelessInjector';\nimport { PortalProvider } from '../../Portal/PortalProvider';\nimport type { ISheetBehavior } from './ISheetBehavior';\nimport type { ISheetConfig } from './ISheetConfig';\nimport type { ISheetRef } from './ISheetRef';\nimport { SheetPortalComponent } from './SheetPortalComponent';\nimport { SheetRef } from './SheetRef';\nimport { SHEET_BEHAVIORS, SHEET_CONFIG, SHEET_REF, SHEET_REF_DATA } from './SheetTokens';\n\n// #endregion\n\n/**\n * Angular service for managing sheet overlays.\n * Uses Angular CDK Overlay for positioning and lifecycle management.\n * Provides own RxJS-based escape key handling for consistency with other overlay services.\n *\n * @public\n */\n@Injectable()\nexport class SheetService\n    extends PortalProvider {\n\n    // #region Fields\n\n    private readonly _document: Document;\n    private readonly _sheetBehaviors: Array<ISheetBehavior>;\n    private _portalInjector?: Injector;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetService` class.\n     *\n     * @public\n     */\n    public constructor(\n        @Optional() @Inject(SHEET_CONFIG) config: Partial<ISheetConfig> | null = null,\n        @Optional() @Inject(SHEET_BEHAVIORS) behaviors: ReadonlyArray<Type<ISheetBehavior>> | null = null\n    ) {\n        super();\n\n        this._document = inject(DOCUMENT);\n        this._sheetBehaviors = new Array<ISheetBehavior>();\n\n        for (const behavior of behaviors ?? []) {\n            this.withBehavior(behavior);\n        }\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Opens a sheet.\n     *\n     * @public\n     */\n    public show<TData = object, TResult = object>(componentTypeOrTemplateRef: Type<unknown> | TemplateRef<TData>, config?: Partial<ISheetConfig<TData>>): ISheetRef<TData, TResult> {\n        if (config) {\n            for (const behavior of this._sheetBehaviors) {\n                behavior.configure(config);\n            }\n        }\n\n        const overlayRef = this.createOverlay({\n            hasBackdrop: config?.hasBackdrop,\n            disposeOnNavigation: config?.closeOnNavigation\n        });\n        const portal = this.createPortal(SheetPortalComponent, config);\n        const componentRef = this.createComponent(portal, overlayRef, SheetPortalComponent, config);\n        this._portalInjector = componentRef.injector;\n        const sheetRef = new SheetRef<TData, TResult>(this.createId(), componentRef.instance.sheet, overlayRef, config?.data);\n\n        this.createContent(componentTypeOrTemplateRef, componentRef.instance, sheetRef, config);\n        this.prepareComponent(overlayRef, componentRef.instance.sheet, sheetRef, config);\n        this.attach(overlayRef, portal);\n\n        componentRef.instance.sheet.invoke('open');\n\n        this._sheetBehaviors.forEach((x) => x.attach(sheetRef, portal));\n\n        return sheetRef;\n    }\n\n    /**\n     * Closes a sheet.\n     *\n     * @public\n     */\n    public close(ref: ISheetRef): void {\n        this.detach(ref.overlayRef);\n    }\n\n    /**\n     * Checks if the sheet is currently shown.\n     *\n     * @public\n     */\n    public isShown(ref: ISheetRef): boolean {\n        return this.cache.some((x) => x.overlay === ref.overlayRef && x.portal.isAttached);\n    }\n\n    /**\n     * Adds a sheet behavior to the service.\n     *\n     * @public\n     */\n    public withBehavior(type: Type<ISheetBehavior>): Omit<this, 'withBehavior'> {\n        const behavior = this.injector.get(type);\n        this._sheetBehaviors.push(behavior);\n\n        return this;\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createId(): string {\n        return EID.next('mosaik-sheet');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPortalInjector<TData>(config?: ISheetConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [SHEET_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createContentInjector<TData>(ref: ISheetRef<TData>, config?: ISheetConfig<TData>): Injector {\n        const parent = this._portalInjector ?? this.injector;\n\n        return new StatelessInjector(parent, [\n            [SHEET_REF, ref],\n            [SHEET_REF_DATA, ref.data],\n            [SHEET_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPositionStrategy(): PositionStrategy {\n        return this.overlayPositionBuilder\n            .global()\n            .centerHorizontally()\n            .bottom('0');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createScrollStrategy(): ScrollStrategy {\n        return this.overlay.scrollStrategies.block();\n    }\n\n    /**\n     * @private\n     */\n    private prepareComponent<TData, TResult>(overlayRef: OverlayRef, component: SheetComponent, sheetRef: SheetRef<TData, TResult>, config?: Partial<ISheetConfig<TData>>): void {\n        if (config) {\n            // apply all properties to the component using setInput for Signal Inputs compatibility\n            Object.keys(config).forEach((p) => {\n                if (p in component && typeof component.setInput === 'function') {\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    component.setInput(p as any, (config as Record<string, unknown>)[p]);\n                }\n            });\n\n            if (config.clickOutsideToClose) {\n                const backdropClickSubscription = overlayRef.backdropClick().subscribe(() => {\n                    backdropClickSubscription.unsubscribe();\n                    sheetRef.close(Cancel.negative());\n                });\n                const outsidePointerEventsSubscription = overlayRef.outsidePointerEvents().subscribe(() => {\n                    outsidePointerEventsSubscription.unsubscribe();\n                    sheetRef.close(Cancel.negative());\n                });\n            }\n\n            if (config.pressEscapeToClose) {\n                const documentKeyupSubscription = fromEvent<KeyboardEvent>(this._document, 'keyup').pipe(\n                    filter((event) => event.keyCode === Key.Escape),\n                    takeUntil(sheetRef.closed)\n                )\n                    .subscribe(() => {\n                        documentKeyupSubscription.unsubscribe();\n                        sheetRef.close(Cancel.negative());\n                    });\n            }\n        }\n\n        const closedSubscription = component.closed.subscribe(() => {\n            closedSubscription.unsubscribe();\n            this.detach(overlayRef);\n            this._sheetBehaviors.forEach((x) => x.detach());\n            this._sheetBehaviors.length = 0;\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders, type Type } from '@angular/core';\nimport { SheetService } from './SheetService';\nimport type { ISheetConfig } from './ISheetConfig';\nimport type { ISheetBehavior } from './ISheetBehavior';\nimport { SHEET_BEHAVIORS, SHEET_CONFIG } from './SheetTokens';\n\n// #endregion\n\n/**\n * Options for providing the sheet service.\n *\n * @public\n */\nexport interface IProvideSheetsOptions {\n\n    /**\n     * Default configuration for sheets.\n     */\n    config?: Partial<ISheetConfig>;\n\n    /**\n     * Behaviors to apply to sheets.\n     */\n    behaviors?: ReadonlyArray<Type<ISheetBehavior>>;\n\n}\n\n/**\n * Provides the sheet service with optional configuration.\n *\n * @public\n */\nexport function provideSheets(options?: IProvideSheetsOptions): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        SheetService,\n        options?.config\n            ? {\n                provide: SHEET_CONFIG,\n                useValue: options.config\n            }\n            : [],\n        options?.behaviors\n            ? {\n                provide: SHEET_BEHAVIORS,\n                useValue: options.behaviors\n            }\n            : []\n    ]);\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { ISheetSlots } from './ISheetSlots';\nimport { SHEET_SLOTS } from './SheetSlotsTokens';\n\n// #endregion\n\n/**\n * Marks an ng-template inside sheet content as custom content section, replacing the default portal outlet.\n * Usage:\n * <ng-template mosaikSheetContent> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikSheetContent]'\n})\nexport class SheetContentDirective {\n\n    // #region Fields\n\n    private readonly _slots: ISheetSlots = inject(SHEET_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetContentDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setContent(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { ISheetSlots } from './ISheetSlots';\nimport { SHEET_SLOTS } from './SheetSlotsTokens';\n\n// #endregion\n\n/**\n * Marks an ng-template inside sheet content as custom footer section.\n * Usage:\n * <ng-template mosaikSheetFooter> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikSheetFooter]'\n})\nexport class SheetFooterDirective {\n\n    // #region Fields\n\n    private readonly _slots: ISheetSlots = inject(SHEET_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetFooterDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setFooter(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\nimport { ISheetSlots } from './ISheetSlots';\nimport { SHEET_SLOTS } from './SheetSlotsTokens';\n\n// #endregion\n\n/**\n * Marks an ng-template inside sheet content as custom header.\n * Usage:\n * <ng-template mosaikSheetHeader> ... </ng-template>\n *\n * @public\n */\n@Directive({\n    selector: 'ng-template[mosaikSheetHeader]'\n})\nexport class SheetHeaderDirective {\n\n    // #region Fields\n\n    private readonly _slots: ISheetSlots = inject(SHEET_SLOTS);\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `SheetHeaderDirective` class.\n     *\n     * @param template The template reference to register.\n     * @public\n     */\n    public constructor(template: TemplateRef<unknown>) {\n        this._slots.setHeader(template);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { InjectionToken, type Type } from '@angular/core';\nimport type { IToastRef } from './IToastRef';\nimport type { IToastConfig } from './IToastConfig';\nimport type { IToastBehavior } from './IToastBehavior';\n\n// #endregion\n\n/**\n * @public\n */\nexport const TOAST_CONFIG = new InjectionToken<IToastConfig>('MOSAIK_TOAST_CONFIG');\n\n/**\n * @public\n */\nexport const TOAST_REF = new InjectionToken<IToastRef>('MOSAIK_TOAST_REF');\n\n/**\n * @public\n */\nexport const TOAST_REF_DATA = new InjectionToken<unknown>('MOSAIK_TOAST_REF_DATA');\n\n/**\n * @public\n */\nexport const TOAST_BEHAVIORS = new InjectionToken<ReadonlyArray<Type<IToastBehavior>>>('MOSAIK_TOAST_BEHAVIORS');\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ToastElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToastComponent.\n * Use this token to provide default properties for the ToastComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOAST_DEFAULT_PROPS = new InjectionToken<Partial<ToastElement.Props>>('MOSAIK_TOAST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - The actions slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toast', ToastElement),\n    inputs: ['header', 'content', 'timeout', 'position', 'showProgress', 'themeName', 'animationTarget', 'enter', 'exit', 'variant', 'formatter', 'isBusy', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['close', 'play', 'onEnterAnimation', 'onExitAnimation', 'open', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toast',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ToastComponent {\n    // #region Fields\n\n    private readonly _element: ToastElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOAST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ToastElement['header'] | undefined> = input<ToastElement['header']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<ToastElement['content'] | undefined> = input<ToastElement['content']>();\n\n    /**\n     * Signal input for the `timeout` property.\n     *\n     * @public\n     */\n    public readonly timeout: InputSignal<ToastElement['timeout'] | undefined> = input<ToastElement['timeout']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<ToastElement['position'] | undefined> = input<ToastElement['position']>();\n\n    /**\n     * Signal input for the `showProgress` property.\n     *\n     * @public\n     */\n    public readonly showProgress: InputSignal<ToastElement['showProgress'] | undefined> = input<ToastElement['showProgress']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToastElement['themeName'] | undefined> = input<ToastElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<ToastElement['animationTarget'] | undefined> = input<ToastElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<ToastElement['enter'] | undefined> = input<ToastElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<ToastElement['exit'] | undefined> = input<ToastElement['exit']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ToastElement['variant'] | undefined> = input<ToastElement['variant']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ToastElement['formatter'] | undefined> = input<ToastElement['formatter']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<ToastElement['isBusy'] | undefined> = input<ToastElement['isBusy']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<ToastElement['isOpen'] | undefined> = input<ToastElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<ToastElement['hasBackdrop'] | undefined> = input<ToastElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<ToastElement['pressEscapeToClose'] | undefined> = input<ToastElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<ToastElement['clickOutsideToClose'] | undefined> = input<ToastElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<ToastElement['closeable'] | undefined> = input<ToastElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToastElement['dir'] | undefined> = input<ToastElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToastElement['lang'] | undefined> = input<ToastElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const timeoutValue = this.timeout();\n                if (timeoutValue !== undefined) {\n                    (this._element as any).timeout = timeoutValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const showProgressValue = this.showProgress();\n                if (showProgressValue !== undefined) {\n                    (this._element as any).showProgress = showProgressValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToastMethodNames>(method: TMethod, ...args: Parameters<ToastComponentMethods[TMethod]>): ReturnType<ToastComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToastElement>(property: TProperty, value: ToastElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToastComponent.\n */\nexport type ToastMethodNames = 'close' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'open' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToastComponent.\n */\nexport type ToastComponentMethods = MethodMap<ToastMethodNames>;\n\n/**\n * @public\n */\nexport function provideToastComponent(config: Partial<ToastElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOAST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// #region Imports\n\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, inject, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { TOAST_CONFIG } from './ToastTokens';\nimport { PortalComponent } from '../../Portal/PortalComponent';\nimport { ToastComponent } from '../../../Controls/Components/Overlays/Toast/ToastComponent';\nimport type { IToastConfig } from './IToastConfig';\n\n// #endregion\n\n/**\n * @public\n */\n@Component({\n    selector: 'mosaik-toast-portal',\n    templateUrl: './ToastPortalComponent.html',\n    exportAs: 'mosaikToastPortal',\n    host: {\n        class: 'toast-portal'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        CdkPortalOutlet,\n        ToastComponent\n    ]\n})\nexport class ToastPortalComponent\n    extends PortalComponent {\n\n    // #region Fields\n\n    @ViewChild(CdkPortalOutlet, { static: true })\n    private readonly _portal!: CdkPortalOutlet;\n    @ViewChild(ToastComponent, { static: true })\n    private readonly _component!: ToastComponent;\n    private readonly _config?: IToastConfig;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ToastPortalComponent` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._config = inject(TOAST_CONFIG, { optional: true }) ?? undefined;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the `portal` property.\n     *\n     * @protected\n     * @override\n     * @readonly\n     */\n    protected override get portal(): CdkPortalOutlet {\n        return this._portal;\n    }\n\n    /**\n     * Returns the `toast` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get toast(): ToastComponent {\n        return this._component;\n    }\n\n    /**\n     * Returns the `config` property.\n     *\n     * @public\n     * @readonly\n     */\n    public get config(): IToastConfig | undefined {\n        return this._config;\n    }\n\n    // #endregion\n\n}\n","<mosaik-toast [variant]=\"this.config?.variant ?? 'default'\"\n              [closeable]=\"this.config?.closeable ?? false\"\n              [enter]=\"this.config?.enter ?? null\"\n              [exit]=\"this.config?.exit ?? null\">\n    <ng-template cdkPortalOutlet></ng-template>\n</mosaik-toast>","// #region Imports\n\nimport type { ToastElement } from '@breadstone/mosaik-elements-foundation';\nimport type { OverlayRef } from '@angular/cdk/overlay';\nimport type { IToastRef } from './IToastRef';\nimport { PortalRef } from '../../Portal/PortalRef';\nimport type { ToastComponent } from '../../../Controls/Components/Overlays/Toast/ToastComponent';\n\n// #endregion\n\n/**\n * @public\n */\nexport class ToastRef<TData, TResult>\n    extends PortalRef<ToastComponent, TData, TResult>\n    implements IToastRef {\n\n    // #region Fields\n\n    private readonly _toastElement: ToastElement;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ToastRef` class.\n     *\n     * @public\n     */\n    public constructor(id: string, component: ToastComponent, overlayRef: OverlayRef, data?: TData) {\n        super(id, component, overlayRef, data);\n\n        // Get the ToastElement from the overlay's host element\n        const toastElement = overlayRef.hostElement.querySelector<ToastElement>('mosaik-toast');\n        if (!toastElement) {\n            throw new Error('ToastElement not found in overlay host element.');\n        }\n        this._toastElement = toastElement;\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Returns the underlying `ToastElement`.\n     *\n     * @public\n     * @readonly\n     */\n    public get element(): ToastElement {\n        return this._toastElement;\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport type { OverlayRef, PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { DOCUMENT, inject, Inject, Injectable, Injector, Optional, TemplateRef, type Type } from '@angular/core';\nimport { EID, Key } from '@breadstone/mosaik-elements-foundation';\nimport { filter, fromEvent, takeUntil } from 'rxjs';\nimport type { ToastComponent } from '../../../Controls/Components/Overlays/Toast/ToastComponent';\nimport { Cancel } from '../../Cancel';\nimport { StatelessInjector } from '../../Injection/StatelessInjector';\nimport { PortalProvider } from '../../Portal/PortalProvider';\nimport type { IToastBehavior } from './IToastBehavior';\nimport type { IToastConfig } from './IToastConfig';\nimport type { IToastRef } from './IToastRef';\nimport { ToastPortalComponent } from './ToastPortalComponent';\nimport { ToastRef } from './ToastRef';\nimport { TOAST_BEHAVIORS, TOAST_CONFIG, TOAST_REF, TOAST_REF_DATA } from './ToastTokens';\n\n// #endregion\n\n/**\n * Angular service for managing toast notifications.\n * Uses Angular CDK Overlay for positioning and lifecycle management.\n * Provides own RxJS-based escape key handling for consistency with other overlay services.\n *\n * @public\n */\n@Injectable()\nexport class ToastService\n    extends PortalProvider {\n\n    // #region Fields\n\n    private readonly _document: Document;\n    private readonly _toastBehaviors: Array<IToastBehavior>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `ToastService` class.\n     *\n     * @public\n     */\n    public constructor(\n        @Optional() @Inject(TOAST_CONFIG) config: Partial<IToastConfig> | null = null,\n        @Optional() @Inject(TOAST_BEHAVIORS) behaviors: ReadonlyArray<Type<IToastBehavior>> | null = null\n    ) {\n        super();\n\n        this._document = inject(DOCUMENT);\n        this._toastBehaviors = new Array<IToastBehavior>();\n\n        for (const behavior of behaviors ?? []) {\n            this.withBehavior(behavior);\n        }\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Opens a toast notification.\n     *\n     * @public\n     */\n    public show<TData = object, TResult = object>(config?: Partial<IToastConfig<TData>>): IToastRef<TData, TResult>;\n    public show<TData = object, TResult = object>(componentTypeOrTemplateRef: Type<unknown> | TemplateRef<TData>, config?: Partial<IToastConfig<TData>>): IToastRef<TData, TResult>;\n    public show<TData = object, TResult = object>(componentTypeOrTemplateRefOrConfig?: Type<unknown> | TemplateRef<TData> | Partial<IToastConfig<TData>>, config?: Partial<IToastConfig<TData>>): IToastRef<TData, TResult> {\n        let componentTypeOrTemplateRef: Type<unknown> | TemplateRef<TData> | undefined;\n        let resolvedConfig: Partial<IToastConfig<TData>> | undefined;\n\n        // Handle overloads\n        if (componentTypeOrTemplateRefOrConfig instanceof TemplateRef || typeof componentTypeOrTemplateRefOrConfig === 'function') {\n            componentTypeOrTemplateRef = componentTypeOrTemplateRefOrConfig;\n            resolvedConfig = config;\n        } else {\n            resolvedConfig = componentTypeOrTemplateRefOrConfig;\n        }\n\n        if (resolvedConfig) {\n            for (const behavior of this._toastBehaviors) {\n                behavior.configure(resolvedConfig);\n            }\n        }\n\n        const overlayRef = this.createOverlay({\n            hasBackdrop: resolvedConfig?.hasBackdrop,\n            disposeOnNavigation: resolvedConfig?.closeOnNavigation\n        });\n        const portal = this.createPortal(ToastPortalComponent, resolvedConfig);\n        const componentRef = this.createComponent(portal, overlayRef, ToastPortalComponent, resolvedConfig);\n        const toastRef = new ToastRef<TData, TResult>(this.createId(), componentRef.instance.toast, overlayRef, resolvedConfig?.data);\n\n        if (componentTypeOrTemplateRef) {\n            this.createContent(componentTypeOrTemplateRef, componentRef.instance, toastRef, resolvedConfig);\n        }\n\n        this.prepareComponent(overlayRef, componentRef.instance.toast, toastRef, resolvedConfig);\n        this.attach(overlayRef, portal);\n\n        componentRef.instance.toast.invoke('open');\n\n        this._toastBehaviors.forEach((x) => x.attach(toastRef, portal));\n\n        return toastRef;\n    }\n\n    /**\n     * Closes a toast.\n     *\n     * @public\n     */\n    public close(ref: IToastRef): void {\n        this.detach(ref.overlayRef);\n    }\n\n    /**\n     * Checks if the toast is currently shown.\n     *\n     * @public\n     */\n    public isShown(ref: IToastRef): boolean {\n        return this.cache.some((x) => x.overlay === ref.overlayRef && x.portal.isAttached);\n    }\n\n    /**\n     * Adds a toast behavior to the service.\n     *\n     * @public\n     */\n    public withBehavior(type: Type<IToastBehavior>): Omit<this, 'withBehavior'> {\n        const behavior = this.injector.get(type);\n        this._toastBehaviors.push(behavior);\n\n        return this;\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createId(): string {\n        return EID.next('mosaik-toast');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPortalInjector<TData>(config?: IToastConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [TOAST_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createContentInjector<TData>(ref: IToastRef<TData>, config?: IToastConfig<TData>): Injector {\n        return new StatelessInjector(this.injector, [\n            [TOAST_REF, ref],\n            [TOAST_REF_DATA, ref.data],\n            [TOAST_CONFIG, config]\n        ]);\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createPositionStrategy(): PositionStrategy {\n        return this.overlayPositionBuilder\n            .global()\n            .centerHorizontally()\n            .bottom('0');\n    }\n\n    /**\n     * @protected\n     * @override\n     */\n    protected override createScrollStrategy(): ScrollStrategy {\n        return this.overlay.scrollStrategies.noop();\n    }\n\n    /**\n     * @private\n     */\n    private prepareComponent<TData, TResult>(overlayRef: OverlayRef, component: ToastComponent, toastRef: ToastRef<TData, TResult>, config?: Partial<IToastConfig<TData>>): void {\n        if (config) {\n            // apply all properties to the component using setInput for Signal Inputs compatibility\n            Object.keys(config).forEach((p) => {\n                if (p in component && typeof component.setInput === 'function') {\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    component.setInput(p as any, (config as Record<string, unknown>)[p]);\n                }\n            });\n\n            if (config.clickOutsideToClose) {\n                const backdropClickSubscription = overlayRef.backdropClick().subscribe(() => {\n                    backdropClickSubscription.unsubscribe();\n                    toastRef.close(Cancel.negative());\n                });\n                const outsidePointerEventsSubscription = overlayRef.outsidePointerEvents().subscribe(() => {\n                    outsidePointerEventsSubscription.unsubscribe();\n                    toastRef.close(Cancel.negative());\n                });\n            }\n\n            if (config.pressEscapeToClose) {\n                const documentKeyupSubscription = fromEvent<KeyboardEvent>(this._document, 'keyup').pipe(\n                    filter((event) => event.keyCode === Key.Escape),\n                    takeUntil(toastRef.closed)\n                )\n                    .subscribe(() => {\n                        documentKeyupSubscription.unsubscribe();\n                        toastRef.close(Cancel.negative());\n                    });\n            }\n        }\n\n        const closedSubscription = component.closed.subscribe(() => {\n            closedSubscription.unsubscribe();\n            this.detach(overlayRef);\n            this._toastBehaviors.forEach((x) => x.detach());\n            this._toastBehaviors.length = 0;\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders, type Type } from '@angular/core';\nimport { ToastService } from './ToastService';\nimport type { IToastConfig } from './IToastConfig';\nimport type { IToastBehavior } from './IToastBehavior';\nimport { TOAST_BEHAVIORS, TOAST_CONFIG } from './ToastTokens';\n\n// #endregion\n\n/**\n * Options for providing the toast service.\n *\n * @public\n */\nexport interface IProvideToastsOptions {\n\n    /**\n     * Default configuration for toasts.\n     */\n    config?: Partial<IToastConfig>;\n\n    /**\n     * Behaviors to apply to toasts.\n     */\n    behaviors?: ReadonlyArray<Type<IToastBehavior>>;\n\n}\n\n/**\n * Provides the toast service with optional configuration.\n *\n * @public\n */\nexport function provideToasts(options?: IProvideToastsOptions): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        ToastService,\n        options?.config ? { provide: TOAST_CONFIG, useValue: options.config } : [],\n        options?.behaviors ? { provide: TOAST_BEHAVIORS, useValue: options.behaviors } : []\n    ]);\n}\n","// #region Imports\n\nimport { Injectable, NgZone } from '@angular/core';\nimport { Observable, share, timer } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\n// #endregion\n\n/**\n * Provides shared time update streams to avoid multiple setTimeout calls.\n * All pipes share the same intervals for maximum performance.\n *\n * @public\n */\n@Injectable()\nexport class TimeUpdateService {\n\n    // #region Fields\n\n    private readonly _zone: NgZone;\n    private _secondTick: Observable<number> | null;\n    private _minuteTick: Observable<number> | null;\n    private _hourTick: Observable<number> | null;\n    private _midnightTick: Observable<number> | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TimeUpdateService` class.\n     *\n     * @public\n     */\n    public constructor(zone: NgZone) {\n        this._zone = zone;\n        this._secondTick = null;\n        this._minuteTick = null;\n        this._hourTick = null;\n        this._midnightTick = null;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Gets a shared observable that emits every 2 seconds.\n     * Used for sub-minute time updates.\n     *\n     * @public\n     * @returns An observable that emits every 2 seconds.\n     */\n    public getSecondTick(): Observable<number> {\n        this._secondTick ??= this._zone.runOutsideAngular(() => timer(0, 2000).pipe(\n            map(() => Date.now()),\n            share()\n        ));\n        return this._secondTick;\n    }\n\n    /**\n     * Gets a shared observable that emits every 30 seconds.\n     * Used for minute-level time updates.\n     *\n     * @public\n     * @returns An observable that emits every 30 seconds.\n     */\n    public getMinuteTick(): Observable<number> {\n        this._minuteTick ??= this._zone.runOutsideAngular(() => timer(0, 30000).pipe(\n            map(() => Date.now()),\n            share()\n        ));\n        return this._minuteTick;\n    }\n\n    /**\n     * Gets a shared observable that emits every 5 minutes.\n     * Used for hour-level time updates.\n     *\n     * @public\n     * @returns An observable that emits every 5 minutes.\n     */\n    public getHourTick(): Observable<number> {\n        this._hourTick ??= this._zone.runOutsideAngular(() => timer(0, 300000).pipe(\n            map(() => Date.now()),\n            share()\n        ));\n        return this._hourTick;\n    }\n\n    /**\n     * Gets a shared observable that emits at midnight every day.\n     * Used for date-level updates.\n     *\n     * @public\n     * @returns An observable that emits at midnight.\n     */\n    public getMidnightTick(): Observable<number> {\n        this._midnightTick ??= this._zone.runOutsideAngular(() => this.createMidnightObservable());\n        return this._midnightTick;\n    }\n\n    /**\n     * Creates an observable that emits at midnight and then every 24 hours.\n     *\n     * @private\n     * @returns An observable that emits at midnight.\n     */\n    private createMidnightObservable(): Observable<number> {\n        const now = new Date();\n        const tomorrow = new Date(now);\n        tomorrow.setHours(24, 0, 0, 0);\n        const msUntilMidnight = tomorrow.getTime() - now.getTime();\n\n        return timer(msUntilMidnight, 86400000).pipe(\n            startWith(Date.now()),\n            map(() => Date.now()),\n            share()\n        );\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { ChangeDetectorRef, Injectable, NgZone, Optional, Pipe, Provider, SkipSelf, type OnDestroy, type PipeTransform } from '@angular/core';\nimport { DateAgoIntl } from '@breadstone/mosaik-elements-foundation';\nimport { Subject, type Subscription } from 'rxjs';\nimport { TimeUpdateService } from '../Services/TimeUpdateService';\n\n// #endregion\n\n/**\n * Transforms a `string` date to into a date ago string.\n *\n * @public\n */\n@Pipe({\n    name: 'dateAgo',\n    pure: false\n})\nexport class DateAgoPipe implements PipeTransform, OnDestroy {\n\n    // #region Fields\n\n    private readonly _intl: DateAgoPipeIntl;\n    private readonly _changeDetectorRef: ChangeDetectorRef;\n    private readonly _zone: NgZone;\n    private readonly _timeUpdateService: TimeUpdateService;\n    private readonly _intlChangesSubscription: Subscription;\n    private readonly _midnightSubscription: Subscription | null = null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DateAgoPipe` class.\n     *\n     * @public\n     */\n    public constructor(intl: DateAgoPipeIntl, changeDetectorRef: ChangeDetectorRef, zone: NgZone, timeUpdateService: TimeUpdateService) {\n        this._intl = intl;\n        this._intlChangesSubscription = intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n        this._changeDetectorRef = changeDetectorRef;\n        this._zone = zone;\n        this._timeUpdateService = timeUpdateService;\n\n        // Subscribe to midnight ticks for automatic daily updates\n        this._midnightSubscription = this._timeUpdateService.getMidnightTick().subscribe(() => {\n            this._zone.run(() => this._changeDetectorRef.markForCheck());\n        });\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public transform(value: string | Date): string {\n        const inputDate = typeof value === 'string' ? new Date(value) : value;\n        const now = new Date();\n\n        // Set to start of day for date comparison\n        const startOfInputDate = new Date(inputDate.getFullYear(), inputDate.getMonth(), inputDate.getDate());\n        const startOfToday = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\n        const daysDifference = Math.round((startOfToday.getTime() - startOfInputDate.getTime()) / (1000 * 60 * 60 * 24));\n\n        if (Number.isNaN(daysDifference)) {\n            return '';\n        }\n\n        if (daysDifference === 0) {\n            return this._intl.todayLabel;\n        }\n        if (daysDifference === 1) {\n            return this._intl.yesterdayLabel;\n        }\n        if (daysDifference <= 6) {\n            return this.format(this._intl.daysAgoLabel, daysDifference);\n        }\n        if (daysDifference <= 13) {\n            return this._intl.lastWeekLabel;\n        }\n        if (daysDifference <= 27) {\n            const weeks = Math.round(daysDifference / 7);\n            return this.format(this._intl.weeksAgoLabel, weeks);\n        }\n        if (daysDifference <= 45) {\n            return this._intl.lastMonthLabel;\n        }\n        if (daysDifference <= 345) {\n            const months = Math.round(daysDifference / 30.416);\n            return this.format(this._intl.monthsAgoLabel, months);\n        }\n        if (daysDifference <= 545) {\n            return this._intl.lastYearLabel;\n        }\n\n        // (daysDifference > 545)\n        const years = Math.round(daysDifference / 365);\n        return this.format(this._intl.yearsAgoLabel, years);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._midnightSubscription?.unsubscribe();\n        this._intlChangesSubscription.unsubscribe();\n    }\n\n    /**\n     * Formats the given string with the given arguments.\n     *\n     * @private\n     * @param self The string to format.\n     * @param args The arguments to format the string with.\n     * @returns The formatted string.\n     *\n     * @example\n     * ```ts\n     * const formattedString = this.formatPipe.format('Hello, {0}!', 'World');\n     * console.log(formattedString); // Output: 'Hello, World!'\n     * ```\n     */\n    private format(self: string, ...args: Array<unknown>): string {\n        const allArgs = new Array<unknown>();\n        args.forEach((x) => {\n            if (Array.isArray(x)) {\n                x.forEach((y) => {\n                    allArgs.push(y);\n                });\n            } else {\n                allArgs.push(x);\n            }\n        });\n\n        return self.replace(/{(\\d+)}/g, (match, index) => {\n            const value = allArgs[index];\n            if (value !== undefined) {\n                return typeof value === 'string' || typeof value === 'number'\n                    ? String(value)\n                    : JSON.stringify(value);\n            }\n\n            return match;\n        });\n    }\n\n    // #endregion\n\n}\n\n// #endregion\n\n/**\n * The `DateAgoPipeIntl` class.\n *\n * @public\n */\n@Injectable()\nexport class DateAgoPipeIntl extends DateAgoIntl {\n\n    // #region Fields\n\n    private readonly _changesSubject: Subject<void>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `DateAgoPipeIntl` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._changesSubject = new Subject();\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Stream to emit from when labels are changed. Use this to notify components when the labels have\n     * changed after initialization.\n     *\n     * @public\n     * @readonly\n     */\n    public get changes(): Subject<void> {\n        return this._changesSubject;\n    }\n\n    // #endregion\n\n}\n\n/**\n * Provides the `DateAgoPipe` and its internationalization.\n *\n * @public\n * @returns The provider for the `DateAgoPipe`.\n */\nexport function provideDateAgoPipe(): Provider {\n    return {\n        provide: DateAgoPipeIntl,\n        useFactory: (parent: DateAgoPipeIntl | null): DateAgoPipeIntl => parent ?? new DateAgoPipeIntl(),\n        deps: [[new Optional(), new SkipSelf(), DateAgoPipeIntl]]\n    };\n}\n","// #region Imports\n\nimport { Pipe, type PipeTransform } from '@angular/core';\nimport { filterByMemberPath } from '@breadstone/mosaik-elements';\n\n// #endregion\n\n/**\n * A thin pipe wrapper delegating its work to the {@link filterByMemberPath} function.\n *\n * @public\n */\n@Pipe({\n    name: 'filterBy'\n})\nexport class FilterByPipe implements PipeTransform {\n\n    // #region Methods\n\n    public transform<T>(...args: Parameters<typeof filterByMemberPath<T>>): ReturnType<typeof filterByMemberPath<T>> {\n        return filterByMemberPath<T>(...args);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Pipe, type PipeTransform } from '@angular/core';\n\n// #endregion\n\n/**\n * Transforms a `string` to a formatted `string` where one or more format items in a string with the string representation of a specified object.\n *\n * @public\n */\n@Pipe({\n    name: 'format'\n})\nexport class FormatPipe implements PipeTransform {\n\n    // #region Methods\n\n    public transform(value: string, ...args: Array<any>): string {\n        return this.format(value, ...args);\n    }\n\n    /**\n     * Formats the given string with the given arguments.\n     *\n     * @private\n     * @param self The string to format.\n     * @param args The arguments to format the string with.\n     * @returns The formatted string.\n     *\n     * @example\n     * ```ts\n     * const formattedString = this.formatPipe.format('Hello, {0}!', 'World');\n     * console.log(formattedString); // Output: 'Hello, World!'\n     * ```\n     */\n    private format(self: string, ...args: Array<any>): string {\n        const allArgs = new Array<any>();\n        args.forEach((x) => {\n            if (Array.isArray(x)) {\n                x.forEach((y) => {\n                    allArgs.push(y);\n                });\n            } else {\n                allArgs.push(x);\n            }\n        });\n\n        return self.replace(/{(\\d+)}/g, (match, index) => {\n            if (allArgs[index] !== undefined) {\n                return allArgs[index];\n            }\n\n            return match;\n        });\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { Pipe, type PipeTransform } from '@angular/core';\nimport { orderByMemberPath } from '@breadstone/mosaik-elements';\n\n// #endregion\n\n/**\n * A thin pipe wrapper delegating its work to the {@link orderByMemberPath} function.\n *\n * @public\n */\n@Pipe({\n    name: 'orderBy'\n})\nexport class OrderByPipe implements PipeTransform {\n\n    // #region Methods\n\n    public transform<T>(...args: Parameters<typeof orderByMemberPath<T>>): ReturnType<typeof orderByMemberPath<T>> {\n        return orderByMemberPath<T>(...args);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { ChangeDetectorRef, Injectable, NgZone, Optional, Pipe, Provider, SkipSelf, type OnDestroy, type PipeTransform } from '@angular/core';\nimport { TimeAgoIntl } from '@breadstone/mosaik-elements-foundation';\nimport { Subject, type Subscription } from 'rxjs';\nimport { TimeUpdateService } from '../Services/TimeUpdateService';\n\n// #endregion\n\n/**\n * Transforms a `string` date to into a time ago string.\n *\n * @public\n */\n@Pipe({\n    name: 'timeAgo',\n    pure: false\n})\nexport class TimeAgoPipe implements PipeTransform, OnDestroy {\n\n    // #region Fields\n\n    private readonly _intl: TimeAgoPipeIntl;\n    private readonly _changeDetectorRef: ChangeDetectorRef;\n    private readonly _zone: NgZone;\n    private readonly _timeUpdateService: TimeUpdateService;\n    private readonly _intlChangesSubscription: Subscription;\n    private _tickSubscription: Subscription | null = null;\n    private _currentTickType: 'second' | 'minute' | 'hour' | null = null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TimeAgoPipe` class.\n     *\n     * @public\n     */\n    public constructor(intl: TimeAgoPipeIntl, changeDetectorRef: ChangeDetectorRef, zone: NgZone, timeUpdateService: TimeUpdateService) {\n        this._intl = intl;\n        this._intlChangesSubscription = intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n        this._changeDetectorRef = changeDetectorRef;\n        this._zone = zone;\n        this._timeUpdateService = timeUpdateService;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public transform(value: string | Date): string {\n        const time = typeof value === 'string' ? new Date(value).getTime() : value.getTime();\n        const seconds = Math.round(Math.abs((new Date().getTime() - time) / 1000));\n\n        if (Number.isNaN(seconds)) {\n            this.unsubscribeFromTicks();\n            return '';\n        }\n\n        // Determine which tick interval to use based on time difference\n        const requiredTickType = this.getRequiredTickType(seconds);\n        if (this._currentTickType !== requiredTickType) {\n            this.subscribeToTicks(requiredTickType);\n        }\n\n        const minutes = Math.round(Math.abs(seconds / 60));\n        const hours = Math.round(Math.abs(minutes / 60));\n        const days = Math.round(Math.abs(hours / 24));\n        const months = Math.round(Math.abs(days / 30.416));\n        const years = Math.round(Math.abs(days / 365));\n\n        if (seconds <= 45) {\n            return this._intl.fewSecondsLabel;\n        }\n        if (seconds <= 90) {\n            return this._intl.minuteLabel;\n        }\n        if (minutes <= 45) {\n            return this.format(this._intl.minutesLabel, minutes);\n        }\n        if (minutes <= 90) {\n            return this._intl.hourLabel;\n        }\n        if (hours <= 22) {\n            return this.format(this._intl.hoursLabel, hours);\n        }\n        if (hours <= 36) {\n            return this._intl.dayLabel;\n        }\n        if (days <= 25) {\n            return this.format(this._intl.daysLabel, days);\n        }\n        if (days <= 45) {\n            return this._intl.monthLabel;\n        }\n        if (days <= 345) {\n            return this.format(this._intl.monthsLabel, months);\n        }\n        if (days <= 545) {\n            return this._intl.yearLabel;\n        }\n\n        // (days > 545)\n        return this.format(this._intl.yearsLabel, years);\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this.unsubscribeFromTicks();\n        this._intlChangesSubscription.unsubscribe();\n    }\n\n    /**\n     * Determines the required tick type based on seconds difference.\n     *\n     * @private\n     * @param seconds The number of seconds difference.\n     * @returns The required tick type.\n     */\n    private getRequiredTickType(seconds: number): 'second' | 'minute' | 'hour' {\n        const min = 60;\n        const hr = min * 60;\n        const day = hr * 24;\n\n        if (seconds < min) {\n            return 'second'; // Update every 2 seconds\n        }\n        if (seconds < hr) {\n            return 'minute'; // Update every 30 seconds\n        }\n        if (seconds < day) {\n            return 'hour'; // Update every 5 minutes\n        }\n\n        return 'hour'; // Update every hour for days+\n    }\n\n    /**\n     * Subscribes to the appropriate tick stream.\n     *\n     * @private\n     * @param tickType The type of tick stream to subscribe to.\n     */\n    private subscribeToTicks(tickType: 'second' | 'minute' | 'hour'): void {\n        this.unsubscribeFromTicks();\n        this._currentTickType = tickType;\n\n        const tick$ = tickType === 'second'\n            ? this._timeUpdateService.getSecondTick()\n            : tickType === 'minute'\n                ? this._timeUpdateService.getMinuteTick()\n                : this._timeUpdateService.getHourTick();\n\n        this._tickSubscription = tick$.subscribe(() => {\n            this._zone.run(() => this._changeDetectorRef.markForCheck());\n        });\n    }\n\n    /**\n     * Unsubscribes from the current tick stream.\n     *\n     * @private\n     */\n    private unsubscribeFromTicks(): void {\n        if (this._tickSubscription) {\n            this._tickSubscription.unsubscribe();\n            this._tickSubscription = null;\n        }\n        this._currentTickType = null;\n    }\n\n    /**\n     * Formats the given string with the given arguments.\n     *\n     * @private\n     * @param self The string to format.\n     * @param args The arguments to format the string with.\n     * @returns The formatted string.\n     *\n     * @example\n     * ```ts\n     * const formattedString = this.formatPipe.format('Hello, {0}!', 'World');\n     * console.log(formattedString); // Output: 'Hello, World!'\n     * ```\n     */\n    private format(self: string, ...args: Array<unknown>): string {\n        const allArgs = new Array<unknown>();\n        args.forEach((x) => {\n            if (Array.isArray(x)) {\n                x.forEach((y) => {\n                    allArgs.push(y);\n                });\n            } else {\n                allArgs.push(x);\n            }\n        });\n\n        return self.replace(/{(\\d+)}/g, (match, index) => {\n            const value = allArgs[index];\n            if (value !== undefined) {\n                return typeof value === 'string' || typeof value === 'number'\n                    ? String(value)\n                    : JSON.stringify(value);\n            }\n\n            return match;\n        });\n    }\n\n    // #endregion\n\n}\n\n// #endregion\n\n/**\n * The `TimeAgoPipeIntl` class.\n *\n * @public\n */\n@Injectable()\nexport class TimeAgoPipeIntl extends TimeAgoIntl {\n\n    // #region Fields\n\n    private readonly _changesSubject: Subject<void>;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TimeAgoPipeIntl` class.\n     *\n     * @public\n     */\n    public constructor() {\n        super();\n\n        this._changesSubject = new Subject();\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Stream to emit from when labels are changed. Use this to notify components when the labels have\n     * changed after initialization.\n     *\n     * @public\n     * @readonly\n     */\n    public get changes(): Subject<void> {\n        return this._changesSubject;\n    }\n\n    // #endregion\n\n}\n\n/**\n * Provides the `TimeAgoPipe` and its internationalization.\n *\n * @public\n * @returns The provider for the `TimeAgoPipe`.\n */\nexport function provideTimeAgoPipe(): Provider {\n    return {\n        provide: TimeAgoPipeIntl,\n        useFactory: (parent: TimeAgoPipeIntl | null): TimeAgoPipeIntl => parent ?? new TimeAgoPipeIntl(),\n        deps: [[new Optional(), new SkipSelf(), TimeAgoPipeIntl]]\n    };\n}\n","// #region Imports\n\nimport { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { TimeUpdateService } from './TimeUpdateService';\nimport { DateAgoPipe, DateAgoPipeIntl } from '../Pipes/DateAgoPipe';\nimport { TimeAgoPipe, TimeAgoPipeIntl } from '../Pipes/TimeAgoPipe';\n\n// #endregion\n\n/**\n * Provides the TimeUpdateService and related pipes for time-based updates.\n *\n * @public\n * @returns The environment providers for time updates.\n */\nexport function provideTimeUpdates(): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TimeUpdateService,\n            useClass: TimeUpdateService\n        },\n        {\n            provide: TimeAgoPipeIntl,\n            useClass: TimeAgoPipeIntl\n        },\n        {\n            provide: TimeAgoPipe,\n            useClass: TimeAgoPipe\n        },\n        {\n            provide: DateAgoPipeIntl,\n            useClass: DateAgoPipeIntl\n        },\n        {\n            provide: DateAgoPipe,\n            useClass: DateAgoPipe\n        }\n    ]);\n}\n","/**\n * @internal\n */\nexport function deepMerge<T extends object>(target: T, source?: DeepPartial<T>): T {\n    if (!source) {\n        return structuredClone(target);\n    }\n\n    const isObject = (val: unknown): val is object => typeof val === 'object' && val !== null && !Array.isArray(val);\n    const result = { ...target };\n\n    for (const key of Object.keys(source) as Array<keyof T>) {\n        const sourceValue = source[key];\n        const targetValue = target[key];\n\n        if (isObject(targetValue) && isObject(sourceValue)) {\n            result[key] = deepMerge(targetValue, sourceValue);\n        } else if (sourceValue !== undefined) {\n            result[key] = sourceValue as T[typeof key];\n        }\n    }\n\n    return result;\n}\n\nexport type DeepPartial<T> = {\n    [P in keyof T]?: T[P] extends Array<infer U>\n    ? Array<DeepPartial<U>>\n    : T[P] extends Map<infer K, infer V>\n    ? Map<K, DeepPartial<V>>\n    : T[P] extends Set<infer U>\n    ? Set<DeepPartial<U>>\n    : T[P] extends object\n    ? T[P] extends Date | RegExp | Function\n    ? T[P]\n    : DeepPartial<T[P]>\n    : T[P];\n};\n","// #region Imports\n\nimport { InjectionToken, type Signal } from '@angular/core';\nimport type { ITheme, ThemeMode } from '@breadstone/mosaik-themes';\n\n// #endregion\n\n/**\n * @public\n */\nexport const THEME = new InjectionToken<Signal<ITheme>>('MOSAIK_THEME');\n\n/**\n * @public\n */\nexport const THEME_MODE = new InjectionToken<Signal<ThemeMode>>('MOSAIK_THEME_MODE');\n","// #region Imports\n\nimport { DestroyRef, inject, type Signal } from '@angular/core';\nimport { ThemeService as FoundationThemeService } from '@breadstone/mosaik-elements-foundation';\nimport { ThemeObserver, type ITheme, type ThemeMode } from '@breadstone/mosaik-themes';\nimport { IDisposableLike } from 'libs/mosaik-elements/dist/Index';\nimport { THEME, THEME_MODE } from './ThemeTokens';\n\n// #endregion\n\n/**\n * The `ThemeService` class.\n *\n * @public\n */\nexport class ThemeService {\n\n    // #region Fields\n\n    private readonly _theme: Signal<ITheme>;\n    private readonly _themeMode: Signal<ThemeMode>;\n    private readonly _themeObserver: ThemeObserver;\n    private _themeModeChangedSubscription: IDisposableLike | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `{@link ThemeService}` class.\n     *\n     * @public\n     */\n    public constructor(\n        theme: Signal<ITheme> = inject(THEME),\n        themeMode: Signal<ThemeMode> = inject(THEME_MODE),\n        themeObserver: ThemeObserver = inject(ThemeObserver),\n        destroyRef: DestroyRef = inject(DestroyRef)\n    ) {\n        this._theme = theme;\n        this._themeMode = themeMode;\n        this._themeObserver = themeObserver;\n        this._themeModeChangedSubscription = null;\n\n        destroyRef.onDestroy(() => {\n            this._themeModeChangedSubscription?.dispose();\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    public get schemes(): Array<string> {\n        return Object.keys(this._theme().scheme);\n    }\n\n    public get palettes(): Array<string> {\n        return Object.keys(this._theme().palette);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Initializes the theme service by subscribing to theme changes and applying the initial theme.\n     *\n     * @public\n     */\n    public initialize(): void {\n        this._themeModeChangedSubscription = this._themeObserver.themeModeChanged.subscribe(mode => {\n            if (mode) {\n                this._themeObserver.applyTheme(this._theme().name, mode);\n                FoundationThemeService.instance.applyTheme(this._theme());\n            }\n        });\n\n        this._themeObserver.applyTheme(this._theme().name, this._themeMode());\n        FoundationThemeService.instance.applyTheme(this._theme());\n    }\n\n    /**\n     * Applies the specified theme mode to the current theme.\n     *\n     * @public\n     */\n    public applyTheme(mode: ThemeMode): void {\n        this._themeObserver.applyTheme(this._theme().name, mode);\n        FoundationThemeService.instance.applyTheme(this._theme());\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { inject, makeEnvironmentProviders, provideEnvironmentInitializer, signal, type EnvironmentProviders } from '@angular/core';\nimport { ThemeGenerator, ThemeGeneratorServiceLocator, ThemeObserver, ThemeObserverServiceLocator, type ITheme, type ThemeMode } from '@breadstone/mosaik-themes';\nimport { deepMerge, type DeepPartial } from '../Utils/deepMerge';\nimport { ThemeService } from './ThemeService';\nimport { THEME, THEME_MODE } from './ThemeTokens';\n\n// #endregion\n\n/**\n * A type that represents a theme override.\n *\n * @public\n */\nexport type ThemeOverride = Omit<DeepPartial<ITheme>, 'name'>;\n\n/**\n * Provides the theme functionality.\n *\n * @public\n */\nexport function provideTheme(config: {\n    theme: ITheme;\n    overrides?: ThemeOverride;\n    mode: ThemeMode;\n}): EnvironmentProviders {\n    return makeEnvironmentProviders([{\n        provide: THEME,\n        useValue: signal(deepMerge(config.theme, config.overrides))\n    }, {\n        provide: THEME_MODE,\n        useValue: signal(config.mode)\n    }, {\n        provide: ThemeService,\n        useClass: ThemeService\n    }, {\n        provide: ThemeGenerator,\n        useFactory: () => ThemeGeneratorServiceLocator.current\n    }, {\n        provide: ThemeObserver,\n        useFactory: () => ThemeObserverServiceLocator.current\n    }, provideEnvironmentInitializer(() => {\n        const themeService = inject(ThemeService);\n        themeService.initialize();\n    })]);\n\n}\n","// #region Imports\n\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { TranslatorService } from '@breadstone/mosaik-elements-foundation';\n\n// #endregion\n\ninterface ITranslation {\n    [key: string]: string | ITranslation;\n}\n\n/**\n * A service for translating keys into strings.\n *\n * @public\n */\n@Injectable()\nexport class TranslateService {\n\n    // #region Fields\n\n    private readonly _translator: TranslatorService;\n    private readonly _languageChanged: Observable<string>;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor(\n        translator: TranslatorService = inject(TranslatorService)\n    ) {\n        this._translator = translator;\n        this._languageChanged = new Observable<string>((observer) => {\n            const dispose = this._translator.languageChanged.subscribe((x) => observer.next(x ?? ''));\n            return () => {\n                dispose.dispose();\n            };\n        });\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets or sets the current language.\n     *\n     * @public\n     */\n    public get currentLanguage(): string {\n        return this._translator.currentLanguage;\n    }\n    public set currentLanguage(value: string) {\n        this._translator.currentLanguage = value;\n    }\n\n    /**\n     *  Gets an observable that emits the current language whenever it changes.\n     *\n     * @public\n     * @readonly\n     */\n    public get languageChanged(): Observable<string> {\n        return this._languageChanged;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Adds the given translations for the given language.\n     *\n     * @public\n     */\n    public addTranslations(lang: string, translations: ITranslation): void {\n        this._translator.addTranslations(lang, translations);\n    }\n\n    /**\n     * Translates the given key.\n     *\n     * @public\n     */\n    public translate(key: string, ...args: Array<unknown>): string {\n        return this._translator.translate(key, ...args);\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { DOCUMENT, type EnvironmentProviders, inject, makeEnvironmentProviders, provideAppInitializer, provideEnvironmentInitializer } from '@angular/core';\nimport { emit } from '@breadstone/mosaik-elements';\nimport { Translator, TranslatorService, TranslatorServiceLocator } from '@breadstone/mosaik-elements-foundation';\nimport { TranslateService } from './TranslateService';\n\n// #endregion\n\n/**\n * @public\n */\nexport function provideTranslationRegistry(config?: {\n    defaultLanguageResolver?: () => string;\n    translations?: Record<string, Record<string, string>>;\n}): EnvironmentProviders {\n    return makeEnvironmentProviders([{\n        provide: TranslateService,\n        useFactory: () => {\n            const document = inject(DOCUMENT);\n            const service = new TranslatorService(config?.defaultLanguageResolver ?? Translator.DEFAULT_LANGUAGE_RESOLVER);\n            document.documentElement.lang = service.currentLanguage;\n\n            service.languageChanged.subscribe(() => {\n                // Set the document root language\n                document.documentElement.lang = service.currentLanguage;\n                // Handle it and trigger a global event\n                emit(document, 'languageChanged', {\n                    bubbles: true,\n                    cancelable: true\n                });\n            });\n\n            Object.entries(config?.translations ?? {}).forEach(([lang, translations]) => {\n                service.addTranslations(lang, translations);\n            });\n\n            TranslatorServiceLocator.set(service);\n\n            return new TranslateService(service);\n        }\n    }]);\n}\n\n/**\n * Provides translations for the application.\n *\n * Accepts either synchronous `Record<string, string>` values per language,\n * or `Promise<Record<string, string>>` for lazy-loaded translations (e.g. via dynamic `import()`).\n *\n * When promises are detected, an `APP_INITIALIZER` is used to ensure translations are\n * available before the application renders. If a promise rejects, the translation key\n * itself is used as fallback (no app crash).\n *\n * @public\n */\nexport function provideTranslations(translations?: Record<string, Record<string, string> | Promise<Record<string, string>>>): EnvironmentProviders {\n    const entries = Object.entries(translations ?? {});\n    const hasAsync = entries.some(([, value]) => value != null && typeof (value as Promise<unknown>).then === 'function');\n\n    if (!hasAsync) {\n        return makeEnvironmentProviders([\n            provideEnvironmentInitializer(() => {\n                const translate = inject(TranslateService);\n\n                entries.forEach(([lang, data]) => {\n                    translate.addTranslations(lang, data as Record<string, string>);\n                });\n            })\n        ]);\n    }\n\n    return makeEnvironmentProviders([\n        provideAppInitializer(async () => {\n            const translate = inject(TranslateService);\n            const resolved = await Promise.all(\n                entries.map(async ([lang, data]) => {\n                    try {\n                        const result = await data;\n\n                        return [lang, result] as const;\n                    } catch {\n                        return [lang, {}] as const;\n                    }\n                })\n            );\n\n            resolved.forEach(([lang, data]) => {\n                translate.addTranslations(lang, data);\n            });\n        })\n    ]);\n}\n","// #region Imports\n\nimport { ChangeDetectorRef, Directive, EmbeddedViewRef, inject, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { TranslateService } from './TranslateService';\nimport { Subscription } from 'rxjs';\n\n// #endregion\n\n/**\n * @private\n */\ninterface ITranslateContext {\n    $implicit: (key: string, params?: Record<string, any>) => string;\n}\n\n/**\n * Structural directive for translating text.\n *\n * @public\n */\n@Directive({\n    selector: '[mosaikTranslate]'\n})\nexport class TranslateDirective implements OnInit, OnDestroy {\n\n    // #region Fields\n\n    private readonly _vcr: ViewContainerRef;\n    private readonly _templateRef: TemplateRef<ITranslateContext>;\n    private readonly _cdr: ChangeDetectorRef;\n    private readonly _translate: TranslateService;\n    private _view: EmbeddedViewRef<ITranslateContext> | null;\n    private _scope: string;\n    private _languageChangedSubscription: Subscription | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TranslateDirective` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._vcr = inject(ViewContainerRef);\n        this._templateRef = inject(TemplateRef<ITranslateContext>);\n        this._cdr = inject(ChangeDetectorRef);\n        this._translate = inject(TranslateService);\n        this._languageChangedSubscription = null;\n        this._view = null;\n        this._scope = '';\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Gets or sets the `scope` property.\n     *\n     * @public\n     */\n    @Input('translateScope')\n    public get scope(): string {\n        return this._scope;\n    }\n    public set scope(value: string) {\n        this._scope = value;\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * @public\n     */\n    public ngOnInit(): void {\n        this.invalidate();\n        this._languageChangedSubscription = this._translate.languageChanged\n            .subscribe(() => this.onCultureChanged());\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._languageChangedSubscription?.unsubscribe();\n    }\n\n    /**\n     * @private\n     */\n    private onCultureChanged(): void {\n        this.invalidate();\n        this._cdr.markForCheck();\n    }\n\n    /**\n     * @private\n     */\n    private invalidate(): void {\n        if (this._view) {\n            // when the lang changes we need to change the reference so Angular will update the view\n            this._view.context.$implicit = this.getImplicitFn();\n        } else {\n            this._view = this._vcr.createEmbeddedView(this._templateRef, {\n                $implicit: this.getImplicitFn()\n            });\n        }\n    }\n\n    /**\n     * @private\n     */\n    private getImplicitFn(): (key: string, params?: Record<string, any>) => string {\n        return (key, params) => {\n            const scopedKey = this._scope\n                ? `${this._scope}.${key}`\n                : key;\n\n            return this._translate.translate(scopedKey, params);\n        };\n    }\n\n    // #endregion\n\n}\n","// #region Imports\n\nimport { ChangeDetectorRef, inject, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './TranslateService';\nimport { Subscription } from 'rxjs';\n\n// #endregion\n\n/**\n * A pipe that translates a key into a localized string.\n *\n * @public\n */\n@Pipe({\n    name: 'translate',\n    pure: true\n})\nexport class TranslatePipe\n    implements PipeTransform, OnDestroy {\n\n    // #region Fields\n\n    private readonly _translate: TranslateService;\n    private readonly _cdr: ChangeDetectorRef;\n    private _lastKey: string | null;\n    private _lastParams: Record<string, any> | undefined;\n    private _lastScope: string | undefined;\n    private _lastValue: string | null;\n    private readonly _languageChangedSubscription: Subscription | null;\n\n    // #endregion\n\n    // #region Ctor\n\n    /**\n     * Constructs a new instance of the `TranslatePipe` class.\n     *\n     * @public\n     */\n    public constructor() {\n        this._translate = inject(TranslateService);\n        this._cdr = inject(ChangeDetectorRef);\n        this._lastKey = null;\n        this._lastParams = undefined;\n        this._lastScope = undefined;\n        this._lastValue = null;\n\n        this._languageChangedSubscription = this._translate.languageChanged.subscribe(() => {\n            this._lastValue = null;\n            this._cdr.markForCheck();\n        });\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Translates the specified key into a localized string.\n     *\n     * @public\n     * @param key - The key to translate.\n     * @param params - The parameters to use for translation.\n     * @param scope - The scope to use for translation.\n     * @returns The translated string.\n     */\n    public transform(key: string, params?: Record<string, any>, scope?: string): string {\n        const scopedKey = scope ? `${scope}.${key}` : key;\n\n        // Only re-translate if key, params, or scope changed\n        if (this._lastKey !== scopedKey || !this.isEqual(this._lastParams, params)) {\n            this._lastKey = scopedKey;\n            this._lastParams = params;\n            this._lastScope = scope;\n            this._lastValue = this._translate.translate(scopedKey, params);\n        }\n\n        return this._lastValue ?? '';\n    }\n\n    /**\n     * @public\n     */\n    public ngOnDestroy(): void {\n        this._languageChangedSubscription?.unsubscribe();\n    }\n\n    /**\n     * Compares two objects for equality.\n     *\n     * @private\n     * @param obj1 - The first object.\n     * @param obj2 - The second object.\n     * @returns `true` if the objects are equal, otherwise `false`.\n     */\n    private isEqual(obj1: Record<string, any> | undefined, obj2: Record<string, any> | undefined): boolean {\n        if (obj1 === obj2) {\n            return true;\n        }\n\n        if (!obj1 || !obj2) {\n            return false;\n        }\n\n        return JSON.stringify(obj1) === JSON.stringify(obj2);\n    }\n\n    // #endregion\n\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AutoCompleteBoxElement, IElementValueAccessor, autoCompleteBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AutoCompleteBoxComponent.\n * Use this token to provide default properties for the AutoCompleteBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const AUTO_COMPLETE_BOX_DEFAULT_PROPS = new InjectionToken<Partial<AutoCompleteBoxElement.Props>>('MOSAIK_AUTO_COMPLETE_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input value.\n * @slot suffix - Content placed after the input value.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-autocompletebox', AutoCompleteBoxElement),\n    inputs: ['inputId', 'listboxId', 'filterInputId', 'text', 'filterText', 'highlightedIndex', 'shouldRenderSuggestions', 'hasSuggestions', 'activeDescendantId', 'shouldShowNoResultsMessage', 'shouldShowLoadingState', 'intl', 'placeholder', 'filterPlaceholder', 'required', 'readonly', 'textAlign', 'renderItem', 'dropDownSync', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'appearance', 'variant', 'label', 'isClearable', 'invalid', 'value', 'themeName', 'minimumPrefixLength', 'minimumPopulateDelay', 'isTextCompletionEnabled', 'searchMode', 'displayMemberPath', 'valueMemberPath', 'items', 'itemsProvider', 'populating', 'populated', 'itemSelected', 'filteredItems', 'isPopulating', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['checkValidity', 'onFilterCallback', 'onFloatingActiveChanged', 'onSelectCallback', 'onFilterInput', 'onSuggestionMouseDown', 'onKeyDown', 'onCaretClick', 'getItemValue', 'onSuggestionClick', 'renderSuggestionItem', 'renderHighlightedItem', 'getOptionId', 'clear', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'updateSearchText', 'updateSelectedItem', 'getDisplayValue', 'reset', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-autocompletebox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => AutoCompleteBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => AutoCompleteBoxComponent)\n        }\n    ]\n})\nexport class AutoCompleteBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: AutoCompleteBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = autoCompleteBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('autoCompletePopulating', (e) => this.autoCompletePopulating.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('autoCompletePopulated', (e) => this.autoCompletePopulated.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(AUTO_COMPLETE_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `inputId` property.\n     *\n     * @public\n     */\n    public readonly inputId: InputSignal<AutoCompleteBoxElement['inputId'] | undefined> = input<AutoCompleteBoxElement['inputId']>();\n\n    /**\n     * Signal input for the `listboxId` property.\n     *\n     * @public\n     */\n    public readonly listboxId: InputSignal<AutoCompleteBoxElement['listboxId'] | undefined> = input<AutoCompleteBoxElement['listboxId']>();\n\n    /**\n     * Signal input for the `filterInputId` property.\n     *\n     * @public\n     */\n    public readonly filterInputId: InputSignal<AutoCompleteBoxElement['filterInputId'] | undefined> = input<AutoCompleteBoxElement['filterInputId']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<AutoCompleteBoxElement['text'] | undefined> = input<AutoCompleteBoxElement['text']>();\n\n    /**\n     * Signal input for the `filterText` property.\n     *\n     * @public\n     */\n    public readonly filterText: InputSignal<AutoCompleteBoxElement['filterText'] | undefined> = input<AutoCompleteBoxElement['filterText']>();\n\n    /**\n     * Signal input for the `highlightedIndex` property.\n     *\n     * @public\n     */\n    public readonly highlightedIndex: InputSignal<AutoCompleteBoxElement['highlightedIndex'] | undefined> = input<AutoCompleteBoxElement['highlightedIndex']>();\n\n    /**\n     * Signal input for the `shouldRenderSuggestions` property.\n     *\n     * @public\n     */\n    public readonly shouldRenderSuggestions: InputSignal<AutoCompleteBoxElement['shouldRenderSuggestions'] | undefined> = input<AutoCompleteBoxElement['shouldRenderSuggestions']>();\n\n    /**\n     * Signal input for the `hasSuggestions` property.\n     *\n     * @public\n     */\n    public readonly hasSuggestions: InputSignal<AutoCompleteBoxElement['hasSuggestions'] | undefined> = input<AutoCompleteBoxElement['hasSuggestions']>();\n\n    /**\n     * Signal input for the `activeDescendantId` property.\n     *\n     * @public\n     */\n    public readonly activeDescendantId: InputSignal<AutoCompleteBoxElement['activeDescendantId'] | undefined> = input<AutoCompleteBoxElement['activeDescendantId']>();\n\n    /**\n     * Signal input for the `shouldShowNoResultsMessage` property.\n     *\n     * @public\n     */\n    public readonly shouldShowNoResultsMessage: InputSignal<AutoCompleteBoxElement['shouldShowNoResultsMessage'] | undefined> = input<AutoCompleteBoxElement['shouldShowNoResultsMessage']>();\n\n    /**\n     * Signal input for the `shouldShowLoadingState` property.\n     *\n     * @public\n     */\n    public readonly shouldShowLoadingState: InputSignal<AutoCompleteBoxElement['shouldShowLoadingState'] | undefined> = input<AutoCompleteBoxElement['shouldShowLoadingState']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<AutoCompleteBoxElement['intl'] | undefined> = input<AutoCompleteBoxElement['intl']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<AutoCompleteBoxElement['placeholder'] | undefined> = input<AutoCompleteBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `filterPlaceholder` property.\n     *\n     * @public\n     */\n    public readonly filterPlaceholder: InputSignal<AutoCompleteBoxElement['filterPlaceholder'] | undefined> = input<AutoCompleteBoxElement['filterPlaceholder']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<AutoCompleteBoxElement['required'] | undefined> = input<AutoCompleteBoxElement['required']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<AutoCompleteBoxElement['readonly'] | undefined> = input<AutoCompleteBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<AutoCompleteBoxElement['textAlign'] | undefined> = input<AutoCompleteBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `renderItem` property.\n     *\n     * @public\n     */\n    public readonly renderItem: InputSignal<AutoCompleteBoxElement['renderItem'] | undefined> = input<AutoCompleteBoxElement['renderItem']>();\n\n    /**\n     * Signal input for the `dropDownSync` property.\n     *\n     * @public\n     */\n    public readonly dropDownSync: InputSignal<AutoCompleteBoxElement['dropDownSync'] | undefined> = input<AutoCompleteBoxElement['dropDownSync']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<AutoCompleteBoxElement['dropDownPlacement'] | undefined> = input<AutoCompleteBoxElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<AutoCompleteBoxElement['dropDownStrategy'] | undefined> = input<AutoCompleteBoxElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<AutoCompleteBoxElement['dropDownDistance'] | undefined> = input<AutoCompleteBoxElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<AutoCompleteBoxElement['dropDownSkidding'] | undefined> = input<AutoCompleteBoxElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<AutoCompleteBoxElement['dropDownStaysOpen'] | undefined> = input<AutoCompleteBoxElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<AutoCompleteBoxElement['dropDownMaxHeight'] | undefined> = input<AutoCompleteBoxElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<AutoCompleteBoxElement['dropDownHeight'] | undefined> = input<AutoCompleteBoxElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<AutoCompleteBoxElement['dropDownWidth'] | undefined> = input<AutoCompleteBoxElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<AutoCompleteBoxElement['dropDownMaxWidth'] | undefined> = input<AutoCompleteBoxElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<AutoCompleteBoxElement['isDropDownOpen'] | undefined> = input<AutoCompleteBoxElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<AutoCompleteBoxElement['appearance'] | undefined> = input<AutoCompleteBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<AutoCompleteBoxElement['variant'] | undefined> = input<AutoCompleteBoxElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<AutoCompleteBoxElement['label'] | undefined> = input<AutoCompleteBoxElement['label']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<AutoCompleteBoxElement['isClearable'] | undefined> = input<AutoCompleteBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<AutoCompleteBoxElement['invalid'] | undefined> = input<AutoCompleteBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<AutoCompleteBoxElement['value'] | undefined> = input<AutoCompleteBoxElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AutoCompleteBoxElement['themeName'] | undefined> = input<AutoCompleteBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `minimumPrefixLength` property.\n     *\n     * @public\n     */\n    public readonly minimumPrefixLength: InputSignal<AutoCompleteBoxElement['minimumPrefixLength'] | undefined> = input<AutoCompleteBoxElement['minimumPrefixLength']>();\n\n    /**\n     * Signal input for the `minimumPopulateDelay` property.\n     *\n     * @public\n     */\n    public readonly minimumPopulateDelay: InputSignal<AutoCompleteBoxElement['minimumPopulateDelay'] | undefined> = input<AutoCompleteBoxElement['minimumPopulateDelay']>();\n\n    /**\n     * Signal input for the `isTextCompletionEnabled` property.\n     *\n     * @public\n     */\n    public readonly isTextCompletionEnabled: InputSignal<AutoCompleteBoxElement['isTextCompletionEnabled'] | undefined> = input<AutoCompleteBoxElement['isTextCompletionEnabled']>();\n\n    /**\n     * Signal input for the `searchMode` property.\n     *\n     * @public\n     */\n    public readonly searchMode: InputSignal<AutoCompleteBoxElement['searchMode'] | undefined> = input<AutoCompleteBoxElement['searchMode']>();\n\n    /**\n     * Signal input for the `displayMemberPath` property.\n     *\n     * @public\n     */\n    public readonly displayMemberPath: InputSignal<AutoCompleteBoxElement['displayMemberPath'] | undefined> = input<AutoCompleteBoxElement['displayMemberPath']>();\n\n    /**\n     * Signal input for the `valueMemberPath` property.\n     *\n     * @public\n     */\n    public readonly valueMemberPath: InputSignal<AutoCompleteBoxElement['valueMemberPath'] | undefined> = input<AutoCompleteBoxElement['valueMemberPath']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<AutoCompleteBoxElement['items'] | undefined> = input<AutoCompleteBoxElement['items']>();\n\n    /**\n     * Signal input for the `itemsProvider` property.\n     *\n     * @public\n     */\n    public readonly itemsProvider: InputSignal<AutoCompleteBoxElement['itemsProvider'] | undefined> = input<AutoCompleteBoxElement['itemsProvider']>();\n\n    /**\n     * Signal input for the `populating` property.\n     *\n     * @public\n     */\n    public readonly populating: InputSignal<AutoCompleteBoxElement['populating'] | undefined> = input<AutoCompleteBoxElement['populating']>();\n\n    /**\n     * Signal input for the `populated` property.\n     *\n     * @public\n     */\n    public readonly populated: InputSignal<AutoCompleteBoxElement['populated'] | undefined> = input<AutoCompleteBoxElement['populated']>();\n\n    /**\n     * Signal input for the `itemSelected` property.\n     *\n     * @public\n     */\n    public readonly itemSelected: InputSignal<AutoCompleteBoxElement['itemSelected'] | undefined> = input<AutoCompleteBoxElement['itemSelected']>();\n\n    /**\n     * Signal input for the `filteredItems` property.\n     *\n     * @public\n     */\n    public readonly filteredItems: InputSignal<AutoCompleteBoxElement['filteredItems'] | undefined> = input<AutoCompleteBoxElement['filteredItems']>();\n\n    /**\n     * Signal input for the `isPopulating` property.\n     *\n     * @public\n     */\n    public readonly isPopulating: InputSignal<AutoCompleteBoxElement['isPopulating'] | undefined> = input<AutoCompleteBoxElement['isPopulating']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AutoCompleteBoxElement['disabled'] | undefined> = input<AutoCompleteBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<AutoCompleteBoxElement['state'] | undefined> = input<AutoCompleteBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<AutoCompleteBoxElement['formatter'] | undefined> = input<AutoCompleteBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<AutoCompleteBoxElement['parser'] | undefined> = input<AutoCompleteBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<AutoCompleteBoxElement['isFocused'] | undefined> = input<AutoCompleteBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AutoCompleteBoxElement['dir'] | undefined> = input<AutoCompleteBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AutoCompleteBoxElement['lang'] | undefined> = input<AutoCompleteBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const filterTextValue = this.filterText();\n                if (filterTextValue !== undefined) {\n                    (this._element as any).filterText = filterTextValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const filterPlaceholderValue = this.filterPlaceholder();\n                if (filterPlaceholderValue !== undefined) {\n                    (this._element as any).filterPlaceholder = filterPlaceholderValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const renderItemValue = this.renderItem();\n                if (renderItemValue !== undefined) {\n                    (this._element as any).renderItem = renderItemValue;\n                }\n\n                const dropDownSyncValue = this.dropDownSync();\n                if (dropDownSyncValue !== undefined) {\n                    (this._element as any).dropDownSync = dropDownSyncValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const minimumPrefixLengthValue = this.minimumPrefixLength();\n                if (minimumPrefixLengthValue !== undefined) {\n                    (this._element as any).minimumPrefixLength = minimumPrefixLengthValue;\n                }\n\n                const minimumPopulateDelayValue = this.minimumPopulateDelay();\n                if (minimumPopulateDelayValue !== undefined) {\n                    (this._element as any).minimumPopulateDelay = minimumPopulateDelayValue;\n                }\n\n                const isTextCompletionEnabledValue = this.isTextCompletionEnabled();\n                if (isTextCompletionEnabledValue !== undefined) {\n                    (this._element as any).isTextCompletionEnabled = isTextCompletionEnabledValue;\n                }\n\n                const searchModeValue = this.searchMode();\n                if (searchModeValue !== undefined) {\n                    (this._element as any).searchMode = searchModeValue;\n                }\n\n                const displayMemberPathValue = this.displayMemberPath();\n                if (displayMemberPathValue !== undefined) {\n                    (this._element as any).displayMemberPath = displayMemberPathValue;\n                }\n\n                const valueMemberPathValue = this.valueMemberPath();\n                if (valueMemberPathValue !== undefined) {\n                    (this._element as any).valueMemberPath = valueMemberPathValue;\n                }\n\n                const itemsProviderValue = this.itemsProvider();\n                if (itemsProviderValue !== undefined) {\n                    (this._element as any).itemsProvider = itemsProviderValue;\n                }\n\n                const populatingValue = this.populating();\n                if (populatingValue !== undefined) {\n                    (this._element as any).populating = populatingValue;\n                }\n\n                const populatedValue = this.populated();\n                if (populatedValue !== undefined) {\n                    (this._element as any).populated = populatedValue;\n                }\n\n                const itemSelectedValue = this.itemSelected();\n                if (itemSelectedValue !== undefined) {\n                    (this._element as any).itemSelected = itemSelectedValue;\n                }\n\n                const filteredItemsValue = this.filteredItems();\n                if (filteredItemsValue !== undefined) {\n                    (this._element as any).filteredItems = filteredItemsValue;\n                }\n\n                const isPopulatingValue = this.isPopulating();\n                if (isPopulatingValue !== undefined) {\n                    (this._element as any).isPopulating = isPopulatingValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `autoCompletePopulating` event.\n     *\n     * @public\n     */\n    public readonly autoCompletePopulating: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `autoCompletePopulated` event.\n     *\n     * @public\n     */\n    public readonly autoCompletePopulated: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AutoCompleteBoxMethodNames>(method: TMethod, ...args: Parameters<AutoCompleteBoxComponentMethods[TMethod]>): ReturnType<AutoCompleteBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AutoCompleteBoxElement>(property: TProperty, value: AutoCompleteBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AutoCompleteBoxComponent.\n */\nexport type AutoCompleteBoxMethodNames = 'checkValidity' | 'onFilterCallback' | 'onFloatingActiveChanged' | 'onSelectCallback' | 'onFilterInput' | 'onSuggestionMouseDown' | 'onKeyDown' | 'onCaretClick' | 'getItemValue' | 'onSuggestionClick' | 'renderSuggestionItem' | 'renderHighlightedItem' | 'getOptionId' | 'clear' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'updateSearchText' | 'updateSelectedItem' | 'getDisplayValue' | 'reset' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AutoCompleteBoxComponent.\n */\nexport type AutoCompleteBoxComponentMethods = MethodMap<AutoCompleteBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideAutoCompleteBoxComponent(config: Partial<AutoCompleteBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: AUTO_COMPLETE_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { AvatarGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AvatarGroupComponent.\n * Use this token to provide default properties for the AvatarGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const AVATAR_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<AvatarGroupElement.Props>>('MOSAIK_AVATAR_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot overflow - The overflow slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-avatar-group', AvatarGroupElement),\n    inputs: ['maxLength', 'themeName', 'disabled', 'size', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-avatar-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class AvatarGroupComponent {\n    // #region Fields\n\n    private readonly _element: AvatarGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(AVATAR_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `maxLength` property.\n     *\n     * @public\n     */\n    public readonly maxLength: InputSignal<AvatarGroupElement['maxLength'] | undefined> = input<AvatarGroupElement['maxLength']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AvatarGroupElement['themeName'] | undefined> = input<AvatarGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AvatarGroupElement['disabled'] | undefined> = input<AvatarGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<AvatarGroupElement['size'] | undefined> = input<AvatarGroupElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<AvatarGroupElement['variant'] | undefined> = input<AvatarGroupElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<AvatarGroupElement['appearance'] | undefined> = input<AvatarGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AvatarGroupElement['dir'] | undefined> = input<AvatarGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AvatarGroupElement['lang'] | undefined> = input<AvatarGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const maxLengthValue = this.maxLength();\n                if (maxLengthValue !== undefined) {\n                    (this._element as any).maxLength = maxLengthValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AvatarGroupMethodNames>(method: TMethod, ...args: Parameters<AvatarGroupComponentMethods[TMethod]>): ReturnType<AvatarGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AvatarGroupElement>(property: TProperty, value: AvatarGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AvatarGroupComponent.\n */\nexport type AvatarGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AvatarGroupComponent.\n */\nexport type AvatarGroupComponentMethods = MethodMap<AvatarGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideAvatarGroupComponent(config: Partial<AvatarGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: AVATAR_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AvatarElement, IElementValueAccessor, avatarElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the AvatarComponent.\n * Use this token to provide default properties for the AvatarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const AVATAR_DEFAULT_PROPS = new InjectionToken<Partial<AvatarElement.Props>>('MOSAIK_AVATAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content for avatar display (overrides automatic text/icon generation)\n * @slot badge - Status indicator or notification badge positioned on the avatar\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-avatar', AvatarElement),\n    inputs: ['hasBadge', 'text', 'textAccessor', 'icon', 'src', 'displayMode', 'themeName', 'size', 'appearance', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['changeTextAccessor', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-avatar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => AvatarComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => AvatarComponent)\n        }\n    ]\n})\nexport class AvatarComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: AvatarElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = avatarElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(AVATAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasBadge` property.\n     *\n     * @public\n     */\n    public readonly hasBadge: InputSignal<AvatarElement['hasBadge'] | undefined> = input<AvatarElement['hasBadge']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<AvatarElement['text'] | undefined> = input<AvatarElement['text']>();\n\n    /**\n     * Signal input for the `textAccessor` property.\n     *\n     * @public\n     */\n    public readonly textAccessor: InputSignal<AvatarElement['textAccessor'] | undefined> = input<AvatarElement['textAccessor']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<AvatarElement['icon'] | undefined> = input<AvatarElement['icon']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<AvatarElement['src'] | undefined> = input<AvatarElement['src']>();\n\n    /**\n     * Signal input for the `displayMode` property.\n     *\n     * @public\n     */\n    public readonly displayMode: InputSignal<AvatarElement['displayMode'] | undefined> = input<AvatarElement['displayMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<AvatarElement['themeName'] | undefined> = input<AvatarElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<AvatarElement['size'] | undefined> = input<AvatarElement['size']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<AvatarElement['appearance'] | undefined> = input<AvatarElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<AvatarElement['variant'] | undefined> = input<AvatarElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<AvatarElement['disabled'] | undefined> = input<AvatarElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<AvatarElement['dir'] | undefined> = input<AvatarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<AvatarElement['lang'] | undefined> = input<AvatarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const textAccessorValue = this.textAccessor();\n                if (textAccessorValue !== undefined) {\n                    (this._element as any).textAccessor = textAccessorValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const displayModeValue = this.displayMode();\n                if (displayModeValue !== undefined) {\n                    (this._element as any).displayMode = displayModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends AvatarMethodNames>(method: TMethod, ...args: Parameters<AvatarComponentMethods[TMethod]>): ReturnType<AvatarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof AvatarElement>(property: TProperty, value: AvatarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on AvatarComponent.\n */\nexport type AvatarMethodNames = 'changeTextAccessor' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for AvatarComponent.\n */\nexport type AvatarComponentMethods = MethodMap<AvatarMethodNames>;\n\n/**\n * @public\n */\nexport function provideAvatarComponent(config: Partial<AvatarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: AVATAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BackdropElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BackdropComponent.\n * Use this token to provide default properties for the BackdropComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BACKDROP_DEFAULT_PROPS = new InjectionToken<Partial<BackdropElement.Props>>('MOSAIK_BACKDROP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-backdrop', BackdropElement),\n    inputs: ['hidden', 'themeName', 'animationTarget', 'enter', 'exit', 'dir', 'lang'],\n    methods: ['onEnterAnimation', 'onExitAnimation', 'play', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-backdrop',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BackdropComponent {\n    // #region Fields\n\n    private readonly _element: BackdropElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BACKDROP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hidden` property.\n     *\n     * @public\n     */\n    public readonly hidden: InputSignal<BackdropElement['hidden'] | undefined> = input<BackdropElement['hidden']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BackdropElement['themeName'] | undefined> = input<BackdropElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<BackdropElement['animationTarget'] | undefined> = input<BackdropElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<BackdropElement['enter'] | undefined> = input<BackdropElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<BackdropElement['exit'] | undefined> = input<BackdropElement['exit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BackdropElement['dir'] | undefined> = input<BackdropElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BackdropElement['lang'] | undefined> = input<BackdropElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hiddenValue = this.hidden();\n                if (hiddenValue !== undefined) {\n                    (this._element as any).hidden = hiddenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BackdropMethodNames>(method: TMethod, ...args: Parameters<BackdropComponentMethods[TMethod]>): ReturnType<BackdropComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BackdropElement>(property: TProperty, value: BackdropElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BackdropComponent.\n */\nexport type BackdropMethodNames = 'onEnterAnimation' | 'onExitAnimation' | 'play' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BackdropComponent.\n */\nexport type BackdropComponentMethods = MethodMap<BackdropMethodNames>;\n\n/**\n * @public\n */\nexport function provideBackdropComponent(config: Partial<BackdropElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BACKDROP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BadgeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BadgeComponent.\n * Use this token to provide default properties for the BadgeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BADGE_DEFAULT_PROPS = new InjectionToken<Partial<BadgeElement.Props>>('MOSAIK_BADGE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-badge', BadgeElement),\n    inputs: ['icon', 'overlap', 'attached', 'position', 'themeName', 'appearance', 'variant', 'size', 'disabled', 'label', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-badge',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BadgeComponent {\n    // #region Fields\n\n    private readonly _element: BadgeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BADGE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<BadgeElement['icon'] | undefined> = input<BadgeElement['icon']>();\n\n    /**\n     * Signal input for the `overlap` property.\n     *\n     * @public\n     */\n    public readonly overlap: InputSignal<BadgeElement['overlap'] | undefined> = input<BadgeElement['overlap']>();\n\n    /**\n     * Signal input for the `attached` property.\n     *\n     * @public\n     */\n    public readonly attached: InputSignal<BadgeElement['attached'] | undefined> = input<BadgeElement['attached']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<BadgeElement['position'] | undefined> = input<BadgeElement['position']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BadgeElement['themeName'] | undefined> = input<BadgeElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<BadgeElement['appearance'] | undefined> = input<BadgeElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BadgeElement['variant'] | undefined> = input<BadgeElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<BadgeElement['size'] | undefined> = input<BadgeElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BadgeElement['disabled'] | undefined> = input<BadgeElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<BadgeElement['label'] | undefined> = input<BadgeElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BadgeElement['dir'] | undefined> = input<BadgeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BadgeElement['lang'] | undefined> = input<BadgeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const overlapValue = this.overlap();\n                if (overlapValue !== undefined) {\n                    (this._element as any).overlap = overlapValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BadgeMethodNames>(method: TMethod, ...args: Parameters<BadgeComponentMethods[TMethod]>): ReturnType<BadgeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BadgeElement>(property: TProperty, value: BadgeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BadgeComponent.\n */\nexport type BadgeMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BadgeComponent.\n */\nexport type BadgeComponentMethods = MethodMap<BadgeMethodNames>;\n\n/**\n * @public\n */\nexport function provideBadgeComponent(config: Partial<BadgeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BADGE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BannerGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BannerGroupComponent.\n * Use this token to provide default properties for the BannerGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BANNER_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<BannerGroupElement.Props>>('MOSAIK_BANNER_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for banner items.\n * @slot next - Slot for a custom next control.\n * @slot prev - Slot for a custom previous control.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-banner-group', BannerGroupElement),\n    inputs: ['length', 'canPrev', 'canNext', 'index', 'loop', 'maxLength', 'dismissBehavior', 'stacking', 'reverse', 'themeName', 'orientation', 'disabled', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['previous', 'next', 'first', 'last', 'goTo', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-banner-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BannerGroupComponent {\n    // #region Fields\n\n    private readonly _element: BannerGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BANNER_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `length` property.\n     *\n     * @public\n     */\n    public readonly length: InputSignal<BannerGroupElement['length'] | undefined> = input<BannerGroupElement['length']>();\n\n    /**\n     * Signal input for the `canPrev` property.\n     *\n     * @public\n     */\n    public readonly canPrev: InputSignal<BannerGroupElement['canPrev'] | undefined> = input<BannerGroupElement['canPrev']>();\n\n    /**\n     * Signal input for the `canNext` property.\n     *\n     * @public\n     */\n    public readonly canNext: InputSignal<BannerGroupElement['canNext'] | undefined> = input<BannerGroupElement['canNext']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<BannerGroupElement['index'] | undefined> = input<BannerGroupElement['index']>();\n\n    /**\n     * Signal input for the `loop` property.\n     *\n     * @public\n     */\n    public readonly loop: InputSignal<BannerGroupElement['loop'] | undefined> = input<BannerGroupElement['loop']>();\n\n    /**\n     * Signal input for the `maxLength` property.\n     *\n     * @public\n     */\n    public readonly maxLength: InputSignal<BannerGroupElement['maxLength'] | undefined> = input<BannerGroupElement['maxLength']>();\n\n    /**\n     * Signal input for the `dismissBehavior` property.\n     *\n     * @public\n     */\n    public readonly dismissBehavior: InputSignal<BannerGroupElement['dismissBehavior'] | undefined> = input<BannerGroupElement['dismissBehavior']>();\n\n    /**\n     * Signal input for the `stacking` property.\n     *\n     * @public\n     */\n    public readonly stacking: InputSignal<BannerGroupElement['stacking'] | undefined> = input<BannerGroupElement['stacking']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<BannerGroupElement['reverse'] | undefined> = input<BannerGroupElement['reverse']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BannerGroupElement['themeName'] | undefined> = input<BannerGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<BannerGroupElement['orientation'] | undefined> = input<BannerGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BannerGroupElement['disabled'] | undefined> = input<BannerGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<BannerGroupElement['appearance'] | undefined> = input<BannerGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BannerGroupElement['variant'] | undefined> = input<BannerGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BannerGroupElement['dir'] | undefined> = input<BannerGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BannerGroupElement['lang'] | undefined> = input<BannerGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const loopValue = this.loop();\n                if (loopValue !== undefined) {\n                    (this._element as any).loop = loopValue;\n                }\n\n                const maxLengthValue = this.maxLength();\n                if (maxLengthValue !== undefined) {\n                    (this._element as any).maxLength = maxLengthValue;\n                }\n\n                const dismissBehaviorValue = this.dismissBehavior();\n                if (dismissBehaviorValue !== undefined) {\n                    (this._element as any).dismissBehavior = dismissBehaviorValue;\n                }\n\n                const stackingValue = this.stacking();\n                if (stackingValue !== undefined) {\n                    (this._element as any).stacking = stackingValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BannerGroupMethodNames>(method: TMethod, ...args: Parameters<BannerGroupComponentMethods[TMethod]>): ReturnType<BannerGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BannerGroupElement>(property: TProperty, value: BannerGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BannerGroupComponent.\n */\nexport type BannerGroupMethodNames = 'previous' | 'next' | 'first' | 'last' | 'goTo' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BannerGroupComponent.\n */\nexport type BannerGroupComponentMethods = MethodMap<BannerGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideBannerGroupComponent(config: Partial<BannerGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BANNER_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BannerHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BannerHeaderComponent.\n * Use this token to provide default properties for the BannerHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BANNER_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<BannerHeaderElement.Props>>('MOSAIK_BANNER_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Slot for the banner header content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-banner-header', BannerHeaderElement),\n    inputs: ['text', 'themeName', 'variant', 'disabled', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-banner-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BannerHeaderComponent {\n    // #region Fields\n\n    private readonly _element: BannerHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BANNER_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<BannerHeaderElement['text'] | undefined> = input<BannerHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BannerHeaderElement['themeName'] | undefined> = input<BannerHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BannerHeaderElement['variant'] | undefined> = input<BannerHeaderElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BannerHeaderElement['disabled'] | undefined> = input<BannerHeaderElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<BannerHeaderElement['formatter'] | undefined> = input<BannerHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BannerHeaderElement['dir'] | undefined> = input<BannerHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BannerHeaderElement['lang'] | undefined> = input<BannerHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BannerHeaderMethodNames>(method: TMethod, ...args: Parameters<BannerHeaderComponentMethods[TMethod]>): ReturnType<BannerHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BannerHeaderElement>(property: TProperty, value: BannerHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BannerHeaderComponent.\n */\nexport type BannerHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BannerHeaderComponent.\n */\nexport type BannerHeaderComponentMethods = MethodMap<BannerHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideBannerHeaderComponent(config: Partial<BannerHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BANNER_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BannerSubHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BannerSubHeaderComponent.\n * Use this token to provide default properties for the BannerSubHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BANNER_SUB_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<BannerSubHeaderElement.Props>>('MOSAIK_BANNER_SUB_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Slot for the banner sub-header content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-banner-sub-header', BannerSubHeaderElement),\n    inputs: ['text', 'themeName', 'disabled', 'variant', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-banner-sub-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BannerSubHeaderComponent {\n    // #region Fields\n\n    private readonly _element: BannerSubHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BANNER_SUB_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<BannerSubHeaderElement['text'] | undefined> = input<BannerSubHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BannerSubHeaderElement['themeName'] | undefined> = input<BannerSubHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BannerSubHeaderElement['disabled'] | undefined> = input<BannerSubHeaderElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BannerSubHeaderElement['variant'] | undefined> = input<BannerSubHeaderElement['variant']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<BannerSubHeaderElement['formatter'] | undefined> = input<BannerSubHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BannerSubHeaderElement['dir'] | undefined> = input<BannerSubHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BannerSubHeaderElement['lang'] | undefined> = input<BannerSubHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BannerSubHeaderMethodNames>(method: TMethod, ...args: Parameters<BannerSubHeaderComponentMethods[TMethod]>): ReturnType<BannerSubHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BannerSubHeaderElement>(property: TProperty, value: BannerSubHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BannerSubHeaderComponent.\n */\nexport type BannerSubHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BannerSubHeaderComponent.\n */\nexport type BannerSubHeaderComponentMethods = MethodMap<BannerSubHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideBannerSubHeaderComponent(config: Partial<BannerSubHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BANNER_SUB_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BannerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BannerComponent.\n * Use this token to provide default properties for the BannerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BANNER_DEFAULT_PROPS = new InjectionToken<Partial<BannerElement.Props>>('MOSAIK_BANNER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Slot for additional actions inside the banner.\n * @slot close - The close slot.\n * @slot header - Slot for the banner header content.\n * @slot subHeader - Slot for the banner subheader content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-banner', BannerElement),\n    inputs: ['icon', 'iconSize', 'header', 'subHeader', 'isOpen', 'themeName', 'closeable', 'disabled', 'variant', 'appearance', 'fit', 'elevation', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'formatter', 'dir', 'lang'],\n    methods: ['open', 'close', 'toggle', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-banner',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BannerComponent {\n    // #region Fields\n\n    private readonly _element: BannerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BANNER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<BannerElement['icon'] | undefined> = input<BannerElement['icon']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<BannerElement['iconSize'] | undefined> = input<BannerElement['iconSize']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<BannerElement['header'] | undefined> = input<BannerElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<BannerElement['subHeader'] | undefined> = input<BannerElement['subHeader']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<BannerElement['isOpen'] | undefined> = input<BannerElement['isOpen']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BannerElement['themeName'] | undefined> = input<BannerElement['themeName']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<BannerElement['closeable'] | undefined> = input<BannerElement['closeable']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BannerElement['disabled'] | undefined> = input<BannerElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BannerElement['variant'] | undefined> = input<BannerElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<BannerElement['appearance'] | undefined> = input<BannerElement['appearance']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<BannerElement['fit'] | undefined> = input<BannerElement['fit']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<BannerElement['elevation'] | undefined> = input<BannerElement['elevation']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<BannerElement['orientation'] | undefined> = input<BannerElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<BannerElement['horizontalContentAlignment'] | undefined> = input<BannerElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<BannerElement['verticalContentAlignment'] | undefined> = input<BannerElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<BannerElement['formatter'] | undefined> = input<BannerElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BannerElement['dir'] | undefined> = input<BannerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BannerElement['lang'] | undefined> = input<BannerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BannerMethodNames>(method: TMethod, ...args: Parameters<BannerComponentMethods[TMethod]>): ReturnType<BannerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BannerElement>(property: TProperty, value: BannerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BannerComponent.\n */\nexport type BannerMethodNames = 'open' | 'close' | 'toggle' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BannerComponent.\n */\nexport type BannerComponentMethods = MethodMap<BannerMethodNames>;\n\n/**\n * @public\n */\nexport function provideBannerComponent(config: Partial<BannerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BANNER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BoxElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BoxComponent.\n * Use this token to provide default properties for the BoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BOX_DEFAULT_PROPS = new InjectionToken<Partial<BoxElement.Props>>('MOSAIK_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for child elements.\n * @slot dismiss - Slot for dismiss button.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-box', BoxElement),\n    inputs: ['highlighted', 'cornered', 'themeName', 'fit', 'width', 'height', 'inset', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-box',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BoxComponent {\n    // #region Fields\n\n    private readonly _element: BoxElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `highlighted` property.\n     *\n     * @public\n     */\n    public readonly highlighted: InputSignal<BoxElement['highlighted'] | undefined> = input<BoxElement['highlighted']>();\n\n    /**\n     * Signal input for the `cornered` property.\n     *\n     * @public\n     */\n    public readonly cornered: InputSignal<BoxElement['cornered'] | undefined> = input<BoxElement['cornered']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BoxElement['themeName'] | undefined> = input<BoxElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<BoxElement['fit'] | undefined> = input<BoxElement['fit']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<BoxElement['width'] | undefined> = input<BoxElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<BoxElement['height'] | undefined> = input<BoxElement['height']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<BoxElement['inset'] | undefined> = input<BoxElement['inset']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BoxElement['dir'] | undefined> = input<BoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BoxElement['lang'] | undefined> = input<BoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const highlightedValue = this.highlighted();\n                if (highlightedValue !== undefined) {\n                    (this._element as any).highlighted = highlightedValue;\n                }\n\n                const corneredValue = this.cornered();\n                if (corneredValue !== undefined) {\n                    (this._element as any).cornered = corneredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BoxMethodNames>(method: TMethod, ...args: Parameters<BoxComponentMethods[TMethod]>): ReturnType<BoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BoxElement>(property: TProperty, value: BoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BoxComponent.\n */\nexport type BoxMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BoxComponent.\n */\nexport type BoxComponentMethods = MethodMap<BoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideBoxComponent(config: Partial<BoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BreadcrumbItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BreadcrumbItemComponent.\n * Use this token to provide default properties for the BreadcrumbItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BREADCRUMB_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<BreadcrumbItemElement.Props>>('MOSAIK_BREADCRUMB_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot label - The label content when using the anchor behavior.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-breadcrumb-item', BreadcrumbItemElement),\n    inputs: ['isActive', 'underline', 'download', 'href', 'rel', 'target', 'themeName', 'variant', 'disabled', 'label', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-breadcrumb-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BreadcrumbItemComponent {\n    // #region Fields\n\n    private readonly _element: BreadcrumbItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BREADCRUMB_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<BreadcrumbItemElement['isActive'] | undefined> = input<BreadcrumbItemElement['isActive']>();\n\n    /**\n     * Signal input for the `underline` property.\n     *\n     * @public\n     */\n    public readonly underline: InputSignal<BreadcrumbItemElement['underline'] | undefined> = input<BreadcrumbItemElement['underline']>();\n\n    /**\n     * Signal input for the `download` property.\n     *\n     * @public\n     */\n    public readonly download: InputSignal<BreadcrumbItemElement['download'] | undefined> = input<BreadcrumbItemElement['download']>();\n\n    /**\n     * Signal input for the `href` property.\n     *\n     * @public\n     */\n    public readonly href: InputSignal<BreadcrumbItemElement['href'] | undefined> = input<BreadcrumbItemElement['href']>();\n\n    /**\n     * Signal input for the `rel` property.\n     *\n     * @public\n     */\n    public readonly rel: InputSignal<BreadcrumbItemElement['rel'] | undefined> = input<BreadcrumbItemElement['rel']>();\n\n    /**\n     * Signal input for the `target` property.\n     *\n     * @public\n     */\n    public readonly target: InputSignal<BreadcrumbItemElement['target'] | undefined> = input<BreadcrumbItemElement['target']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BreadcrumbItemElement['themeName'] | undefined> = input<BreadcrumbItemElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<BreadcrumbItemElement['variant'] | undefined> = input<BreadcrumbItemElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<BreadcrumbItemElement['disabled'] | undefined> = input<BreadcrumbItemElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<BreadcrumbItemElement['label'] | undefined> = input<BreadcrumbItemElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BreadcrumbItemElement['dir'] | undefined> = input<BreadcrumbItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BreadcrumbItemElement['lang'] | undefined> = input<BreadcrumbItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const underlineValue = this.underline();\n                if (underlineValue !== undefined) {\n                    (this._element as any).underline = underlineValue;\n                }\n\n                const downloadValue = this.download();\n                if (downloadValue !== undefined) {\n                    (this._element as any).download = downloadValue;\n                }\n\n                const hrefValue = this.href();\n                if (hrefValue !== undefined) {\n                    (this._element as any).href = hrefValue;\n                }\n\n                const relValue = this.rel();\n                if (relValue !== undefined) {\n                    (this._element as any).rel = relValue;\n                }\n\n                const targetValue = this.target();\n                if (targetValue !== undefined) {\n                    (this._element as any).target = targetValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BreadcrumbItemMethodNames>(method: TMethod, ...args: Parameters<BreadcrumbItemComponentMethods[TMethod]>): ReturnType<BreadcrumbItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BreadcrumbItemElement>(property: TProperty, value: BreadcrumbItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BreadcrumbItemComponent.\n */\nexport type BreadcrumbItemMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BreadcrumbItemComponent.\n */\nexport type BreadcrumbItemComponentMethods = MethodMap<BreadcrumbItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideBreadcrumbItemComponent(config: Partial<BreadcrumbItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BREADCRUMB_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BreadcrumbElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BreadcrumbComponent.\n * Use this token to provide default properties for the BreadcrumbComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BREADCRUMB_DEFAULT_PROPS = new InjectionToken<Partial<BreadcrumbElement.Props>>('MOSAIK_BREADCRUMB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot item-${i} - The item-${i} slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-breadcrumb', BreadcrumbElement),\n    inputs: ['wrap', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-breadcrumb',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BreadcrumbComponent {\n    // #region Fields\n\n    private readonly _element: BreadcrumbElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BREADCRUMB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `wrap` property.\n     *\n     * @public\n     */\n    public readonly wrap: InputSignal<BreadcrumbElement['wrap'] | undefined> = input<BreadcrumbElement['wrap']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BreadcrumbElement['themeName'] | undefined> = input<BreadcrumbElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BreadcrumbElement['dir'] | undefined> = input<BreadcrumbElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BreadcrumbElement['lang'] | undefined> = input<BreadcrumbElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const wrapValue = this.wrap();\n                if (wrapValue !== undefined) {\n                    (this._element as any).wrap = wrapValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BreadcrumbMethodNames>(method: TMethod, ...args: Parameters<BreadcrumbComponentMethods[TMethod]>): ReturnType<BreadcrumbComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BreadcrumbElement>(property: TProperty, value: BreadcrumbElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BreadcrumbComponent.\n */\nexport type BreadcrumbMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BreadcrumbComponent.\n */\nexport type BreadcrumbComponentMethods = MethodMap<BreadcrumbMethodNames>;\n\n/**\n * @public\n */\nexport function provideBreadcrumbComponent(config: Partial<BreadcrumbElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BREADCRUMB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { BusyStateElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the BusyStateComponent.\n * Use this token to provide default properties for the BusyStateComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BUSY_STATE_DEFAULT_PROPS = new InjectionToken<Partial<BusyStateElement.Props>>('MOSAIK_BUSY_STATE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for additional loading state information or custom elements\n * @slot actions - Action buttons or controls available during loading (e.g., cancel operation, dismiss)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-busy-state', BusyStateElement),\n    inputs: ['icon', 'header', 'themeName', 'content', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-busy-state',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class BusyStateComponent {\n    // #region Fields\n\n    private readonly _element: BusyStateElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BUSY_STATE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<BusyStateElement['icon'] | undefined> = input<BusyStateElement['icon']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<BusyStateElement['header'] | undefined> = input<BusyStateElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<BusyStateElement['themeName'] | undefined> = input<BusyStateElement['themeName']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<BusyStateElement['content'] | undefined> = input<BusyStateElement['content']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<BusyStateElement['formatter'] | undefined> = input<BusyStateElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<BusyStateElement['dir'] | undefined> = input<BusyStateElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<BusyStateElement['lang'] | undefined> = input<BusyStateElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends BusyStateMethodNames>(method: TMethod, ...args: Parameters<BusyStateComponentMethods[TMethod]>): ReturnType<BusyStateComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof BusyStateElement>(property: TProperty, value: BusyStateElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on BusyStateComponent.\n */\nexport type BusyStateMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for BusyStateComponent.\n */\nexport type BusyStateComponentMethods = MethodMap<BusyStateMethodNames>;\n\n/**\n * @public\n */\nexport function provideBusyStateComponent(config: Partial<BusyStateElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BUSY_STATE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ButtonGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ButtonGroupComponent.\n * Use this token to provide default properties for the ButtonGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const BUTTON_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ButtonGroupElement.Props>>('MOSAIK_BUTTON_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-button-group', ButtonGroupElement),\n    inputs: ['themeName', 'orientation', 'disabled', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-button-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ButtonGroupComponent {\n    // #region Fields\n\n    private readonly _element: ButtonGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(BUTTON_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ButtonGroupElement['themeName'] | undefined> = input<ButtonGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ButtonGroupElement['orientation'] | undefined> = input<ButtonGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ButtonGroupElement['disabled'] | undefined> = input<ButtonGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ButtonGroupElement['appearance'] | undefined> = input<ButtonGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ButtonGroupElement['variant'] | undefined> = input<ButtonGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ButtonGroupElement['dir'] | undefined> = input<ButtonGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ButtonGroupElement['lang'] | undefined> = input<ButtonGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ButtonGroupMethodNames>(method: TMethod, ...args: Parameters<ButtonGroupComponentMethods[TMethod]>): ReturnType<ButtonGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ButtonGroupElement>(property: TProperty, value: ButtonGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ButtonGroupComponent.\n */\nexport type ButtonGroupMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ButtonGroupComponent.\n */\nexport type ButtonGroupComponentMethods = MethodMap<ButtonGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideButtonGroupComponent(config: Partial<ButtonGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: BUTTON_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CalendarHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CalendarHeaderComponent.\n * Use this token to provide default properties for the CalendarHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CALENDAR_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<CalendarHeaderElement.Props>>('MOSAIK_CALENDAR_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot header - The default slot for custom header content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-calendar-header', CalendarHeaderElement),\n    inputs: ['text', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-calendar-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CalendarHeaderComponent {\n    // #region Fields\n\n    private readonly _element: CalendarHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CALENDAR_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CalendarHeaderElement['text'] | undefined> = input<CalendarHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CalendarHeaderElement['themeName'] | undefined> = input<CalendarHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CalendarHeaderElement['disabled'] | undefined> = input<CalendarHeaderElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CalendarHeaderElement['dir'] | undefined> = input<CalendarHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CalendarHeaderElement['lang'] | undefined> = input<CalendarHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CalendarHeaderMethodNames>(method: TMethod, ...args: Parameters<CalendarHeaderComponentMethods[TMethod]>): ReturnType<CalendarHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CalendarHeaderElement>(property: TProperty, value: CalendarHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CalendarHeaderComponent.\n */\nexport type CalendarHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CalendarHeaderComponent.\n */\nexport type CalendarHeaderComponentMethods = MethodMap<CalendarHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideCalendarHeaderComponent(config: Partial<CalendarHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CALENDAR_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CalendarItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CalendarItemComponent.\n * Use this token to provide default properties for the CalendarItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CALENDAR_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<CalendarItemElement.Props>>('MOSAIK_CALENDAR_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-calendar-item', CalendarItemElement),\n    inputs: ['isSelected', 'isBlackout', 'isSpecial', 'isToday', 'isWeekend', 'isAdjacent', 'markers', 'isRangeStart', 'isRangeMiddle', 'isRangeEnd', 'isRangePreview', 'text', 'themeName', 'ripple', 'appearance', 'variant', 'disabled', 'value', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-calendar-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CalendarItemComponent {\n    // #region Fields\n\n    private readonly _element: CalendarItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('click', (e) => this.click.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CALENDAR_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<CalendarItemElement['isSelected'] | undefined> = input<CalendarItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `isBlackout` property.\n     *\n     * @public\n     */\n    public readonly isBlackout: InputSignal<CalendarItemElement['isBlackout'] | undefined> = input<CalendarItemElement['isBlackout']>();\n\n    /**\n     * Signal input for the `isSpecial` property.\n     *\n     * @public\n     */\n    public readonly isSpecial: InputSignal<CalendarItemElement['isSpecial'] | undefined> = input<CalendarItemElement['isSpecial']>();\n\n    /**\n     * Signal input for the `isToday` property.\n     *\n     * @public\n     */\n    public readonly isToday: InputSignal<CalendarItemElement['isToday'] | undefined> = input<CalendarItemElement['isToday']>();\n\n    /**\n     * Signal input for the `isWeekend` property.\n     *\n     * @public\n     */\n    public readonly isWeekend: InputSignal<CalendarItemElement['isWeekend'] | undefined> = input<CalendarItemElement['isWeekend']>();\n\n    /**\n     * Signal input for the `isAdjacent` property.\n     *\n     * @public\n     */\n    public readonly isAdjacent: InputSignal<CalendarItemElement['isAdjacent'] | undefined> = input<CalendarItemElement['isAdjacent']>();\n\n    /**\n     * Signal input for the `markers` property.\n     *\n     * @public\n     */\n    public readonly markers: InputSignal<CalendarItemElement['markers'] | undefined> = input<CalendarItemElement['markers']>();\n\n    /**\n     * Signal input for the `isRangeStart` property.\n     *\n     * @public\n     */\n    public readonly isRangeStart: InputSignal<CalendarItemElement['isRangeStart'] | undefined> = input<CalendarItemElement['isRangeStart']>();\n\n    /**\n     * Signal input for the `isRangeMiddle` property.\n     *\n     * @public\n     */\n    public readonly isRangeMiddle: InputSignal<CalendarItemElement['isRangeMiddle'] | undefined> = input<CalendarItemElement['isRangeMiddle']>();\n\n    /**\n     * Signal input for the `isRangeEnd` property.\n     *\n     * @public\n     */\n    public readonly isRangeEnd: InputSignal<CalendarItemElement['isRangeEnd'] | undefined> = input<CalendarItemElement['isRangeEnd']>();\n\n    /**\n     * Signal input for the `isRangePreview` property.\n     *\n     * @public\n     */\n    public readonly isRangePreview: InputSignal<CalendarItemElement['isRangePreview'] | undefined> = input<CalendarItemElement['isRangePreview']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CalendarItemElement['text'] | undefined> = input<CalendarItemElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CalendarItemElement['themeName'] | undefined> = input<CalendarItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<CalendarItemElement['ripple'] | undefined> = input<CalendarItemElement['ripple']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CalendarItemElement['appearance'] | undefined> = input<CalendarItemElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CalendarItemElement['variant'] | undefined> = input<CalendarItemElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CalendarItemElement['disabled'] | undefined> = input<CalendarItemElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CalendarItemElement['value'] | undefined> = input<CalendarItemElement['value']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<CalendarItemElement['isFocused'] | undefined> = input<CalendarItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CalendarItemElement['dir'] | undefined> = input<CalendarItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CalendarItemElement['lang'] | undefined> = input<CalendarItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const isBlackoutValue = this.isBlackout();\n                if (isBlackoutValue !== undefined) {\n                    (this._element as any).isBlackout = isBlackoutValue;\n                }\n\n                const isSpecialValue = this.isSpecial();\n                if (isSpecialValue !== undefined) {\n                    (this._element as any).isSpecial = isSpecialValue;\n                }\n\n                const isTodayValue = this.isToday();\n                if (isTodayValue !== undefined) {\n                    (this._element as any).isToday = isTodayValue;\n                }\n\n                const isWeekendValue = this.isWeekend();\n                if (isWeekendValue !== undefined) {\n                    (this._element as any).isWeekend = isWeekendValue;\n                }\n\n                const isAdjacentValue = this.isAdjacent();\n                if (isAdjacentValue !== undefined) {\n                    (this._element as any).isAdjacent = isAdjacentValue;\n                }\n\n                const markersValue = this.markers();\n                if (markersValue !== undefined) {\n                    (this._element as any).markers = markersValue;\n                }\n\n                const isRangeStartValue = this.isRangeStart();\n                if (isRangeStartValue !== undefined) {\n                    (this._element as any).isRangeStart = isRangeStartValue;\n                }\n\n                const isRangeMiddleValue = this.isRangeMiddle();\n                if (isRangeMiddleValue !== undefined) {\n                    (this._element as any).isRangeMiddle = isRangeMiddleValue;\n                }\n\n                const isRangeEndValue = this.isRangeEnd();\n                if (isRangeEndValue !== undefined) {\n                    (this._element as any).isRangeEnd = isRangeEndValue;\n                }\n\n                const isRangePreviewValue = this.isRangePreview();\n                if (isRangePreviewValue !== undefined) {\n                    (this._element as any).isRangePreview = isRangePreviewValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `click` event.\n     *\n     * @public\n     */\n    public readonly click: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CalendarItemMethodNames>(method: TMethod, ...args: Parameters<CalendarItemComponentMethods[TMethod]>): ReturnType<CalendarItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CalendarItemElement>(property: TProperty, value: CalendarItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CalendarItemComponent.\n */\nexport type CalendarItemMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CalendarItemComponent.\n */\nexport type CalendarItemComponentMethods = MethodMap<CalendarItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideCalendarItemComponent(config: Partial<CalendarItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CALENDAR_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CalendarSubHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CalendarSubHeaderComponent.\n * Use this token to provide default properties for the CalendarSubHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CALENDAR_SUB_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<CalendarSubHeaderElement.Props>>('MOSAIK_CALENDAR_SUB_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot subHeader - The default slot for custom sub-header content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-calendar-sub-header', CalendarSubHeaderElement),\n    inputs: ['text', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-calendar-sub-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CalendarSubHeaderComponent {\n    // #region Fields\n\n    private readonly _element: CalendarSubHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CALENDAR_SUB_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CalendarSubHeaderElement['text'] | undefined> = input<CalendarSubHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CalendarSubHeaderElement['themeName'] | undefined> = input<CalendarSubHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CalendarSubHeaderElement['disabled'] | undefined> = input<CalendarSubHeaderElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CalendarSubHeaderElement['dir'] | undefined> = input<CalendarSubHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CalendarSubHeaderElement['lang'] | undefined> = input<CalendarSubHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CalendarSubHeaderMethodNames>(method: TMethod, ...args: Parameters<CalendarSubHeaderComponentMethods[TMethod]>): ReturnType<CalendarSubHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CalendarSubHeaderElement>(property: TProperty, value: CalendarSubHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CalendarSubHeaderComponent.\n */\nexport type CalendarSubHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CalendarSubHeaderComponent.\n */\nexport type CalendarSubHeaderComponentMethods = MethodMap<CalendarSubHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideCalendarSubHeaderComponent(config: Partial<CalendarSubHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CALENDAR_SUB_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CalendarElement, IElementValueAccessor, calendarElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CalendarComponent.\n * Use this token to provide default properties for the CalendarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CALENDAR_DEFAULT_PROPS = new InjectionToken<Partial<CalendarElement.Props>>('MOSAIK_CALENDAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot footer - The footer slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-calendar', CalendarElement),\n    inputs: ['sheets', 'intl', 'displayDate', 'displayDateStart', 'displayDateEnd', 'header', 'values', 'view', 'selectionMode', 'blackoutDates', 'specialDates', 'minDate', 'maxDate', 'firstDayOfWeek', 'isTodayHighlighted', 'isWeekendHighlighted', 'showWeekNumbers', 'showAdjacent', 'markerHandler', 'themeName', 'locale', 'appearance', 'disabled', 'invalid', 'value', 'orientation', 'variant', 'fit', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'navigatePrevious', 'navigateNext', 'navigateToday', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-calendar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CalendarComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => CalendarComponent)\n        }\n    ]\n})\nexport class CalendarComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: CalendarElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = calendarElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('dateChanged', (e) => this.dateChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CALENDAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `sheets` property.\n     *\n     * @public\n     */\n    public readonly sheets: InputSignal<CalendarElement['sheets'] | undefined> = input<CalendarElement['sheets']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<CalendarElement['intl'] | undefined> = input<CalendarElement['intl']>();\n\n    /**\n     * Signal input for the `displayDate` property.\n     *\n     * @public\n     */\n    public readonly displayDate: InputSignal<CalendarElement['displayDate'] | undefined> = input<CalendarElement['displayDate']>();\n\n    /**\n     * Signal input for the `displayDateStart` property.\n     *\n     * @public\n     */\n    public readonly displayDateStart: InputSignal<CalendarElement['displayDateStart'] | undefined> = input<CalendarElement['displayDateStart']>();\n\n    /**\n     * Signal input for the `displayDateEnd` property.\n     *\n     * @public\n     */\n    public readonly displayDateEnd: InputSignal<CalendarElement['displayDateEnd'] | undefined> = input<CalendarElement['displayDateEnd']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<CalendarElement['header'] | undefined> = input<CalendarElement['header']>();\n\n    /**\n     * Signal input for the `values` property.\n     *\n     * @public\n     */\n    public readonly values: InputSignal<CalendarElement['values'] | undefined> = input<CalendarElement['values']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<CalendarElement['view'] | undefined> = input<CalendarElement['view']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<CalendarElement['selectionMode'] | undefined> = input<CalendarElement['selectionMode']>();\n\n    /**\n     * Signal input for the `blackoutDates` property.\n     *\n     * @public\n     */\n    public readonly blackoutDates: InputSignal<CalendarElement['blackoutDates'] | undefined> = input<CalendarElement['blackoutDates']>();\n\n    /**\n     * Signal input for the `specialDates` property.\n     *\n     * @public\n     */\n    public readonly specialDates: InputSignal<CalendarElement['specialDates'] | undefined> = input<CalendarElement['specialDates']>();\n\n    /**\n     * Signal input for the `minDate` property.\n     *\n     * @public\n     */\n    public readonly minDate: InputSignal<CalendarElement['minDate'] | undefined> = input<CalendarElement['minDate']>();\n\n    /**\n     * Signal input for the `maxDate` property.\n     *\n     * @public\n     */\n    public readonly maxDate: InputSignal<CalendarElement['maxDate'] | undefined> = input<CalendarElement['maxDate']>();\n\n    /**\n     * Signal input for the `firstDayOfWeek` property.\n     *\n     * @public\n     */\n    public readonly firstDayOfWeek: InputSignal<CalendarElement['firstDayOfWeek'] | undefined> = input<CalendarElement['firstDayOfWeek']>();\n\n    /**\n     * Signal input for the `isTodayHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isTodayHighlighted: InputSignal<CalendarElement['isTodayHighlighted'] | undefined> = input<CalendarElement['isTodayHighlighted']>();\n\n    /**\n     * Signal input for the `isWeekendHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isWeekendHighlighted: InputSignal<CalendarElement['isWeekendHighlighted'] | undefined> = input<CalendarElement['isWeekendHighlighted']>();\n\n    /**\n     * Signal input for the `showWeekNumbers` property.\n     *\n     * @public\n     */\n    public readonly showWeekNumbers: InputSignal<CalendarElement['showWeekNumbers'] | undefined> = input<CalendarElement['showWeekNumbers']>();\n\n    /**\n     * Signal input for the `showAdjacent` property.\n     *\n     * @public\n     */\n    public readonly showAdjacent: InputSignal<CalendarElement['showAdjacent'] | undefined> = input<CalendarElement['showAdjacent']>();\n\n    /**\n     * Signal input for the `markerHandler` property.\n     *\n     * @public\n     */\n    public readonly markerHandler: InputSignal<CalendarElement['markerHandler'] | undefined> = input<CalendarElement['markerHandler']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CalendarElement['themeName'] | undefined> = input<CalendarElement['themeName']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<CalendarElement['locale'] | undefined> = input<CalendarElement['locale']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CalendarElement['appearance'] | undefined> = input<CalendarElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CalendarElement['disabled'] | undefined> = input<CalendarElement['disabled']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<CalendarElement['invalid'] | undefined> = input<CalendarElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CalendarElement['value'] | undefined> = input<CalendarElement['value']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<CalendarElement['orientation'] | undefined> = input<CalendarElement['orientation']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CalendarElement['variant'] | undefined> = input<CalendarElement['variant']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<CalendarElement['fit'] | undefined> = input<CalendarElement['fit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CalendarElement['dir'] | undefined> = input<CalendarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CalendarElement['lang'] | undefined> = input<CalendarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const sheetsValue = this.sheets();\n                if (sheetsValue !== undefined) {\n                    (this._element as any).sheets = sheetsValue;\n                }\n\n                const displayDateValue = this.displayDate();\n                if (displayDateValue !== undefined) {\n                    (this._element as any).displayDate = displayDateValue;\n                }\n\n                const displayDateStartValue = this.displayDateStart();\n                if (displayDateStartValue !== undefined) {\n                    (this._element as any).displayDateStart = displayDateStartValue;\n                }\n\n                const displayDateEndValue = this.displayDateEnd();\n                if (displayDateEndValue !== undefined) {\n                    (this._element as any).displayDateEnd = displayDateEndValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const valuesValue = this.values();\n                if (valuesValue !== undefined) {\n                    (this._element as any).values = valuesValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const blackoutDatesValue = this.blackoutDates();\n                if (blackoutDatesValue !== undefined) {\n                    (this._element as any).blackoutDates = blackoutDatesValue;\n                }\n\n                const specialDatesValue = this.specialDates();\n                if (specialDatesValue !== undefined) {\n                    (this._element as any).specialDates = specialDatesValue;\n                }\n\n                const minDateValue = this.minDate();\n                if (minDateValue !== undefined) {\n                    (this._element as any).minDate = minDateValue;\n                }\n\n                const maxDateValue = this.maxDate();\n                if (maxDateValue !== undefined) {\n                    (this._element as any).maxDate = maxDateValue;\n                }\n\n                const firstDayOfWeekValue = this.firstDayOfWeek();\n                if (firstDayOfWeekValue !== undefined) {\n                    (this._element as any).firstDayOfWeek = firstDayOfWeekValue;\n                }\n\n                const isTodayHighlightedValue = this.isTodayHighlighted();\n                if (isTodayHighlightedValue !== undefined) {\n                    (this._element as any).isTodayHighlighted = isTodayHighlightedValue;\n                }\n\n                const isWeekendHighlightedValue = this.isWeekendHighlighted();\n                if (isWeekendHighlightedValue !== undefined) {\n                    (this._element as any).isWeekendHighlighted = isWeekendHighlightedValue;\n                }\n\n                const showWeekNumbersValue = this.showWeekNumbers();\n                if (showWeekNumbersValue !== undefined) {\n                    (this._element as any).showWeekNumbers = showWeekNumbersValue;\n                }\n\n                const showAdjacentValue = this.showAdjacent();\n                if (showAdjacentValue !== undefined) {\n                    (this._element as any).showAdjacent = showAdjacentValue;\n                }\n\n                const markerHandlerValue = this.markerHandler();\n                if (markerHandlerValue !== undefined) {\n                    (this._element as any).markerHandler = markerHandlerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `dateChanged` event.\n     *\n     * @public\n     */\n    public readonly dateChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CalendarMethodNames>(method: TMethod, ...args: Parameters<CalendarComponentMethods[TMethod]>): ReturnType<CalendarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CalendarElement>(property: TProperty, value: CalendarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CalendarComponent.\n */\nexport type CalendarMethodNames = 'reset' | 'checkValidity' | 'navigatePrevious' | 'navigateNext' | 'navigateToday' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CalendarComponent.\n */\nexport type CalendarComponentMethods = MethodMap<CalendarMethodNames>;\n\n/**\n * @public\n */\nexport function provideCalendarComponent(config: Partial<CalendarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CALENDAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CameraElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CameraComponent.\n * Use this token to provide default properties for the CameraComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CAMERA_DEFAULT_PROPS = new InjectionToken<Partial<CameraElement.Props>>('MOSAIK_CAMERA_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot overlay - The overlay slot.\n * @slot underlay - The underlay slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-camera', CameraElement),\n    inputs: ['isSupported', 'isRecorderSupported', 'src', 'autoPlay', 'poster', 'autoFullScreen', 'type', 'recorderFormat', 'captureFormat', 'frame', 'themeName', 'disabled', 'width', 'height', 'dir', 'lang'],\n    methods: ['record', 'capture', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-camera',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CameraComponent {\n    // #region Fields\n\n    private readonly _element: CameraElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('captured', (e) => this.captured.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('recorded', (e) => this.recorded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('error', (e) => this.error.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CAMERA_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isSupported` property.\n     *\n     * @public\n     */\n    public readonly isSupported: InputSignal<CameraElement['isSupported'] | undefined> = input<CameraElement['isSupported']>();\n\n    /**\n     * Signal input for the `isRecorderSupported` property.\n     *\n     * @public\n     */\n    public readonly isRecorderSupported: InputSignal<CameraElement['isRecorderSupported'] | undefined> = input<CameraElement['isRecorderSupported']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<CameraElement['src'] | undefined> = input<CameraElement['src']>();\n\n    /**\n     * Signal input for the `autoPlay` property.\n     *\n     * @public\n     */\n    public readonly autoPlay: InputSignal<CameraElement['autoPlay'] | undefined> = input<CameraElement['autoPlay']>();\n\n    /**\n     * Signal input for the `poster` property.\n     *\n     * @public\n     */\n    public readonly poster: InputSignal<CameraElement['poster'] | undefined> = input<CameraElement['poster']>();\n\n    /**\n     * Signal input for the `autoFullScreen` property.\n     *\n     * @public\n     */\n    public readonly autoFullScreen: InputSignal<CameraElement['autoFullScreen'] | undefined> = input<CameraElement['autoFullScreen']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<CameraElement['type'] | undefined> = input<CameraElement['type']>();\n\n    /**\n     * Signal input for the `recorderFormat` property.\n     *\n     * @public\n     */\n    public readonly recorderFormat: InputSignal<CameraElement['recorderFormat'] | undefined> = input<CameraElement['recorderFormat']>();\n\n    /**\n     * Signal input for the `captureFormat` property.\n     *\n     * @public\n     */\n    public readonly captureFormat: InputSignal<CameraElement['captureFormat'] | undefined> = input<CameraElement['captureFormat']>();\n\n    /**\n     * Signal input for the `frame` property.\n     *\n     * @public\n     */\n    public readonly frame: InputSignal<CameraElement['frame'] | undefined> = input<CameraElement['frame']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CameraElement['themeName'] | undefined> = input<CameraElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CameraElement['disabled'] | undefined> = input<CameraElement['disabled']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<CameraElement['width'] | undefined> = input<CameraElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<CameraElement['height'] | undefined> = input<CameraElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CameraElement['dir'] | undefined> = input<CameraElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CameraElement['lang'] | undefined> = input<CameraElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const autoPlayValue = this.autoPlay();\n                if (autoPlayValue !== undefined) {\n                    (this._element as any).autoPlay = autoPlayValue;\n                }\n\n                const posterValue = this.poster();\n                if (posterValue !== undefined) {\n                    (this._element as any).poster = posterValue;\n                }\n\n                const autoFullScreenValue = this.autoFullScreen();\n                if (autoFullScreenValue !== undefined) {\n                    (this._element as any).autoFullScreen = autoFullScreenValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const recorderFormatValue = this.recorderFormat();\n                if (recorderFormatValue !== undefined) {\n                    (this._element as any).recorderFormat = recorderFormatValue;\n                }\n\n                const captureFormatValue = this.captureFormat();\n                if (captureFormatValue !== undefined) {\n                    (this._element as any).captureFormat = captureFormatValue;\n                }\n\n                const frameValue = this.frame();\n                if (frameValue !== undefined) {\n                    (this._element as any).frame = frameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `captured` event.\n     *\n     * @public\n     */\n    public readonly captured: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `recorded` event.\n     *\n     * @public\n     */\n    public readonly recorded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `error` event.\n     *\n     * @public\n     */\n    public readonly error: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CameraMethodNames>(method: TMethod, ...args: Parameters<CameraComponentMethods[TMethod]>): ReturnType<CameraComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CameraElement>(property: TProperty, value: CameraElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CameraComponent.\n */\nexport type CameraMethodNames = 'record' | 'capture' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CameraComponent.\n */\nexport type CameraComponentMethods = MethodMap<CameraMethodNames>;\n\n/**\n * @public\n */\nexport function provideCameraComponent(config: Partial<CameraElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CAMERA_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardActionsElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardActionsComponent.\n * Use this token to provide default properties for the CardActionsComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_ACTIONS_DEFAULT_PROPS = new InjectionToken<Partial<CardActionsElement.Props>>('MOSAIK_CARD_ACTIONS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing the main action buttons.\n * @slot prefix - The slot for placing content that appears before the action buttons.\n * @slot suffix - The slot for placing content that appears after the action buttons.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-actions', CardActionsElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-actions',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardActionsComponent {\n    // #region Fields\n\n    private readonly _element: CardActionsElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_ACTIONS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardActionsElement['themeName'] | undefined> = input<CardActionsElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardActionsElement['dir'] | undefined> = input<CardActionsElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardActionsElement['lang'] | undefined> = input<CardActionsElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardActionsMethodNames>(method: TMethod, ...args: Parameters<CardActionsComponentMethods[TMethod]>): ReturnType<CardActionsComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardActionsElement>(property: TProperty, value: CardActionsElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardActionsComponent.\n */\nexport type CardActionsMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardActionsComponent.\n */\nexport type CardActionsComponentMethods = MethodMap<CardActionsMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardActionsComponent(config: Partial<CardActionsElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_ACTIONS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardContentComponent.\n * Use this token to provide default properties for the CardContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<CardContentElement.Props>>('MOSAIK_CARD_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing the main content within the card.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-content', CardContentElement),\n    inputs: ['text', 'formatter', 'hasContent', 'themeName', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardContentComponent {\n    // #region Fields\n\n    private readonly _element: CardContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('contentChanged', (e) => this.contentChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CardContentElement['text'] | undefined> = input<CardContentElement['text']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CardContentElement['formatter'] | undefined> = input<CardContentElement['formatter']>();\n\n    /**\n     * Signal input for the `hasContent` property.\n     *\n     * @public\n     */\n    public readonly hasContent: InputSignal<CardContentElement['hasContent'] | undefined> = input<CardContentElement['hasContent']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardContentElement['themeName'] | undefined> = input<CardContentElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardContentElement['dir'] | undefined> = input<CardContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardContentElement['lang'] | undefined> = input<CardContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const hasContentValue = this.hasContent();\n                if (hasContentValue !== undefined) {\n                    (this._element as any).hasContent = hasContentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `contentChanged` event.\n     *\n     * @public\n     */\n    public readonly contentChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardContentMethodNames>(method: TMethod, ...args: Parameters<CardContentComponentMethods[TMethod]>): ReturnType<CardContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardContentElement>(property: TProperty, value: CardContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardContentComponent.\n */\nexport type CardContentMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardContentComponent.\n */\nexport type CardContentComponentMethods = MethodMap<CardContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardContentComponent(config: Partial<CardContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardFooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardFooterComponent.\n * Use this token to provide default properties for the CardFooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<CardFooterElement.Props>>('MOSAIK_CARD_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing content within the card footer.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-footer', CardFooterElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardFooterComponent {\n    // #region Fields\n\n    private readonly _element: CardFooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardFooterElement['themeName'] | undefined> = input<CardFooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardFooterElement['dir'] | undefined> = input<CardFooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardFooterElement['lang'] | undefined> = input<CardFooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardFooterMethodNames>(method: TMethod, ...args: Parameters<CardFooterComponentMethods[TMethod]>): ReturnType<CardFooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardFooterElement>(property: TProperty, value: CardFooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardFooterComponent.\n */\nexport type CardFooterMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardFooterComponent.\n */\nexport type CardFooterComponentMethods = MethodMap<CardFooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardFooterComponent(config: Partial<CardFooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardHeaderComponent.\n * Use this token to provide default properties for the CardHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<CardHeaderElement.Props>>('MOSAIK_CARD_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing additional content within the header.\n * @slot header - The slot for placing the main header content.\n * @slot prefix - The slot for placing prefix content (e.g., icons).\n * @slot subHeader - The slot for placing sub-header content.\n * @slot suffix - The slot for placing suffix content (e.g., buttons or icons).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-header', CardHeaderElement),\n    inputs: ['text', 'subText', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardHeaderComponent {\n    // #region Fields\n\n    private readonly _element: CardHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CardHeaderElement['text'] | undefined> = input<CardHeaderElement['text']>();\n\n    /**\n     * Signal input for the `subText` property.\n     *\n     * @public\n     */\n    public readonly subText: InputSignal<CardHeaderElement['subText'] | undefined> = input<CardHeaderElement['subText']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardHeaderElement['themeName'] | undefined> = input<CardHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CardHeaderElement['formatter'] | undefined> = input<CardHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardHeaderElement['dir'] | undefined> = input<CardHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardHeaderElement['lang'] | undefined> = input<CardHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const subTextValue = this.subText();\n                if (subTextValue !== undefined) {\n                    (this._element as any).subText = subTextValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardHeaderMethodNames>(method: TMethod, ...args: Parameters<CardHeaderComponentMethods[TMethod]>): ReturnType<CardHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardHeaderElement>(property: TProperty, value: CardHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardHeaderComponent.\n */\nexport type CardHeaderMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardHeaderComponent.\n */\nexport type CardHeaderComponentMethods = MethodMap<CardHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardHeaderComponent(config: Partial<CardHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardSubTitleElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardSubTitleComponent.\n * Use this token to provide default properties for the CardSubTitleComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_SUB_TITLE_DEFAULT_PROPS = new InjectionToken<Partial<CardSubTitleElement.Props>>('MOSAIK_CARD_SUB_TITLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing the subtitle content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-sub-title', CardSubTitleElement),\n    inputs: ['text', 'formatter', 'hasContent', 'themeName', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-sub-title',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardSubTitleComponent {\n    // #region Fields\n\n    private readonly _element: CardSubTitleElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('contentChanged', (e) => this.contentChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_SUB_TITLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CardSubTitleElement['text'] | undefined> = input<CardSubTitleElement['text']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CardSubTitleElement['formatter'] | undefined> = input<CardSubTitleElement['formatter']>();\n\n    /**\n     * Signal input for the `hasContent` property.\n     *\n     * @public\n     */\n    public readonly hasContent: InputSignal<CardSubTitleElement['hasContent'] | undefined> = input<CardSubTitleElement['hasContent']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardSubTitleElement['themeName'] | undefined> = input<CardSubTitleElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardSubTitleElement['dir'] | undefined> = input<CardSubTitleElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardSubTitleElement['lang'] | undefined> = input<CardSubTitleElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const hasContentValue = this.hasContent();\n                if (hasContentValue !== undefined) {\n                    (this._element as any).hasContent = hasContentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `contentChanged` event.\n     *\n     * @public\n     */\n    public readonly contentChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardSubTitleMethodNames>(method: TMethod, ...args: Parameters<CardSubTitleComponentMethods[TMethod]>): ReturnType<CardSubTitleComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardSubTitleElement>(property: TProperty, value: CardSubTitleElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardSubTitleComponent.\n */\nexport type CardSubTitleMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardSubTitleComponent.\n */\nexport type CardSubTitleComponentMethods = MethodMap<CardSubTitleMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardSubTitleComponent(config: Partial<CardSubTitleElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_SUB_TITLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardTitleElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardTitleComponent.\n * Use this token to provide default properties for the CardTitleComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_TITLE_DEFAULT_PROPS = new InjectionToken<Partial<CardTitleElement.Props>>('MOSAIK_CARD_TITLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing the title content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card-title', CardTitleElement),\n    inputs: ['text', 'formatter', 'hasContent', 'themeName', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card-title',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardTitleComponent {\n    // #region Fields\n\n    private readonly _element: CardTitleElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('contentChanged', (e) => this.contentChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_TITLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CardTitleElement['text'] | undefined> = input<CardTitleElement['text']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CardTitleElement['formatter'] | undefined> = input<CardTitleElement['formatter']>();\n\n    /**\n     * Signal input for the `hasContent` property.\n     *\n     * @public\n     */\n    public readonly hasContent: InputSignal<CardTitleElement['hasContent'] | undefined> = input<CardTitleElement['hasContent']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardTitleElement['themeName'] | undefined> = input<CardTitleElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardTitleElement['dir'] | undefined> = input<CardTitleElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardTitleElement['lang'] | undefined> = input<CardTitleElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const hasContentValue = this.hasContent();\n                if (hasContentValue !== undefined) {\n                    (this._element as any).hasContent = hasContentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `contentChanged` event.\n     *\n     * @public\n     */\n    public readonly contentChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardTitleMethodNames>(method: TMethod, ...args: Parameters<CardTitleComponentMethods[TMethod]>): ReturnType<CardTitleComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardTitleElement>(property: TProperty, value: CardTitleElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardTitleComponent.\n */\nexport type CardTitleMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardTitleComponent.\n */\nexport type CardTitleComponentMethods = MethodMap<CardTitleMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardTitleComponent(config: Partial<CardTitleElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_TITLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CardElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CardComponent.\n * Use this token to provide default properties for the CardComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CARD_DEFAULT_PROPS = new InjectionToken<Partial<CardElement.Props>>('MOSAIK_CARD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Action buttons or interactive elements for user engagement\n * @slot content - Main content body for text, descriptions, or detailed information\n * @slot cover - Primary visual content like hero images or graphics positioned at the top\n * @slot footer - Footer section for supplementary information, links, or metadata\n * @slot header - Header section typically containing titles and navigation elements\n * @slot media - Additional media content such as images, videos, or rich content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-card', CardElement),\n    inputs: ['header', 'subHeader', 'content', 'inlineMedia', 'themeName', 'elevation', 'appearance', 'inset', 'fit', 'orientation', 'formatter', 'isSelected', 'disabled', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-card',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CardComponent {\n    // #region Fields\n\n    private readonly _element: CardElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CARD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<CardElement['header'] | undefined> = input<CardElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<CardElement['subHeader'] | undefined> = input<CardElement['subHeader']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<CardElement['content'] | undefined> = input<CardElement['content']>();\n\n    /**\n     * Signal input for the `inlineMedia` property.\n     *\n     * @public\n     */\n    public readonly inlineMedia: InputSignal<CardElement['inlineMedia'] | undefined> = input<CardElement['inlineMedia']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CardElement['themeName'] | undefined> = input<CardElement['themeName']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<CardElement['elevation'] | undefined> = input<CardElement['elevation']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CardElement['appearance'] | undefined> = input<CardElement['appearance']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<CardElement['inset'] | undefined> = input<CardElement['inset']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<CardElement['fit'] | undefined> = input<CardElement['fit']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<CardElement['orientation'] | undefined> = input<CardElement['orientation']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CardElement['formatter'] | undefined> = input<CardElement['formatter']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<CardElement['isSelected'] | undefined> = input<CardElement['isSelected']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CardElement['disabled'] | undefined> = input<CardElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CardElement['dir'] | undefined> = input<CardElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CardElement['lang'] | undefined> = input<CardElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const inlineMediaValue = this.inlineMedia();\n                if (inlineMediaValue !== undefined) {\n                    (this._element as any).inlineMedia = inlineMediaValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CardMethodNames>(method: TMethod, ...args: Parameters<CardComponentMethods[TMethod]>): ReturnType<CardComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CardElement>(property: TProperty, value: CardElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CardComponent.\n */\nexport type CardMethodNames = 'select' | 'deselect' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CardComponent.\n */\nexport type CardComponentMethods = MethodMap<CardMethodNames>;\n\n/**\n * @public\n */\nexport function provideCardComponent(config: Partial<CardElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CARD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { Carousel2Element } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the Carousel2Component.\n * Use this token to provide default properties for the Carousel2Component.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CAROUSEL2_DEFAULT_PROPS = new InjectionToken<Partial<Carousel2Element.Props>>('MOSAIK_CAROUSEL2_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for carousel items (mosaik-carousel-item-2 elements)\n * @slot footer - Optional footer content displayed below the carousel\n * @slot header - Optional header content displayed above the carousel\n * @slot item - The item slot.\n * @slot next-icon - Custom icon for the next navigation button\n * @slot previous-icon - Custom icon for the previous navigation button\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-carousel-2', Carousel2Element),\n    inputs: ['page', 'numVisible', 'numScroll', 'orientation', 'circular', 'showIndicators', 'showNavigators', 'autoplayInterval', 'themeName', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'isVertical', 'isForwardNavDisabled', 'isBackwardNavDisabled', 'ariaPrevButtonLabel', 'ariaNextButtonLabel', 'ariaPageLabel', 'navForward', 'navBackward', 'onDotClick', 'onTransitionEnd', 'totalDots', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-carousel-2',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class Carousel2Component {\n    // #region Fields\n\n    private readonly _element: Carousel2Element;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CAROUSEL2_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `page` property.\n     *\n     * @public\n     */\n    public readonly page: InputSignal<Carousel2Element['page'] | undefined> = input<Carousel2Element['page']>();\n\n    /**\n     * Signal input for the `numVisible` property.\n     *\n     * @public\n     */\n    public readonly numVisible: InputSignal<Carousel2Element['numVisible'] | undefined> = input<Carousel2Element['numVisible']>();\n\n    /**\n     * Signal input for the `numScroll` property.\n     *\n     * @public\n     */\n    public readonly numScroll: InputSignal<Carousel2Element['numScroll'] | undefined> = input<Carousel2Element['numScroll']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<Carousel2Element['orientation'] | undefined> = input<Carousel2Element['orientation']>();\n\n    /**\n     * Signal input for the `circular` property.\n     *\n     * @public\n     */\n    public readonly circular: InputSignal<Carousel2Element['circular'] | undefined> = input<Carousel2Element['circular']>();\n\n    /**\n     * Signal input for the `showIndicators` property.\n     *\n     * @public\n     */\n    public readonly showIndicators: InputSignal<Carousel2Element['showIndicators'] | undefined> = input<Carousel2Element['showIndicators']>();\n\n    /**\n     * Signal input for the `showNavigators` property.\n     *\n     * @public\n     */\n    public readonly showNavigators: InputSignal<Carousel2Element['showNavigators'] | undefined> = input<Carousel2Element['showNavigators']>();\n\n    /**\n     * Signal input for the `autoplayInterval` property.\n     *\n     * @public\n     */\n    public readonly autoplayInterval: InputSignal<Carousel2Element['autoplayInterval'] | undefined> = input<Carousel2Element['autoplayInterval']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<Carousel2Element['themeName'] | undefined> = input<Carousel2Element['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<Carousel2Element['dir'] | undefined> = input<Carousel2Element['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<Carousel2Element['lang'] | undefined> = input<Carousel2Element['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const pageValue = this.page();\n                if (pageValue !== undefined) {\n                    (this._element as any).page = pageValue;\n                }\n\n                const numVisibleValue = this.numVisible();\n                if (numVisibleValue !== undefined) {\n                    (this._element as any).numVisible = numVisibleValue;\n                }\n\n                const numScrollValue = this.numScroll();\n                if (numScrollValue !== undefined) {\n                    (this._element as any).numScroll = numScrollValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const circularValue = this.circular();\n                if (circularValue !== undefined) {\n                    (this._element as any).circular = circularValue;\n                }\n\n                const showIndicatorsValue = this.showIndicators();\n                if (showIndicatorsValue !== undefined) {\n                    (this._element as any).showIndicators = showIndicatorsValue;\n                }\n\n                const showNavigatorsValue = this.showNavigators();\n                if (showNavigatorsValue !== undefined) {\n                    (this._element as any).showNavigators = showNavigatorsValue;\n                }\n\n                const autoplayIntervalValue = this.autoplayInterval();\n                if (autoplayIntervalValue !== undefined) {\n                    (this._element as any).autoplayInterval = autoplayIntervalValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends Carousel2MethodNames>(method: TMethod, ...args: Parameters<Carousel2ComponentMethods[TMethod]>): ReturnType<Carousel2ComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof Carousel2Element>(property: TProperty, value: Carousel2Element[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on Carousel2Component.\n */\nexport type Carousel2MethodNames = 'onSlotChanges' | 'isVertical' | 'isForwardNavDisabled' | 'isBackwardNavDisabled' | 'ariaPrevButtonLabel' | 'ariaNextButtonLabel' | 'ariaPageLabel' | 'navForward' | 'navBackward' | 'onDotClick' | 'onTransitionEnd' | 'totalDots' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for Carousel2Component.\n */\nexport type Carousel2ComponentMethods = MethodMap<Carousel2MethodNames>;\n\n/**\n * @public\n */\nexport function provideCarousel2Component(config: Partial<Carousel2Element.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CAROUSEL2_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CarouselItem2Element } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CarouselItem2Component.\n * Use this token to provide default properties for the CarouselItem2Component.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CAROUSEL_ITEM2_DEFAULT_PROPS = new InjectionToken<Partial<CarouselItem2Element.Props>>('MOSAIK_CAROUSEL_ITEM2_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the carousel item content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-carousel-item-2', CarouselItem2Element),\n    inputs: ['themeName', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-carousel-item-2',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CarouselItem2Component {\n    // #region Fields\n\n    private readonly _element: CarouselItem2Element;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CAROUSEL_ITEM2_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CarouselItem2Element['themeName'] | undefined> = input<CarouselItem2Element['themeName']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<CarouselItem2Element['isSelected'] | undefined> = input<CarouselItem2Element['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<CarouselItem2Element['index'] | undefined> = input<CarouselItem2Element['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<CarouselItem2Element['displayText'] | undefined> = input<CarouselItem2Element['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CarouselItem2Element['value'] | undefined> = input<CarouselItem2Element['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CarouselItem2Element['dir'] | undefined> = input<CarouselItem2Element['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CarouselItem2Element['lang'] | undefined> = input<CarouselItem2Element['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CarouselItem2MethodNames>(method: TMethod, ...args: Parameters<CarouselItem2ComponentMethods[TMethod]>): ReturnType<CarouselItem2ComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CarouselItem2Element>(property: TProperty, value: CarouselItem2Element[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CarouselItem2Component.\n */\nexport type CarouselItem2MethodNames = 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CarouselItem2Component.\n */\nexport type CarouselItem2ComponentMethods = MethodMap<CarouselItem2MethodNames>;\n\n/**\n * @public\n */\nexport function provideCarouselItem2Component(config: Partial<CarouselItem2Element.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CAROUSEL_ITEM2_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CarouselItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CarouselItemComponent.\n * Use this token to provide default properties for the CarouselItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CAROUSEL_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<CarouselItemElement.Props>>('MOSAIK_CAROUSEL_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for the carousel item's content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-carousel-item', CarouselItemElement),\n    inputs: ['isDismissed', 'isActive', 'dismissDirection', 'themeName', 'disabled', 'isSelected', 'index', 'displayText', 'parent', 'value', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-carousel-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CarouselItemComponent {\n    // #region Fields\n\n    private readonly _element: CarouselItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CAROUSEL_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isDismissed` property.\n     *\n     * @public\n     */\n    public readonly isDismissed: InputSignal<CarouselItemElement['isDismissed'] | undefined> = input<CarouselItemElement['isDismissed']>();\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<CarouselItemElement['isActive'] | undefined> = input<CarouselItemElement['isActive']>();\n\n    /**\n     * Signal input for the `dismissDirection` property.\n     *\n     * @public\n     */\n    public readonly dismissDirection: InputSignal<CarouselItemElement['dismissDirection'] | undefined> = input<CarouselItemElement['dismissDirection']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CarouselItemElement['themeName'] | undefined> = input<CarouselItemElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CarouselItemElement['disabled'] | undefined> = input<CarouselItemElement['disabled']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<CarouselItemElement['isSelected'] | undefined> = input<CarouselItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<CarouselItemElement['index'] | undefined> = input<CarouselItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<CarouselItemElement['displayText'] | undefined> = input<CarouselItemElement['displayText']>();\n\n    /**\n     * Signal input for the `parent` property.\n     *\n     * @public\n     */\n    public readonly parent: InputSignal<CarouselItemElement['parent'] | undefined> = input<CarouselItemElement['parent']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CarouselItemElement['value'] | undefined> = input<CarouselItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CarouselItemElement['dir'] | undefined> = input<CarouselItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CarouselItemElement['lang'] | undefined> = input<CarouselItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isDismissedValue = this.isDismissed();\n                if (isDismissedValue !== undefined) {\n                    (this._element as any).isDismissed = isDismissedValue;\n                }\n\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const dismissDirectionValue = this.dismissDirection();\n                if (dismissDirectionValue !== undefined) {\n                    (this._element as any).dismissDirection = dismissDirectionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const parentValue = this.parent();\n                if (parentValue !== undefined) {\n                    (this._element as any).parent = parentValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CarouselItemMethodNames>(method: TMethod, ...args: Parameters<CarouselItemComponentMethods[TMethod]>): ReturnType<CarouselItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CarouselItemElement>(property: TProperty, value: CarouselItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CarouselItemComponent.\n */\nexport type CarouselItemMethodNames = 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CarouselItemComponent.\n */\nexport type CarouselItemComponentMethods = MethodMap<CarouselItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideCarouselItemComponent(config: Partial<CarouselItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CAROUSEL_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CarouselElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CarouselComponent.\n * Use this token to provide default properties for the CarouselComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CAROUSEL_DEFAULT_PROPS = new InjectionToken<Partial<CarouselElement.Props>>('MOSAIK_CAROUSEL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for carousel items and navigation elements\n * @slot indicator - The indicator slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-carousel', CarouselElement),\n    inputs: ['hasPrevious', 'hasNext', 'showNavigation', 'showIndicator', 'loop', 'navigationPosition', 'displayMode', 'themeName', 'disabled', 'appearance', 'variant', 'selectedItem', 'dir', 'lang'],\n    methods: ['select', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'deselect', 'resetSelection', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-carousel',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CarouselComponent {\n    // #region Fields\n\n    private readonly _element: CarouselElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CAROUSEL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasPrevious` property.\n     *\n     * @public\n     */\n    public readonly hasPrevious: InputSignal<CarouselElement['hasPrevious'] | undefined> = input<CarouselElement['hasPrevious']>();\n\n    /**\n     * Signal input for the `hasNext` property.\n     *\n     * @public\n     */\n    public readonly hasNext: InputSignal<CarouselElement['hasNext'] | undefined> = input<CarouselElement['hasNext']>();\n\n    /**\n     * Signal input for the `showNavigation` property.\n     *\n     * @public\n     */\n    public readonly showNavigation: InputSignal<CarouselElement['showNavigation'] | undefined> = input<CarouselElement['showNavigation']>();\n\n    /**\n     * Signal input for the `showIndicator` property.\n     *\n     * @public\n     */\n    public readonly showIndicator: InputSignal<CarouselElement['showIndicator'] | undefined> = input<CarouselElement['showIndicator']>();\n\n    /**\n     * Signal input for the `loop` property.\n     *\n     * @public\n     */\n    public readonly loop: InputSignal<CarouselElement['loop'] | undefined> = input<CarouselElement['loop']>();\n\n    /**\n     * Signal input for the `navigationPosition` property.\n     *\n     * @public\n     */\n    public readonly navigationPosition: InputSignal<CarouselElement['navigationPosition'] | undefined> = input<CarouselElement['navigationPosition']>();\n\n    /**\n     * Signal input for the `displayMode` property.\n     *\n     * @public\n     */\n    public readonly displayMode: InputSignal<CarouselElement['displayMode'] | undefined> = input<CarouselElement['displayMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CarouselElement['themeName'] | undefined> = input<CarouselElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CarouselElement['disabled'] | undefined> = input<CarouselElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CarouselElement['appearance'] | undefined> = input<CarouselElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CarouselElement['variant'] | undefined> = input<CarouselElement['variant']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<CarouselElement['selectedItem'] | undefined> = input<CarouselElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CarouselElement['dir'] | undefined> = input<CarouselElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CarouselElement['lang'] | undefined> = input<CarouselElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasPreviousValue = this.hasPrevious();\n                if (hasPreviousValue !== undefined) {\n                    (this._element as any).hasPrevious = hasPreviousValue;\n                }\n\n                const hasNextValue = this.hasNext();\n                if (hasNextValue !== undefined) {\n                    (this._element as any).hasNext = hasNextValue;\n                }\n\n                const showNavigationValue = this.showNavigation();\n                if (showNavigationValue !== undefined) {\n                    (this._element as any).showNavigation = showNavigationValue;\n                }\n\n                const showIndicatorValue = this.showIndicator();\n                if (showIndicatorValue !== undefined) {\n                    (this._element as any).showIndicator = showIndicatorValue;\n                }\n\n                const loopValue = this.loop();\n                if (loopValue !== undefined) {\n                    (this._element as any).loop = loopValue;\n                }\n\n                const navigationPositionValue = this.navigationPosition();\n                if (navigationPositionValue !== undefined) {\n                    (this._element as any).navigationPosition = navigationPositionValue;\n                }\n\n                const displayModeValue = this.displayMode();\n                if (displayModeValue !== undefined) {\n                    (this._element as any).displayMode = displayModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CarouselMethodNames>(method: TMethod, ...args: Parameters<CarouselComponentMethods[TMethod]>): ReturnType<CarouselComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CarouselElement>(property: TProperty, value: CarouselElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CarouselComponent.\n */\nexport type CarouselMethodNames = 'select' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'deselect' | 'resetSelection' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CarouselComponent.\n */\nexport type CarouselComponentMethods = MethodMap<CarouselMethodNames>;\n\n/**\n * @public\n */\nexport function provideCarouselComponent(config: Partial<CarouselElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CAROUSEL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CellGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CellGroupComponent.\n * Use this token to provide default properties for the CellGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CELL_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<CellGroupElement.Props>>('MOSAIK_CELL_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for cell components and related content\n * @slot header - Header content area for group titles, descriptions, or section labels\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-cell-group', CellGroupElement),\n    inputs: ['header', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-cell-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CellGroupComponent {\n    // #region Fields\n\n    private readonly _element: CellGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CELL_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<CellGroupElement['header'] | undefined> = input<CellGroupElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CellGroupElement['themeName'] | undefined> = input<CellGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CellGroupElement['dir'] | undefined> = input<CellGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CellGroupElement['lang'] | undefined> = input<CellGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CellGroupMethodNames>(method: TMethod, ...args: Parameters<CellGroupComponentMethods[TMethod]>): ReturnType<CellGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CellGroupElement>(property: TProperty, value: CellGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CellGroupComponent.\n */\nexport type CellGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CellGroupComponent.\n */\nexport type CellGroupComponentMethods = MethodMap<CellGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideCellGroupComponent(config: Partial<CellGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CELL_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CellElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CellComponent.\n * Use this token to provide default properties for the CellComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CELL_DEFAULT_PROPS = new InjectionToken<Partial<CellElement.Props>>('MOSAIK_CELL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot end - Trailing content area for actions, status indicators, or secondary controls\n * @slot label - Primary content area for main text, titles, or primary information\n * @slot start - Leading content area for icons, avatars, thumbnails, or visual indicators\n * @slot subLabel - Secondary content area for descriptions, metadata, or supplementary text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-cell', CellElement),\n    inputs: ['isNavigation', 'subLabel', 'themeName', 'label', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-cell',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CellComponent {\n    // #region Fields\n\n    private readonly _element: CellElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CELL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isNavigation` property.\n     *\n     * @public\n     */\n    public readonly isNavigation: InputSignal<CellElement['isNavigation'] | undefined> = input<CellElement['isNavigation']>();\n\n    /**\n     * Signal input for the `subLabel` property.\n     *\n     * @public\n     */\n    public readonly subLabel: InputSignal<CellElement['subLabel'] | undefined> = input<CellElement['subLabel']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CellElement['themeName'] | undefined> = input<CellElement['themeName']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<CellElement['label'] | undefined> = input<CellElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CellElement['disabled'] | undefined> = input<CellElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CellElement['dir'] | undefined> = input<CellElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CellElement['lang'] | undefined> = input<CellElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isNavigationValue = this.isNavigation();\n                if (isNavigationValue !== undefined) {\n                    (this._element as any).isNavigation = isNavigationValue;\n                }\n\n                const subLabelValue = this.subLabel();\n                if (subLabelValue !== undefined) {\n                    (this._element as any).subLabel = subLabelValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CellMethodNames>(method: TMethod, ...args: Parameters<CellComponentMethods[TMethod]>): ReturnType<CellComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CellElement>(property: TProperty, value: CellElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CellComponent.\n */\nexport type CellMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CellComponent.\n */\nexport type CellComponentMethods = MethodMap<CellMethodNames>;\n\n/**\n * @public\n */\nexport function provideCellComponent(config: Partial<CellElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CELL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChartElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChartComponent.\n * Use this token to provide default properties for the ChartComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHART_DEFAULT_PROPS = new InjectionToken<Partial<ChartElement.Props>>('MOSAIK_CHART_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chart', ChartElement),\n    inputs: ['chart', 'annotations', 'colors', 'dataLabels', 'series', 'stroke', 'labels', 'legend', 'markers', 'noData', 'fill', 'tooltip', 'plotOptions', 'responsive', 'xAxis', 'yAxis', 'grid', 'states', 'theme', 'display', 'stacked', 'stackType', 'isYAxisVisible', 'isXAxisVisible', 'isLegendVisible', 'legendPosition', 'themeName', 'header', 'subHeader', 'variant', 'fit', 'width', 'height', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chart',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChartComponent {\n    // #region Fields\n\n    private readonly _element: ChartElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHART_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `chart` property.\n     *\n     * @public\n     */\n    public readonly chart: InputSignal<ChartElement['chart'] | undefined> = input<ChartElement['chart']>();\n\n    /**\n     * Signal input for the `annotations` property.\n     *\n     * @public\n     */\n    public readonly annotations: InputSignal<ChartElement['annotations'] | undefined> = input<ChartElement['annotations']>();\n\n    /**\n     * Signal input for the `colors` property.\n     *\n     * @public\n     */\n    public readonly colors: InputSignal<ChartElement['colors'] | undefined> = input<ChartElement['colors']>();\n\n    /**\n     * Signal input for the `dataLabels` property.\n     *\n     * @public\n     */\n    public readonly dataLabels: InputSignal<ChartElement['dataLabels'] | undefined> = input<ChartElement['dataLabels']>();\n\n    /**\n     * Signal input for the `series` property.\n     *\n     * @public\n     */\n    public readonly series: InputSignal<ChartElement['series'] | undefined> = input<ChartElement['series']>();\n\n    /**\n     * Signal input for the `stroke` property.\n     *\n     * @public\n     */\n    public readonly stroke: InputSignal<ChartElement['stroke'] | undefined> = input<ChartElement['stroke']>();\n\n    /**\n     * Signal input for the `labels` property.\n     *\n     * @public\n     */\n    public readonly labels: InputSignal<ChartElement['labels'] | undefined> = input<ChartElement['labels']>();\n\n    /**\n     * Signal input for the `legend` property.\n     *\n     * @public\n     */\n    public readonly legend: InputSignal<ChartElement['legend'] | undefined> = input<ChartElement['legend']>();\n\n    /**\n     * Signal input for the `markers` property.\n     *\n     * @public\n     */\n    public readonly markers: InputSignal<ChartElement['markers'] | undefined> = input<ChartElement['markers']>();\n\n    /**\n     * Signal input for the `noData` property.\n     *\n     * @public\n     */\n    public readonly noData: InputSignal<ChartElement['noData'] | undefined> = input<ChartElement['noData']>();\n\n    /**\n     * Signal input for the `fill` property.\n     *\n     * @public\n     */\n    public readonly fill: InputSignal<ChartElement['fill'] | undefined> = input<ChartElement['fill']>();\n\n    /**\n     * Signal input for the `tooltip` property.\n     *\n     * @public\n     */\n    public readonly tooltip: InputSignal<ChartElement['tooltip'] | undefined> = input<ChartElement['tooltip']>();\n\n    /**\n     * Signal input for the `plotOptions` property.\n     *\n     * @public\n     */\n    public readonly plotOptions: InputSignal<ChartElement['plotOptions'] | undefined> = input<ChartElement['plotOptions']>();\n\n    /**\n     * Signal input for the `responsive` property.\n     *\n     * @public\n     */\n    public readonly responsive: InputSignal<ChartElement['responsive'] | undefined> = input<ChartElement['responsive']>();\n\n    /**\n     * Signal input for the `xAxis` property.\n     *\n     * @public\n     */\n    public readonly xAxis: InputSignal<ChartElement['xAxis'] | undefined> = input<ChartElement['xAxis']>();\n\n    /**\n     * Signal input for the `yAxis` property.\n     *\n     * @public\n     */\n    public readonly yAxis: InputSignal<ChartElement['yAxis'] | undefined> = input<ChartElement['yAxis']>();\n\n    /**\n     * Signal input for the `grid` property.\n     *\n     * @public\n     */\n    public readonly grid: InputSignal<ChartElement['grid'] | undefined> = input<ChartElement['grid']>();\n\n    /**\n     * Signal input for the `states` property.\n     *\n     * @public\n     */\n    public readonly states: InputSignal<ChartElement['states'] | undefined> = input<ChartElement['states']>();\n\n    /**\n     * Signal input for the `theme` property.\n     *\n     * @public\n     */\n    public readonly theme: InputSignal<ChartElement['theme'] | undefined> = input<ChartElement['theme']>();\n\n    /**\n     * Signal input for the `display` property.\n     *\n     * @public\n     */\n    public readonly display: InputSignal<ChartElement['display'] | undefined> = input<ChartElement['display']>();\n\n    /**\n     * Signal input for the `stacked` property.\n     *\n     * @public\n     */\n    public readonly stacked: InputSignal<ChartElement['stacked'] | undefined> = input<ChartElement['stacked']>();\n\n    /**\n     * Signal input for the `stackType` property.\n     *\n     * @public\n     */\n    public readonly stackType: InputSignal<ChartElement['stackType'] | undefined> = input<ChartElement['stackType']>();\n\n    /**\n     * Signal input for the `isYAxisVisible` property.\n     *\n     * @public\n     */\n    public readonly isYAxisVisible: InputSignal<ChartElement['isYAxisVisible'] | undefined> = input<ChartElement['isYAxisVisible']>();\n\n    /**\n     * Signal input for the `isXAxisVisible` property.\n     *\n     * @public\n     */\n    public readonly isXAxisVisible: InputSignal<ChartElement['isXAxisVisible'] | undefined> = input<ChartElement['isXAxisVisible']>();\n\n    /**\n     * Signal input for the `isLegendVisible` property.\n     *\n     * @public\n     */\n    public readonly isLegendVisible: InputSignal<ChartElement['isLegendVisible'] | undefined> = input<ChartElement['isLegendVisible']>();\n\n    /**\n     * Signal input for the `legendPosition` property.\n     *\n     * @public\n     */\n    public readonly legendPosition: InputSignal<ChartElement['legendPosition'] | undefined> = input<ChartElement['legendPosition']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChartElement['themeName'] | undefined> = input<ChartElement['themeName']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ChartElement['header'] | undefined> = input<ChartElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<ChartElement['subHeader'] | undefined> = input<ChartElement['subHeader']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChartElement['variant'] | undefined> = input<ChartElement['variant']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ChartElement['fit'] | undefined> = input<ChartElement['fit']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<ChartElement['width'] | undefined> = input<ChartElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<ChartElement['height'] | undefined> = input<ChartElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChartElement['dir'] | undefined> = input<ChartElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChartElement['lang'] | undefined> = input<ChartElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const chartValue = this.chart();\n                if (chartValue !== undefined) {\n                    (this._element as any).chart = chartValue;\n                }\n\n                const annotationsValue = this.annotations();\n                if (annotationsValue !== undefined) {\n                    (this._element as any).annotations = annotationsValue;\n                }\n\n                const colorsValue = this.colors();\n                if (colorsValue !== undefined) {\n                    (this._element as any).colors = colorsValue;\n                }\n\n                const dataLabelsValue = this.dataLabels();\n                if (dataLabelsValue !== undefined) {\n                    (this._element as any).dataLabels = dataLabelsValue;\n                }\n\n                const seriesValue = this.series();\n                if (seriesValue !== undefined) {\n                    (this._element as any).series = seriesValue;\n                }\n\n                const strokeValue = this.stroke();\n                if (strokeValue !== undefined) {\n                    (this._element as any).stroke = strokeValue;\n                }\n\n                const legendValue = this.legend();\n                if (legendValue !== undefined) {\n                    (this._element as any).legend = legendValue;\n                }\n\n                const markersValue = this.markers();\n                if (markersValue !== undefined) {\n                    (this._element as any).markers = markersValue;\n                }\n\n                const noDataValue = this.noData();\n                if (noDataValue !== undefined) {\n                    (this._element as any).noData = noDataValue;\n                }\n\n                const fillValue = this.fill();\n                if (fillValue !== undefined) {\n                    (this._element as any).fill = fillValue;\n                }\n\n                const tooltipValue = this.tooltip();\n                if (tooltipValue !== undefined) {\n                    (this._element as any).tooltip = tooltipValue;\n                }\n\n                const plotOptionsValue = this.plotOptions();\n                if (plotOptionsValue !== undefined) {\n                    (this._element as any).plotOptions = plotOptionsValue;\n                }\n\n                const responsiveValue = this.responsive();\n                if (responsiveValue !== undefined) {\n                    (this._element as any).responsive = responsiveValue;\n                }\n\n                const xAxisValue = this.xAxis();\n                if (xAxisValue !== undefined) {\n                    (this._element as any).xAxis = xAxisValue;\n                }\n\n                const yAxisValue = this.yAxis();\n                if (yAxisValue !== undefined) {\n                    (this._element as any).yAxis = yAxisValue;\n                }\n\n                const gridValue = this.grid();\n                if (gridValue !== undefined) {\n                    (this._element as any).grid = gridValue;\n                }\n\n                const statesValue = this.states();\n                if (statesValue !== undefined) {\n                    (this._element as any).states = statesValue;\n                }\n\n                const themeValue = this.theme();\n                if (themeValue !== undefined) {\n                    (this._element as any).theme = themeValue;\n                }\n\n                const displayValue = this.display();\n                if (displayValue !== undefined) {\n                    (this._element as any).display = displayValue;\n                }\n\n                const stackedValue = this.stacked();\n                if (stackedValue !== undefined) {\n                    (this._element as any).stacked = stackedValue;\n                }\n\n                const stackTypeValue = this.stackType();\n                if (stackTypeValue !== undefined) {\n                    (this._element as any).stackType = stackTypeValue;\n                }\n\n                const isYAxisVisibleValue = this.isYAxisVisible();\n                if (isYAxisVisibleValue !== undefined) {\n                    (this._element as any).isYAxisVisible = isYAxisVisibleValue;\n                }\n\n                const isXAxisVisibleValue = this.isXAxisVisible();\n                if (isXAxisVisibleValue !== undefined) {\n                    (this._element as any).isXAxisVisible = isXAxisVisibleValue;\n                }\n\n                const isLegendVisibleValue = this.isLegendVisible();\n                if (isLegendVisibleValue !== undefined) {\n                    (this._element as any).isLegendVisible = isLegendVisibleValue;\n                }\n\n                const legendPositionValue = this.legendPosition();\n                if (legendPositionValue !== undefined) {\n                    (this._element as any).legendPosition = legendPositionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChartMethodNames>(method: TMethod, ...args: Parameters<ChartComponentMethods[TMethod]>): ReturnType<ChartComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChartElement>(property: TProperty, value: ChartElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChartComponent.\n */\nexport type ChartMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChartComponent.\n */\nexport type ChartComponentMethods = MethodMap<ChartMethodNames>;\n\n/**\n * @public\n */\nexport function provideChartComponent(config: Partial<ChartElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHART_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatHeaderComponent.\n * Use this token to provide default properties for the ChatHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<ChatHeaderElement.Props>>('MOSAIK_CHAT_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot after - The content placed at the end of the chat header.\n * @slot before - The content placed at the beginning of the chat header.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-header', ChatHeaderElement),\n    inputs: ['title', 'subTitle', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatHeaderComponent {\n    // #region Fields\n\n    private readonly _element: ChatHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `title` property.\n     *\n     * @public\n     */\n    public readonly title: InputSignal<ChatHeaderElement['title'] | undefined> = input<ChatHeaderElement['title']>();\n\n    /**\n     * Signal input for the `subTitle` property.\n     *\n     * @public\n     */\n    public readonly subTitle: InputSignal<ChatHeaderElement['subTitle'] | undefined> = input<ChatHeaderElement['subTitle']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatHeaderElement['themeName'] | undefined> = input<ChatHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ChatHeaderElement['formatter'] | undefined> = input<ChatHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatHeaderElement['dir'] | undefined> = input<ChatHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatHeaderElement['lang'] | undefined> = input<ChatHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const titleValue = this.title();\n                if (titleValue !== undefined) {\n                    (this._element as any).title = titleValue;\n                }\n\n                const subTitleValue = this.subTitle();\n                if (subTitleValue !== undefined) {\n                    (this._element as any).subTitle = subTitleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatHeaderMethodNames>(method: TMethod, ...args: Parameters<ChatHeaderComponentMethods[TMethod]>): ReturnType<ChatHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatHeaderElement>(property: TProperty, value: ChatHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatHeaderComponent.\n */\nexport type ChatHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatHeaderComponent.\n */\nexport type ChatHeaderComponentMethods = MethodMap<ChatHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatHeaderComponent(config: Partial<ChatHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatInputAttachmentListElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatInputAttachmentListComponent.\n * Use this token to provide default properties for the ChatInputAttachmentListComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_INPUT_ATTACHMENT_LIST_DEFAULT_PROPS = new InjectionToken<Partial<ChatInputAttachmentListElement.Props>>('MOSAIK_CHAT_INPUT_ATTACHMENT_LIST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-input-attachment-list', ChatInputAttachmentListElement),\n    inputs: ['attachmentAdded', 'attachmentRemoved', 'files', 'themeName', 'variant', 'appearance', 'disabled', 'dir', 'lang'],\n    methods: ['addAttachment', 'removeAttachment', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-input-attachment-list',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatInputAttachmentListComponent {\n    // #region Fields\n\n    private readonly _element: ChatInputAttachmentListElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('attachmentAdd', (e) => this.attachmentAdd.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('attachmentRemove', (e) => this.attachmentRemove.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_INPUT_ATTACHMENT_LIST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `attachmentAdded` property.\n     *\n     * @public\n     */\n    public readonly attachmentAdded: InputSignal<ChatInputAttachmentListElement['attachmentAdded'] | undefined> = input<ChatInputAttachmentListElement['attachmentAdded']>();\n\n    /**\n     * Signal input for the `attachmentRemoved` property.\n     *\n     * @public\n     */\n    public readonly attachmentRemoved: InputSignal<ChatInputAttachmentListElement['attachmentRemoved'] | undefined> = input<ChatInputAttachmentListElement['attachmentRemoved']>();\n\n    /**\n     * Signal input for the `files` property.\n     *\n     * @public\n     */\n    public readonly files: InputSignal<ChatInputAttachmentListElement['files'] | undefined> = input<ChatInputAttachmentListElement['files']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatInputAttachmentListElement['themeName'] | undefined> = input<ChatInputAttachmentListElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatInputAttachmentListElement['variant'] | undefined> = input<ChatInputAttachmentListElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatInputAttachmentListElement['appearance'] | undefined> = input<ChatInputAttachmentListElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChatInputAttachmentListElement['disabled'] | undefined> = input<ChatInputAttachmentListElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatInputAttachmentListElement['dir'] | undefined> = input<ChatInputAttachmentListElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatInputAttachmentListElement['lang'] | undefined> = input<ChatInputAttachmentListElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const filesValue = this.files();\n                if (filesValue !== undefined) {\n                    (this._element as any).files = filesValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `attachmentAdd` event.\n     *\n     * @public\n     */\n    public readonly attachmentAdd: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `attachmentRemove` event.\n     *\n     * @public\n     */\n    public readonly attachmentRemove: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatInputAttachmentListMethodNames>(method: TMethod, ...args: Parameters<ChatInputAttachmentListComponentMethods[TMethod]>): ReturnType<ChatInputAttachmentListComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatInputAttachmentListElement>(property: TProperty, value: ChatInputAttachmentListElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatInputAttachmentListComponent.\n */\nexport type ChatInputAttachmentListMethodNames = 'addAttachment' | 'removeAttachment' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatInputAttachmentListComponent.\n */\nexport type ChatInputAttachmentListComponentMethods = MethodMap<ChatInputAttachmentListMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatInputAttachmentListComponent(config: Partial<ChatInputAttachmentListElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_INPUT_ATTACHMENT_LIST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatInputElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatInputComponent.\n * Use this token to provide default properties for the ChatInputComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_INPUT_DEFAULT_PROPS = new InjectionToken<Partial<ChatInputElement.Props>>('MOSAIK_CHAT_INPUT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot tools - The tools slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-input', ChatInputElement),\n    inputs: ['submitted', 'value', 'placeholder', 'themeName', 'variant', 'appearance', 'disabled', 'dir', 'lang'],\n    methods: ['send', 'clear', 'onApplyTemplate', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-input',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatInputComponent {\n    // #region Fields\n\n    private readonly _element: ChatInputElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('chatSubmit', (e) => this.chatSubmit.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_INPUT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `submitted` property.\n     *\n     * @public\n     */\n    public readonly submitted: InputSignal<ChatInputElement['submitted'] | undefined> = input<ChatInputElement['submitted']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChatInputElement['value'] | undefined> = input<ChatInputElement['value']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<ChatInputElement['placeholder'] | undefined> = input<ChatInputElement['placeholder']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatInputElement['themeName'] | undefined> = input<ChatInputElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatInputElement['variant'] | undefined> = input<ChatInputElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatInputElement['appearance'] | undefined> = input<ChatInputElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChatInputElement['disabled'] | undefined> = input<ChatInputElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatInputElement['dir'] | undefined> = input<ChatInputElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatInputElement['lang'] | undefined> = input<ChatInputElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `chatSubmit` event.\n     *\n     * @public\n     */\n    public readonly chatSubmit: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatInputMethodNames>(method: TMethod, ...args: Parameters<ChatInputComponentMethods[TMethod]>): ReturnType<ChatInputComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatInputElement>(property: TProperty, value: ChatInputElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatInputComponent.\n */\nexport type ChatInputMethodNames = 'send' | 'clear' | 'onApplyTemplate' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatInputComponent.\n */\nexport type ChatInputComponentMethods = MethodMap<ChatInputMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatInputComponent(config: Partial<ChatInputElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_INPUT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatMarkerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatMarkerComponent.\n * Use this token to provide default properties for the ChatMarkerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_MARKER_DEFAULT_PROPS = new InjectionToken<Partial<ChatMarkerElement.Props>>('MOSAIK_CHAT_MARKER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-marker', ChatMarkerElement),\n    inputs: ['text', 'icon', 'themeName', 'variant', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'isSticky', 'formatter', 'appearance', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-marker',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatMarkerComponent {\n    // #region Fields\n\n    private readonly _element: ChatMarkerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_MARKER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ChatMarkerElement['text'] | undefined> = input<ChatMarkerElement['text']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ChatMarkerElement['icon'] | undefined> = input<ChatMarkerElement['icon']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatMarkerElement['themeName'] | undefined> = input<ChatMarkerElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatMarkerElement['variant'] | undefined> = input<ChatMarkerElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ChatMarkerElement['orientation'] | undefined> = input<ChatMarkerElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<ChatMarkerElement['horizontalContentAlignment'] | undefined> = input<ChatMarkerElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<ChatMarkerElement['verticalContentAlignment'] | undefined> = input<ChatMarkerElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `isSticky` property.\n     *\n     * @public\n     */\n    public readonly isSticky: InputSignal<ChatMarkerElement['isSticky'] | undefined> = input<ChatMarkerElement['isSticky']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ChatMarkerElement['formatter'] | undefined> = input<ChatMarkerElement['formatter']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatMarkerElement['appearance'] | undefined> = input<ChatMarkerElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatMarkerElement['dir'] | undefined> = input<ChatMarkerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatMarkerElement['lang'] | undefined> = input<ChatMarkerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const isStickyValue = this.isSticky();\n                if (isStickyValue !== undefined) {\n                    (this._element as any).isSticky = isStickyValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMarkerMethodNames>(method: TMethod, ...args: Parameters<ChatMarkerComponentMethods[TMethod]>): ReturnType<ChatMarkerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatMarkerElement>(property: TProperty, value: ChatMarkerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatMarkerComponent.\n */\nexport type ChatMarkerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatMarkerComponent.\n */\nexport type ChatMarkerComponentMethods = MethodMap<ChatMarkerMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatMarkerComponent(config: Partial<ChatMarkerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_MARKER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatMessageAvatarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatMessageAvatarComponent.\n * Use this token to provide default properties for the ChatMessageAvatarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_MESSAGE_AVATAR_DEFAULT_PROPS = new InjectionToken<Partial<ChatMessageAvatarElement.Props>>('MOSAIK_CHAT_MESSAGE_AVATAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-message-avatar', ChatMessageAvatarElement),\n    inputs: ['text', 'icon', 'src', 'themeName', 'appearance', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-message-avatar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatMessageAvatarComponent {\n    // #region Fields\n\n    private readonly _element: ChatMessageAvatarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_MESSAGE_AVATAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ChatMessageAvatarElement['text'] | undefined> = input<ChatMessageAvatarElement['text']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ChatMessageAvatarElement['icon'] | undefined> = input<ChatMessageAvatarElement['icon']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<ChatMessageAvatarElement['src'] | undefined> = input<ChatMessageAvatarElement['src']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatMessageAvatarElement['themeName'] | undefined> = input<ChatMessageAvatarElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatMessageAvatarElement['appearance'] | undefined> = input<ChatMessageAvatarElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatMessageAvatarElement['variant'] | undefined> = input<ChatMessageAvatarElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChatMessageAvatarElement['disabled'] | undefined> = input<ChatMessageAvatarElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatMessageAvatarElement['dir'] | undefined> = input<ChatMessageAvatarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatMessageAvatarElement['lang'] | undefined> = input<ChatMessageAvatarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMessageAvatarMethodNames>(method: TMethod, ...args: Parameters<ChatMessageAvatarComponentMethods[TMethod]>): ReturnType<ChatMessageAvatarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatMessageAvatarElement>(property: TProperty, value: ChatMessageAvatarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatMessageAvatarComponent.\n */\nexport type ChatMessageAvatarMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatMessageAvatarComponent.\n */\nexport type ChatMessageAvatarComponentMethods = MethodMap<ChatMessageAvatarMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatMessageAvatarComponent(config: Partial<ChatMessageAvatarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_MESSAGE_AVATAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatMessageDividerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatMessageDividerComponent.\n * Use this token to provide default properties for the ChatMessageDividerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_MESSAGE_DIVIDER_DEFAULT_PROPS = new InjectionToken<Partial<ChatMessageDividerElement.Props>>('MOSAIK_CHAT_MESSAGE_DIVIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-message-divider', ChatMessageDividerElement),\n    inputs: ['text', 'thickness', 'themeName', 'isSticky', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-message-divider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatMessageDividerComponent {\n    // #region Fields\n\n    private readonly _element: ChatMessageDividerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_MESSAGE_DIVIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ChatMessageDividerElement['text'] | undefined> = input<ChatMessageDividerElement['text']>();\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<ChatMessageDividerElement['thickness'] | undefined> = input<ChatMessageDividerElement['thickness']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatMessageDividerElement['themeName'] | undefined> = input<ChatMessageDividerElement['themeName']>();\n\n    /**\n     * Signal input for the `isSticky` property.\n     *\n     * @public\n     */\n    public readonly isSticky: InputSignal<ChatMessageDividerElement['isSticky'] | undefined> = input<ChatMessageDividerElement['isSticky']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatMessageDividerElement['dir'] | undefined> = input<ChatMessageDividerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatMessageDividerElement['lang'] | undefined> = input<ChatMessageDividerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isStickyValue = this.isSticky();\n                if (isStickyValue !== undefined) {\n                    (this._element as any).isSticky = isStickyValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMessageDividerMethodNames>(method: TMethod, ...args: Parameters<ChatMessageDividerComponentMethods[TMethod]>): ReturnType<ChatMessageDividerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatMessageDividerElement>(property: TProperty, value: ChatMessageDividerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatMessageDividerComponent.\n */\nexport type ChatMessageDividerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatMessageDividerComponent.\n */\nexport type ChatMessageDividerComponentMethods = MethodMap<ChatMessageDividerMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatMessageDividerComponent(config: Partial<ChatMessageDividerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_MESSAGE_DIVIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatMessageReactionElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatMessageReactionComponent.\n * Use this token to provide default properties for the ChatMessageReactionComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_MESSAGE_REACTION_DEFAULT_PROPS = new InjectionToken<Partial<ChatMessageReactionElement.Props>>('MOSAIK_CHAT_MESSAGE_REACTION_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-message-reaction', ChatMessageReactionElement),\n    inputs: ['emoji', 'count', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-message-reaction',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatMessageReactionComponent {\n    // #region Fields\n\n    private readonly _element: ChatMessageReactionElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_MESSAGE_REACTION_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `emoji` property.\n     *\n     * @public\n     */\n    public readonly emoji: InputSignal<ChatMessageReactionElement['emoji'] | undefined> = input<ChatMessageReactionElement['emoji']>();\n\n    /**\n     * Signal input for the `count` property.\n     *\n     * @public\n     */\n    public readonly count: InputSignal<ChatMessageReactionElement['count'] | undefined> = input<ChatMessageReactionElement['count']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatMessageReactionElement['themeName'] | undefined> = input<ChatMessageReactionElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChatMessageReactionElement['disabled'] | undefined> = input<ChatMessageReactionElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatMessageReactionElement['dir'] | undefined> = input<ChatMessageReactionElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatMessageReactionElement['lang'] | undefined> = input<ChatMessageReactionElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const emojiValue = this.emoji();\n                if (emojiValue !== undefined) {\n                    (this._element as any).emoji = emojiValue;\n                }\n\n                const countValue = this.count();\n                if (countValue !== undefined) {\n                    (this._element as any).count = countValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMessageReactionMethodNames>(method: TMethod, ...args: Parameters<ChatMessageReactionComponentMethods[TMethod]>): ReturnType<ChatMessageReactionComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatMessageReactionElement>(property: TProperty, value: ChatMessageReactionElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatMessageReactionComponent.\n */\nexport type ChatMessageReactionMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatMessageReactionComponent.\n */\nexport type ChatMessageReactionComponentMethods = MethodMap<ChatMessageReactionMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatMessageReactionComponent(config: Partial<ChatMessageReactionElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_MESSAGE_REACTION_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatMessageElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatMessageComponent.\n * Use this token to provide default properties for the ChatMessageComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_MESSAGE_DEFAULT_PROPS = new InjectionToken<Partial<ChatMessageElement.Props>>('MOSAIK_CHAT_MESSAGE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot at - The slot for timestamp elements.\n * @slot attachment - The slot for attachment elements.\n * @slot author - The slot for author elements.\n * @slot avatar - The slot for avatar elements.\n * @slot reaction - The slot for reaction elements.\n * @slot text - The slot for message elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat-message', ChatMessageElement),\n    inputs: ['attachments', 'author', 'text', 'at', 'reply', 'themeName', 'variant', 'appearance', 'disabled', 'formatter', 'isBusy', 'value', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat-message',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatMessageComponent {\n    // #region Fields\n\n    private readonly _element: ChatMessageElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_MESSAGE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `attachments` property.\n     *\n     * @public\n     */\n    public readonly attachments: InputSignal<ChatMessageElement['attachments'] | undefined> = input<ChatMessageElement['attachments']>();\n\n    /**\n     * Signal input for the `author` property.\n     *\n     * @public\n     */\n    public readonly author: InputSignal<ChatMessageElement['author'] | undefined> = input<ChatMessageElement['author']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ChatMessageElement['text'] | undefined> = input<ChatMessageElement['text']>();\n\n    /**\n     * Signal input for the `at` property.\n     *\n     * @public\n     */\n    public readonly at: InputSignal<ChatMessageElement['at'] | undefined> = input<ChatMessageElement['at']>();\n\n    /**\n     * Signal input for the `reply` property.\n     *\n     * @public\n     */\n    public readonly reply: InputSignal<ChatMessageElement['reply'] | undefined> = input<ChatMessageElement['reply']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatMessageElement['themeName'] | undefined> = input<ChatMessageElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatMessageElement['variant'] | undefined> = input<ChatMessageElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatMessageElement['appearance'] | undefined> = input<ChatMessageElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChatMessageElement['disabled'] | undefined> = input<ChatMessageElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ChatMessageElement['formatter'] | undefined> = input<ChatMessageElement['formatter']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<ChatMessageElement['isBusy'] | undefined> = input<ChatMessageElement['isBusy']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChatMessageElement['value'] | undefined> = input<ChatMessageElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatMessageElement['dir'] | undefined> = input<ChatMessageElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatMessageElement['lang'] | undefined> = input<ChatMessageElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const attachmentsValue = this.attachments();\n                if (attachmentsValue !== undefined) {\n                    (this._element as any).attachments = attachmentsValue;\n                }\n\n                const authorValue = this.author();\n                if (authorValue !== undefined) {\n                    (this._element as any).author = authorValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const atValue = this.at();\n                if (atValue !== undefined) {\n                    (this._element as any).at = atValue;\n                }\n\n                const replyValue = this.reply();\n                if (replyValue !== undefined) {\n                    (this._element as any).reply = replyValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMessageMethodNames>(method: TMethod, ...args: Parameters<ChatMessageComponentMethods[TMethod]>): ReturnType<ChatMessageComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatMessageElement>(property: TProperty, value: ChatMessageElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatMessageComponent.\n */\nexport type ChatMessageMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatMessageComponent.\n */\nexport type ChatMessageComponentMethods = MethodMap<ChatMessageMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatMessageComponent(config: Partial<ChatMessageElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_MESSAGE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChatElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChatComponent.\n * Use this token to provide default properties for the ChatComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHAT_DEFAULT_PROPS = new InjectionToken<Partial<ChatElement.Props>>('MOSAIK_CHAT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot empty - Slot for empty state content.\n * @slot header - Slot for chat header content.\n * @slot input - Slot for chat input element.\n * @slot message - Slot for chat message elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chat', ChatElement),\n    inputs: ['intl', 'scrollToEnd', 'begin', 'themeName', 'width', 'height', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chat',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChatComponent {\n    // #region Fields\n\n    private readonly _element: ChatElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHAT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<ChatElement['intl'] | undefined> = input<ChatElement['intl']>();\n\n    /**\n     * Signal input for the `scrollToEnd` property.\n     *\n     * @public\n     */\n    public readonly scrollToEnd: InputSignal<ChatElement['scrollToEnd'] | undefined> = input<ChatElement['scrollToEnd']>();\n\n    /**\n     * Signal input for the `begin` property.\n     *\n     * @public\n     */\n    public readonly begin: InputSignal<ChatElement['begin'] | undefined> = input<ChatElement['begin']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChatElement['themeName'] | undefined> = input<ChatElement['themeName']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<ChatElement['width'] | undefined> = input<ChatElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<ChatElement['height'] | undefined> = input<ChatElement['height']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChatElement['appearance'] | undefined> = input<ChatElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChatElement['variant'] | undefined> = input<ChatElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChatElement['dir'] | undefined> = input<ChatElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChatElement['lang'] | undefined> = input<ChatElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const scrollToEndValue = this.scrollToEnd();\n                if (scrollToEndValue !== undefined) {\n                    (this._element as any).scrollToEnd = scrollToEndValue;\n                }\n\n                const beginValue = this.begin();\n                if (beginValue !== undefined) {\n                    (this._element as any).begin = beginValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChatMethodNames>(method: TMethod, ...args: Parameters<ChatComponentMethods[TMethod]>): ReturnType<ChatComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChatElement>(property: TProperty, value: ChatElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChatComponent.\n */\nexport type ChatMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChatComponent.\n */\nexport type ChatComponentMethods = MethodMap<ChatMethodNames>;\n\n/**\n * @public\n */\nexport function provideChatComponent(config: Partial<ChatElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHAT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckBoxGroupElement, IElementValueAccessor, checkBoxGroupElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CheckBoxGroupComponent.\n * Use this token to provide default properties for the CheckBoxGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHECK_BOX_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<CheckBoxGroupElement.Props>>('MOSAIK_CHECK_BOX_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-checkbox-group', CheckBoxGroupElement),\n    inputs: ['name', 'required', 'themeName', 'invalid', 'disabled', 'orientation', 'value', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['checkAll', 'uncheckAll', 'checkValidity', 'onSlotChanges', 'reset', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-checkbox-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CheckBoxGroupComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => CheckBoxGroupComponent)\n        }\n    ]\n})\nexport class CheckBoxGroupComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: CheckBoxGroupElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = checkBoxGroupElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checkChanged', (e) => this.checkChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHECK_BOX_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<CheckBoxGroupElement['name'] | undefined> = input<CheckBoxGroupElement['name']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<CheckBoxGroupElement['required'] | undefined> = input<CheckBoxGroupElement['required']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CheckBoxGroupElement['themeName'] | undefined> = input<CheckBoxGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<CheckBoxGroupElement['invalid'] | undefined> = input<CheckBoxGroupElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CheckBoxGroupElement['disabled'] | undefined> = input<CheckBoxGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<CheckBoxGroupElement['orientation'] | undefined> = input<CheckBoxGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CheckBoxGroupElement['value'] | undefined> = input<CheckBoxGroupElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CheckBoxGroupElement['appearance'] | undefined> = input<CheckBoxGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CheckBoxGroupElement['variant'] | undefined> = input<CheckBoxGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CheckBoxGroupElement['dir'] | undefined> = input<CheckBoxGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CheckBoxGroupElement['lang'] | undefined> = input<CheckBoxGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checkChanged` event.\n     *\n     * @public\n     */\n    public readonly checkChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CheckBoxGroupMethodNames>(method: TMethod, ...args: Parameters<CheckBoxGroupComponentMethods[TMethod]>): ReturnType<CheckBoxGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CheckBoxGroupElement>(property: TProperty, value: CheckBoxGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CheckBoxGroupComponent.\n */\nexport type CheckBoxGroupMethodNames = 'checkAll' | 'uncheckAll' | 'checkValidity' | 'onSlotChanges' | 'reset' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CheckBoxGroupComponent.\n */\nexport type CheckBoxGroupComponentMethods = MethodMap<CheckBoxGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideCheckBoxGroupComponent(config: Partial<CheckBoxGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHECK_BOX_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckboxElement, IElementValueAccessor, checkboxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CheckboxComponent.\n * Use this token to provide default properties for the CheckboxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHECKBOX_DEFAULT_PROPS = new InjectionToken<Partial<CheckboxElement.Props>>('MOSAIK_CHECKBOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot checkmark - The checkmark slot.\n * @slot label - The label slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-checkbox', CheckboxElement),\n    inputs: ['labelPosition', 'required', 'name', 'themeName', 'invalid', 'value', 'variant', 'appearance', 'disabled', 'label', 'formatter', 'isChecked', 'isThreeState', 'isFocused', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-checkbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CheckboxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => CheckboxComponent)\n        }\n    ]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: CheckboxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = checkboxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('indeterminate', (e) => this.indeterminate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHECKBOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `labelPosition` property.\n     *\n     * @public\n     */\n    public readonly labelPosition: InputSignal<CheckboxElement['labelPosition'] | undefined> = input<CheckboxElement['labelPosition']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<CheckboxElement['required'] | undefined> = input<CheckboxElement['required']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<CheckboxElement['name'] | undefined> = input<CheckboxElement['name']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CheckboxElement['themeName'] | undefined> = input<CheckboxElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<CheckboxElement['invalid'] | undefined> = input<CheckboxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CheckboxElement['value'] | undefined> = input<CheckboxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CheckboxElement['variant'] | undefined> = input<CheckboxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CheckboxElement['appearance'] | undefined> = input<CheckboxElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CheckboxElement['disabled'] | undefined> = input<CheckboxElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<CheckboxElement['label'] | undefined> = input<CheckboxElement['label']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CheckboxElement['formatter'] | undefined> = input<CheckboxElement['formatter']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<CheckboxElement['isChecked'] | undefined> = input<CheckboxElement['isChecked']>();\n\n    /**\n     * Signal input for the `isThreeState` property.\n     *\n     * @public\n     */\n    public readonly isThreeState: InputSignal<CheckboxElement['isThreeState'] | undefined> = input<CheckboxElement['isThreeState']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<CheckboxElement['isFocused'] | undefined> = input<CheckboxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CheckboxElement['dir'] | undefined> = input<CheckboxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CheckboxElement['lang'] | undefined> = input<CheckboxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const labelPositionValue = this.labelPosition();\n                if (labelPositionValue !== undefined) {\n                    (this._element as any).labelPosition = labelPositionValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const isThreeStateValue = this.isThreeState();\n                if (isThreeStateValue !== undefined) {\n                    (this._element as any).isThreeState = isThreeStateValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `indeterminate` event.\n     *\n     * @public\n     */\n    public readonly indeterminate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CheckboxMethodNames>(method: TMethod, ...args: Parameters<CheckboxComponentMethods[TMethod]>): ReturnType<CheckboxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CheckboxElement>(property: TProperty, value: CheckboxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CheckboxComponent.\n */\nexport type CheckboxMethodNames = 'reset' | 'checkValidity' | 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CheckboxComponent.\n */\nexport type CheckboxComponentMethods = MethodMap<CheckboxMethodNames>;\n\n/**\n * @public\n */\nexport function provideCheckboxComponent(config: Partial<CheckboxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHECKBOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CheckmarkElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CheckmarkComponent.\n * Use this token to provide default properties for the CheckmarkComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHECKMARK_DEFAULT_PROPS = new InjectionToken<Partial<CheckmarkElement.Props>>('MOSAIK_CHECKMARK_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-checkmark', CheckmarkElement),\n    inputs: ['checked', 'type', 'isThreeState', 'themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-checkmark',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CheckmarkComponent {\n    // #region Fields\n\n    private readonly _element: CheckmarkElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHECKMARK_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `checked` property.\n     *\n     * @public\n     */\n    public readonly checked: InputSignal<CheckmarkElement['checked'] | undefined> = input<CheckmarkElement['checked']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<CheckmarkElement['type'] | undefined> = input<CheckmarkElement['type']>();\n\n    /**\n     * Signal input for the `isThreeState` property.\n     *\n     * @public\n     */\n    public readonly isThreeState: InputSignal<CheckmarkElement['isThreeState'] | undefined> = input<CheckmarkElement['isThreeState']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CheckmarkElement['themeName'] | undefined> = input<CheckmarkElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CheckmarkElement['disabled'] | undefined> = input<CheckmarkElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CheckmarkElement['variant'] | undefined> = input<CheckmarkElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CheckmarkElement['appearance'] | undefined> = input<CheckmarkElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CheckmarkElement['dir'] | undefined> = input<CheckmarkElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CheckmarkElement['lang'] | undefined> = input<CheckmarkElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const checkedValue = this.checked();\n                if (checkedValue !== undefined) {\n                    (this._element as any).checked = checkedValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const isThreeStateValue = this.isThreeState();\n                if (isThreeStateValue !== undefined) {\n                    (this._element as any).isThreeState = isThreeStateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CheckmarkMethodNames>(method: TMethod, ...args: Parameters<CheckmarkComponentMethods[TMethod]>): ReturnType<CheckmarkComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CheckmarkElement>(property: TProperty, value: CheckmarkElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CheckmarkComponent.\n */\nexport type CheckmarkMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CheckmarkComponent.\n */\nexport type CheckmarkComponentMethods = MethodMap<CheckmarkMethodNames>;\n\n/**\n * @public\n */\nexport function provideCheckmarkComponent(config: Partial<CheckmarkElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHECKMARK_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChipGroupElement, IElementValueAccessor, chipGroupElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChipGroupComponent.\n * Use this token to provide default properties for the ChipGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHIP_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ChipGroupElement.Props>>('MOSAIK_CHIP_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for chip elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chip-group', ChipGroupElement),\n    inputs: ['name', 'required', 'selectionMode', 'wrap', 'themeName', 'size', 'invalid', 'disabled', 'value', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'checkValidity', 'reset', 'selectAll', 'deselectAll', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chip-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ChipGroupComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ChipGroupComponent)\n        }\n    ]\n})\nexport class ChipGroupComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ChipGroupElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = chipGroupElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('chipChanged', (e) => this.chipChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHIP_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ChipGroupElement['name'] | undefined> = input<ChipGroupElement['name']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ChipGroupElement['required'] | undefined> = input<ChipGroupElement['required']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<ChipGroupElement['selectionMode'] | undefined> = input<ChipGroupElement['selectionMode']>();\n\n    /**\n     * Signal input for the `wrap` property.\n     *\n     * @public\n     */\n    public readonly wrap: InputSignal<ChipGroupElement['wrap'] | undefined> = input<ChipGroupElement['wrap']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChipGroupElement['themeName'] | undefined> = input<ChipGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ChipGroupElement['size'] | undefined> = input<ChipGroupElement['size']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ChipGroupElement['invalid'] | undefined> = input<ChipGroupElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChipGroupElement['disabled'] | undefined> = input<ChipGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChipGroupElement['value'] | undefined> = input<ChipGroupElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChipGroupElement['appearance'] | undefined> = input<ChipGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChipGroupElement['variant'] | undefined> = input<ChipGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChipGroupElement['dir'] | undefined> = input<ChipGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChipGroupElement['lang'] | undefined> = input<ChipGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const wrapValue = this.wrap();\n                if (wrapValue !== undefined) {\n                    (this._element as any).wrap = wrapValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `chipChanged` event.\n     *\n     * @public\n     */\n    public readonly chipChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChipGroupMethodNames>(method: TMethod, ...args: Parameters<ChipGroupComponentMethods[TMethod]>): ReturnType<ChipGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChipGroupElement>(property: TProperty, value: ChipGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChipGroupComponent.\n */\nexport type ChipGroupMethodNames = 'onSlotChanges' | 'checkValidity' | 'reset' | 'selectAll' | 'deselectAll' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChipGroupComponent.\n */\nexport type ChipGroupComponentMethods = MethodMap<ChipGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideChipGroupComponent(config: Partial<ChipGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHIP_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChipElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChipComponent.\n * Use this token to provide default properties for the ChipComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHIP_DEFAULT_PROPS = new InjectionToken<Partial<ChipElement.Props>>('MOSAIK_CHIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot checkmark - The checkmark slot.\n * @slot close - The close button slot.\n * @slot icon - The icon slot.\n * @slot label - The label slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chip', ChipElement),\n    inputs: ['icon', 'isCheckable', 'themeName', 'ripple', 'closeable', 'variant', 'appearance', 'isChecked', 'disabled', 'size', 'isFocused', 'label', 'value', 'dir', 'lang'],\n    methods: ['check', 'uncheck', 'toggle', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'close', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChipComponent {\n    // #region Fields\n\n    private readonly _element: ChipElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ChipElement['icon'] | undefined> = input<ChipElement['icon']>();\n\n    /**\n     * Signal input for the `isCheckable` property.\n     *\n     * @public\n     */\n    public readonly isCheckable: InputSignal<ChipElement['isCheckable'] | undefined> = input<ChipElement['isCheckable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChipElement['themeName'] | undefined> = input<ChipElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ChipElement['ripple'] | undefined> = input<ChipElement['ripple']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<ChipElement['closeable'] | undefined> = input<ChipElement['closeable']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChipElement['variant'] | undefined> = input<ChipElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChipElement['appearance'] | undefined> = input<ChipElement['appearance']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ChipElement['isChecked'] | undefined> = input<ChipElement['isChecked']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChipElement['disabled'] | undefined> = input<ChipElement['disabled']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ChipElement['size'] | undefined> = input<ChipElement['size']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ChipElement['isFocused'] | undefined> = input<ChipElement['isFocused']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ChipElement['label'] | undefined> = input<ChipElement['label']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChipElement['value'] | undefined> = input<ChipElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChipElement['dir'] | undefined> = input<ChipElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChipElement['lang'] | undefined> = input<ChipElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const isCheckableValue = this.isCheckable();\n                if (isCheckableValue !== undefined) {\n                    (this._element as any).isCheckable = isCheckableValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChipMethodNames>(method: TMethod, ...args: Parameters<ChipComponentMethods[TMethod]>): ReturnType<ChipComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChipElement>(property: TProperty, value: ChipElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChipComponent.\n */\nexport type ChipMethodNames = 'check' | 'uncheck' | 'toggle' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'close' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChipComponent.\n */\nexport type ChipComponentMethods = MethodMap<ChipMethodNames>;\n\n/**\n * @public\n */\nexport function provideChipComponent(config: Partial<ChipElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChipBoxElement, IElementValueAccessor, chipBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChipBoxComponent.\n * Use this token to provide default properties for the ChipBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHIP_BOX_DEFAULT_PROPS = new InjectionToken<Partial<ChipBoxElement.Props>>('MOSAIK_CHIP_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the chip collection.\n * @slot suffix - Content placed after the chip collection.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-chipbox', ChipBoxElement),\n    inputs: ['required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'isEditable', 'readonly', 'pressBackspaceToRemove', 'chips', 'separatorKeys', 'transform', 'themeName', 'isClearable', 'invalid', 'value', 'variant', 'appearance', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'add', 'delete', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-chipbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ChipBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ChipBoxComponent)\n        }\n    ]\n})\nexport class ChipBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ChipBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = chipBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('chipAdded', (e) => this.chipAdded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('chipRemoved', (e) => this.chipRemoved.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHIP_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ChipBoxElement['required'] | undefined> = input<ChipBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<ChipBoxElement['autofocus'] | undefined> = input<ChipBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ChipBoxElement['name'] | undefined> = input<ChipBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<ChipBoxElement['pattern'] | undefined> = input<ChipBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<ChipBoxElement['placeholder'] | undefined> = input<ChipBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<ChipBoxElement['autocomplete'] | undefined> = input<ChipBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `isEditable` property.\n     *\n     * @public\n     */\n    public readonly isEditable: InputSignal<ChipBoxElement['isEditable'] | undefined> = input<ChipBoxElement['isEditable']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<ChipBoxElement['readonly'] | undefined> = input<ChipBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `pressBackspaceToRemove` property.\n     *\n     * @public\n     */\n    public readonly pressBackspaceToRemove: InputSignal<ChipBoxElement['pressBackspaceToRemove'] | undefined> = input<ChipBoxElement['pressBackspaceToRemove']>();\n\n    /**\n     * Signal input for the `chips` property.\n     *\n     * @public\n     */\n    public readonly chips: InputSignal<ChipBoxElement['chips'] | undefined> = input<ChipBoxElement['chips']>();\n\n    /**\n     * Signal input for the `separatorKeys` property.\n     *\n     * @public\n     */\n    public readonly separatorKeys: InputSignal<ChipBoxElement['separatorKeys'] | undefined> = input<ChipBoxElement['separatorKeys']>();\n\n    /**\n     * Signal input for the `transform` property.\n     *\n     * @public\n     */\n    public readonly transform: InputSignal<ChipBoxElement['transform'] | undefined> = input<ChipBoxElement['transform']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChipBoxElement['themeName'] | undefined> = input<ChipBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<ChipBoxElement['isClearable'] | undefined> = input<ChipBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ChipBoxElement['invalid'] | undefined> = input<ChipBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChipBoxElement['value'] | undefined> = input<ChipBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChipBoxElement['variant'] | undefined> = input<ChipBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChipBoxElement['appearance'] | undefined> = input<ChipBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ChipBoxElement['label'] | undefined> = input<ChipBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChipBoxElement['disabled'] | undefined> = input<ChipBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<ChipBoxElement['state'] | undefined> = input<ChipBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ChipBoxElement['formatter'] | undefined> = input<ChipBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<ChipBoxElement['parser'] | undefined> = input<ChipBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ChipBoxElement['isFocused'] | undefined> = input<ChipBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChipBoxElement['dir'] | undefined> = input<ChipBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChipBoxElement['lang'] | undefined> = input<ChipBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const isEditableValue = this.isEditable();\n                if (isEditableValue !== undefined) {\n                    (this._element as any).isEditable = isEditableValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const pressBackspaceToRemoveValue = this.pressBackspaceToRemove();\n                if (pressBackspaceToRemoveValue !== undefined) {\n                    (this._element as any).pressBackspaceToRemove = pressBackspaceToRemoveValue;\n                }\n\n                const chipsValue = this.chips();\n                if (chipsValue !== undefined) {\n                    (this._element as any).chips = chipsValue;\n                }\n\n                const separatorKeysValue = this.separatorKeys();\n                if (separatorKeysValue !== undefined) {\n                    (this._element as any).separatorKeys = separatorKeysValue;\n                }\n\n                const transformValue = this.transform();\n                if (transformValue !== undefined) {\n                    (this._element as any).transform = transformValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `chipAdded` event.\n     *\n     * @public\n     */\n    public readonly chipAdded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `chipRemoved` event.\n     *\n     * @public\n     */\n    public readonly chipRemoved: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChipBoxMethodNames>(method: TMethod, ...args: Parameters<ChipBoxComponentMethods[TMethod]>): ReturnType<ChipBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChipBoxElement>(property: TProperty, value: ChipBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChipBoxComponent.\n */\nexport type ChipBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'add' | 'delete' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChipBoxComponent.\n */\nexport type ChipBoxComponentMethods = MethodMap<ChipBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideChipBoxComponent(config: Partial<ChipBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHIP_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ChoiceGroupHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChoiceGroupHeaderComponent.\n * Use this token to provide default properties for the ChoiceGroupHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHOICE_GROUP_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<ChoiceGroupHeaderElement.Props>>('MOSAIK_CHOICE_GROUP_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for header content (text, icons, or custom markup)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-choice-group-header', ChoiceGroupHeaderElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-choice-group-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ChoiceGroupHeaderComponent {\n    // #region Fields\n\n    private readonly _element: ChoiceGroupHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHOICE_GROUP_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChoiceGroupHeaderElement['themeName'] | undefined> = input<ChoiceGroupHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChoiceGroupHeaderElement['dir'] | undefined> = input<ChoiceGroupHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChoiceGroupHeaderElement['lang'] | undefined> = input<ChoiceGroupHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChoiceGroupHeaderMethodNames>(method: TMethod, ...args: Parameters<ChoiceGroupHeaderComponentMethods[TMethod]>): ReturnType<ChoiceGroupHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChoiceGroupHeaderElement>(property: TProperty, value: ChoiceGroupHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChoiceGroupHeaderComponent.\n */\nexport type ChoiceGroupHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChoiceGroupHeaderComponent.\n */\nexport type ChoiceGroupHeaderComponentMethods = MethodMap<ChoiceGroupHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideChoiceGroupHeaderComponent(config: Partial<ChoiceGroupHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHOICE_GROUP_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChoiceGroupElement, IElementValueAccessor, choiceGroupElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChoiceGroupComponent.\n * Use this token to provide default properties for the ChoiceGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHOICE_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ChoiceGroupElement.Props>>('MOSAIK_CHOICE_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot error - The error slot.\n * @slot header - The header slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-choice-group', ChoiceGroupElement),\n    inputs: ['name', 'required', 'themeName', 'orientation', 'invalid', 'value', 'disabled', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'checkValidity', 'reset', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-choice-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ChoiceGroupComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ChoiceGroupComponent)\n        }\n    ]\n})\nexport class ChoiceGroupComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ChoiceGroupElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = choiceGroupElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('choiceChanged', (e) => this.choiceChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHOICE_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ChoiceGroupElement['name'] | undefined> = input<ChoiceGroupElement['name']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ChoiceGroupElement['required'] | undefined> = input<ChoiceGroupElement['required']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChoiceGroupElement['themeName'] | undefined> = input<ChoiceGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ChoiceGroupElement['orientation'] | undefined> = input<ChoiceGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ChoiceGroupElement['invalid'] | undefined> = input<ChoiceGroupElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChoiceGroupElement['value'] | undefined> = input<ChoiceGroupElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChoiceGroupElement['disabled'] | undefined> = input<ChoiceGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChoiceGroupElement['appearance'] | undefined> = input<ChoiceGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChoiceGroupElement['variant'] | undefined> = input<ChoiceGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChoiceGroupElement['dir'] | undefined> = input<ChoiceGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChoiceGroupElement['lang'] | undefined> = input<ChoiceGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `choiceChanged` event.\n     *\n     * @public\n     */\n    public readonly choiceChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChoiceGroupMethodNames>(method: TMethod, ...args: Parameters<ChoiceGroupComponentMethods[TMethod]>): ReturnType<ChoiceGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChoiceGroupElement>(property: TProperty, value: ChoiceGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChoiceGroupComponent.\n */\nexport type ChoiceGroupMethodNames = 'onSlotChanges' | 'checkValidity' | 'reset' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChoiceGroupComponent.\n */\nexport type ChoiceGroupComponentMethods = MethodMap<ChoiceGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideChoiceGroupComponent(config: Partial<ChoiceGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHOICE_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChoiceElement, IElementValueAccessor, choiceElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ChoiceComponent.\n * Use this token to provide default properties for the ChoiceComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CHOICE_DEFAULT_PROPS = new InjectionToken<Partial<ChoiceElement.Props>>('MOSAIK_CHOICE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot additional - The additional slot.\n * @slot checkmark - The checkmark slot.\n * @slot label - The label slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-choice', ChoiceElement),\n    inputs: ['name', 'additional', 'required', 'icon', 'iconPosition', 'themeName', 'ripple', 'invalid', 'disabled', 'appearance', 'variant', 'label', 'value', 'formatter', 'isChecked', 'isThreeState', 'isFocused', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-choice',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ChoiceComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ChoiceComponent)\n        }\n    ]\n})\nexport class ChoiceComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ChoiceElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = choiceElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('indeterminate', (e) => this.indeterminate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CHOICE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ChoiceElement['name'] | undefined> = input<ChoiceElement['name']>();\n\n    /**\n     * Signal input for the `additional` property.\n     *\n     * @public\n     */\n    public readonly additional: InputSignal<ChoiceElement['additional'] | undefined> = input<ChoiceElement['additional']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ChoiceElement['required'] | undefined> = input<ChoiceElement['required']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ChoiceElement['icon'] | undefined> = input<ChoiceElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<ChoiceElement['iconPosition'] | undefined> = input<ChoiceElement['iconPosition']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ChoiceElement['themeName'] | undefined> = input<ChoiceElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ChoiceElement['ripple'] | undefined> = input<ChoiceElement['ripple']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ChoiceElement['invalid'] | undefined> = input<ChoiceElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ChoiceElement['disabled'] | undefined> = input<ChoiceElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ChoiceElement['appearance'] | undefined> = input<ChoiceElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ChoiceElement['variant'] | undefined> = input<ChoiceElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ChoiceElement['label'] | undefined> = input<ChoiceElement['label']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ChoiceElement['value'] | undefined> = input<ChoiceElement['value']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ChoiceElement['formatter'] | undefined> = input<ChoiceElement['formatter']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ChoiceElement['isChecked'] | undefined> = input<ChoiceElement['isChecked']>();\n\n    /**\n     * Signal input for the `isThreeState` property.\n     *\n     * @public\n     */\n    public readonly isThreeState: InputSignal<ChoiceElement['isThreeState'] | undefined> = input<ChoiceElement['isThreeState']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ChoiceElement['isFocused'] | undefined> = input<ChoiceElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ChoiceElement['dir'] | undefined> = input<ChoiceElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ChoiceElement['lang'] | undefined> = input<ChoiceElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const additionalValue = this.additional();\n                if (additionalValue !== undefined) {\n                    (this._element as any).additional = additionalValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const isThreeStateValue = this.isThreeState();\n                if (isThreeStateValue !== undefined) {\n                    (this._element as any).isThreeState = isThreeStateValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `indeterminate` event.\n     *\n     * @public\n     */\n    public readonly indeterminate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ChoiceMethodNames>(method: TMethod, ...args: Parameters<ChoiceComponentMethods[TMethod]>): ReturnType<ChoiceComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ChoiceElement>(property: TProperty, value: ChoiceElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ChoiceComponent.\n */\nexport type ChoiceMethodNames = 'reset' | 'checkValidity' | 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ChoiceComponent.\n */\nexport type ChoiceComponentMethods = MethodMap<ChoiceMethodNames>;\n\n/**\n * @public\n */\nexport function provideChoiceComponent(config: Partial<ChoiceElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CHOICE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CodeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CodeComponent.\n * Use this token to provide default properties for the CodeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const CODE_DEFAULT_PROPS = new InjectionToken<Partial<CodeElement.Props>>('MOSAIK_CODE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-code', CodeElement),\n    inputs: ['text', 'themeName', 'variant', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-code',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CodeComponent {\n    // #region Fields\n\n    private readonly _element: CodeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(CODE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<CodeElement['text'] | undefined> = input<CodeElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CodeElement['themeName'] | undefined> = input<CodeElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CodeElement['variant'] | undefined> = input<CodeElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CodeElement['dir'] | undefined> = input<CodeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CodeElement['lang'] | undefined> = input<CodeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CodeMethodNames>(method: TMethod, ...args: Parameters<CodeComponentMethods[TMethod]>): ReturnType<CodeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CodeElement>(property: TProperty, value: CodeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CodeComponent.\n */\nexport type CodeMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CodeComponent.\n */\nexport type CodeComponentMethods = MethodMap<CodeMethodNames>;\n\n/**\n * @public\n */\nexport function provideCodeComponent(config: Partial<CodeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: CODE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorAreaElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorAreaComponent.\n * Use this token to provide default properties for the ColorAreaComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_AREA_DEFAULT_PROPS = new InjectionToken<Partial<ColorAreaElement.Props>>('MOSAIK_COLOR_AREA_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-area', ColorAreaElement),\n    inputs: ['color', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['handleAreaPointerdown', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-area',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorAreaComponent {\n    // #region Fields\n\n    private readonly _element: ColorAreaElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_AREA_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorAreaElement['color'] | undefined> = input<ColorAreaElement['color']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorAreaElement['themeName'] | undefined> = input<ColorAreaElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorAreaElement['disabled'] | undefined> = input<ColorAreaElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorAreaElement['isFocused'] | undefined> = input<ColorAreaElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorAreaElement['dir'] | undefined> = input<ColorAreaElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorAreaElement['lang'] | undefined> = input<ColorAreaElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorAreaMethodNames>(method: TMethod, ...args: Parameters<ColorAreaComponentMethods[TMethod]>): ReturnType<ColorAreaComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorAreaElement>(property: TProperty, value: ColorAreaElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorAreaComponent.\n */\nexport type ColorAreaMethodNames = 'handleAreaPointerdown' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorAreaComponent.\n */\nexport type ColorAreaComponentMethods = MethodMap<ColorAreaMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorAreaComponent(config: Partial<ColorAreaElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_AREA_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorAlphaSliderElement, IElementValueAccessor, colorEditorAlphaSliderElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorAlphaSliderComponent.\n * Use this token to provide default properties for the ColorEditorAlphaSliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_ALPHA_SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorAlphaSliderElement.Props>>('MOSAIK_COLOR_EDITOR_ALPHA_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-alpha-slider', ColorEditorAlphaSliderElement),\n    inputs: ['alpha', 'color', 'step', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-alpha-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorAlphaSliderComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorAlphaSliderComponent)\n        }\n    ]\n})\nexport class ColorEditorAlphaSliderComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorAlphaSliderElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorAlphaSliderElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('alphaChanged', (e) => this.alphaChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_ALPHA_SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `alpha` property.\n     *\n     * @public\n     */\n    public readonly alpha: InputSignal<ColorEditorAlphaSliderElement['alpha'] | undefined> = input<ColorEditorAlphaSliderElement['alpha']>();\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorEditorAlphaSliderElement['color'] | undefined> = input<ColorEditorAlphaSliderElement['color']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<ColorEditorAlphaSliderElement['step'] | undefined> = input<ColorEditorAlphaSliderElement['step']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorAlphaSliderElement['themeName'] | undefined> = input<ColorEditorAlphaSliderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorAlphaSliderElement['disabled'] | undefined> = input<ColorEditorAlphaSliderElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorAlphaSliderElement['isFocused'] | undefined> = input<ColorEditorAlphaSliderElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorAlphaSliderElement['dir'] | undefined> = input<ColorEditorAlphaSliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorAlphaSliderElement['lang'] | undefined> = input<ColorEditorAlphaSliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const alphaValue = this.alpha();\n                if (alphaValue !== undefined) {\n                    (this._element as any).alpha = alphaValue;\n                }\n\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `alphaChanged` event.\n     *\n     * @public\n     */\n    public readonly alphaChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorAlphaSliderMethodNames>(method: TMethod, ...args: Parameters<ColorEditorAlphaSliderComponentMethods[TMethod]>): ReturnType<ColorEditorAlphaSliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorAlphaSliderElement>(property: TProperty, value: ColorEditorAlphaSliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorAlphaSliderComponent.\n */\nexport type ColorEditorAlphaSliderMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorAlphaSliderComponent.\n */\nexport type ColorEditorAlphaSliderComponentMethods = MethodMap<ColorEditorAlphaSliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorAlphaSliderComponent(config: Partial<ColorEditorAlphaSliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_ALPHA_SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorAreaElement, IElementValueAccessor, colorEditorAreaElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorAreaComponent.\n * Use this token to provide default properties for the ColorEditorAreaComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_AREA_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorAreaElement.Props>>('MOSAIK_COLOR_EDITOR_AREA_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-area', ColorEditorAreaElement),\n    inputs: ['hue', 'saturation', 'value', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['setColor', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-area',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorAreaComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorAreaComponent)\n        }\n    ]\n})\nexport class ColorEditorAreaComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorAreaElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorAreaElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('colorAreaChanged', (e) => this.colorAreaChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_AREA_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hue` property.\n     *\n     * @public\n     */\n    public readonly hue: InputSignal<ColorEditorAreaElement['hue'] | undefined> = input<ColorEditorAreaElement['hue']>();\n\n    /**\n     * Signal input for the `saturation` property.\n     *\n     * @public\n     */\n    public readonly saturation: InputSignal<ColorEditorAreaElement['saturation'] | undefined> = input<ColorEditorAreaElement['saturation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorEditorAreaElement['value'] | undefined> = input<ColorEditorAreaElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorAreaElement['themeName'] | undefined> = input<ColorEditorAreaElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorAreaElement['disabled'] | undefined> = input<ColorEditorAreaElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorAreaElement['isFocused'] | undefined> = input<ColorEditorAreaElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorAreaElement['dir'] | undefined> = input<ColorEditorAreaElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorAreaElement['lang'] | undefined> = input<ColorEditorAreaElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hueValue = this.hue();\n                if (hueValue !== undefined) {\n                    (this._element as any).hue = hueValue;\n                }\n\n                const saturationValue = this.saturation();\n                if (saturationValue !== undefined) {\n                    (this._element as any).saturation = saturationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `colorAreaChanged` event.\n     *\n     * @public\n     */\n    public readonly colorAreaChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorAreaMethodNames>(method: TMethod, ...args: Parameters<ColorEditorAreaComponentMethods[TMethod]>): ReturnType<ColorEditorAreaComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorAreaElement>(property: TProperty, value: ColorEditorAreaElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorAreaComponent.\n */\nexport type ColorEditorAreaMethodNames = 'setColor' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorAreaComponent.\n */\nexport type ColorEditorAreaComponentMethods = MethodMap<ColorEditorAreaMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorAreaComponent(config: Partial<ColorEditorAreaElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_AREA_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorHueSliderElement, IElementValueAccessor, colorEditorHueSliderElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorHueSliderComponent.\n * Use this token to provide default properties for the ColorEditorHueSliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_HUE_SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorHueSliderElement.Props>>('MOSAIK_COLOR_EDITOR_HUE_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-hue-slider', ColorEditorHueSliderElement),\n    inputs: ['hue', 'step', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-hue-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorHueSliderComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorHueSliderComponent)\n        }\n    ]\n})\nexport class ColorEditorHueSliderComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorHueSliderElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorHueSliderElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('hueChanged', (e) => this.hueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_HUE_SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hue` property.\n     *\n     * @public\n     */\n    public readonly hue: InputSignal<ColorEditorHueSliderElement['hue'] | undefined> = input<ColorEditorHueSliderElement['hue']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<ColorEditorHueSliderElement['step'] | undefined> = input<ColorEditorHueSliderElement['step']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorHueSliderElement['themeName'] | undefined> = input<ColorEditorHueSliderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorHueSliderElement['disabled'] | undefined> = input<ColorEditorHueSliderElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorHueSliderElement['isFocused'] | undefined> = input<ColorEditorHueSliderElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorHueSliderElement['dir'] | undefined> = input<ColorEditorHueSliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorHueSliderElement['lang'] | undefined> = input<ColorEditorHueSliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hueValue = this.hue();\n                if (hueValue !== undefined) {\n                    (this._element as any).hue = hueValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `hueChanged` event.\n     *\n     * @public\n     */\n    public readonly hueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorHueSliderMethodNames>(method: TMethod, ...args: Parameters<ColorEditorHueSliderComponentMethods[TMethod]>): ReturnType<ColorEditorHueSliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorHueSliderElement>(property: TProperty, value: ColorEditorHueSliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorHueSliderComponent.\n */\nexport type ColorEditorHueSliderMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorHueSliderComponent.\n */\nexport type ColorEditorHueSliderComponentMethods = MethodMap<ColorEditorHueSliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorHueSliderComponent(config: Partial<ColorEditorHueSliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_HUE_SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorInputsElement, IElementValueAccessor, colorEditorInputsElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorInputsComponent.\n * Use this token to provide default properties for the ColorEditorInputsComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_INPUTS_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorInputsElement.Props>>('MOSAIK_COLOR_EDITOR_INPUTS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-inputs', ColorEditorInputsElement),\n    inputs: ['color', 'format', 'showAlpha', 'themeName', 'disabled', 'isFocused', 'size', 'dir', 'lang'],\n    methods: ['previousFormat', 'nextFormat', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-inputs',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorInputsComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorInputsComponent)\n        }\n    ]\n})\nexport class ColorEditorInputsComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorInputsElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorInputsElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('colorChanged', (e) => this.colorChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('colorFormatChanged', (e) => this.colorFormatChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_INPUTS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorEditorInputsElement['color'] | undefined> = input<ColorEditorInputsElement['color']>();\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<ColorEditorInputsElement['format'] | undefined> = input<ColorEditorInputsElement['format']>();\n\n    /**\n     * Signal input for the `showAlpha` property.\n     *\n     * @public\n     */\n    public readonly showAlpha: InputSignal<ColorEditorInputsElement['showAlpha'] | undefined> = input<ColorEditorInputsElement['showAlpha']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorInputsElement['themeName'] | undefined> = input<ColorEditorInputsElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorInputsElement['disabled'] | undefined> = input<ColorEditorInputsElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorInputsElement['isFocused'] | undefined> = input<ColorEditorInputsElement['isFocused']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ColorEditorInputsElement['size'] | undefined> = input<ColorEditorInputsElement['size']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorInputsElement['dir'] | undefined> = input<ColorEditorInputsElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorInputsElement['lang'] | undefined> = input<ColorEditorInputsElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const showAlphaValue = this.showAlpha();\n                if (showAlphaValue !== undefined) {\n                    (this._element as any).showAlpha = showAlphaValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `colorChanged` event.\n     *\n     * @public\n     */\n    public readonly colorChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `colorFormatChanged` event.\n     *\n     * @public\n     */\n    public readonly colorFormatChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorInputsMethodNames>(method: TMethod, ...args: Parameters<ColorEditorInputsComponentMethods[TMethod]>): ReturnType<ColorEditorInputsComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorInputsElement>(property: TProperty, value: ColorEditorInputsElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorInputsComponent.\n */\nexport type ColorEditorInputsMethodNames = 'previousFormat' | 'nextFormat' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorInputsComponent.\n */\nexport type ColorEditorInputsComponentMethods = MethodMap<ColorEditorInputsMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorInputsComponent(config: Partial<ColorEditorInputsElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_INPUTS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorPaletteElement, IElementValueAccessor, colorEditorPaletteElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorPaletteComponent.\n * Use this token to provide default properties for the ColorEditorPaletteComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_PALETTE_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorPaletteElement.Props>>('MOSAIK_COLOR_EDITOR_PALETTE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-palette', ColorEditorPaletteElement),\n    inputs: ['panelOpen', 'palettes', 'selectedPalette', 'allowAdd', 'currentColor', 'panelAnchor', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['getPanelStyles', 'getActivePalette', 'handleColorClick', 'handleAddClick', 'handleSwitcherClick', 'handlePanelClose', 'handlePaletteSelect', 'addColorToCustomPalette', 'removeColorFromCustomPalette', 'getCustomPaletteColors', 'setCustomPaletteColors', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-palette',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorPaletteComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorPaletteComponent)\n        }\n    ]\n})\nexport class ColorEditorPaletteComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorPaletteElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorPaletteElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('paletteSelect', (e) => this.paletteSelect.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('paletteAdd', (e) => this.paletteAdd.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('paletteChanged', (e) => this.paletteChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('paletteCustomChanged', (e) => this.paletteCustomChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_PALETTE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `panelOpen` property.\n     *\n     * @public\n     */\n    public readonly panelOpen: InputSignal<ColorEditorPaletteElement['panelOpen'] | undefined> = input<ColorEditorPaletteElement['panelOpen']>();\n\n    /**\n     * Signal input for the `palettes` property.\n     *\n     * @public\n     */\n    public readonly palettes: InputSignal<ColorEditorPaletteElement['palettes'] | undefined> = input<ColorEditorPaletteElement['palettes']>();\n\n    /**\n     * Signal input for the `selectedPalette` property.\n     *\n     * @public\n     */\n    public readonly selectedPalette: InputSignal<ColorEditorPaletteElement['selectedPalette'] | undefined> = input<ColorEditorPaletteElement['selectedPalette']>();\n\n    /**\n     * Signal input for the `allowAdd` property.\n     *\n     * @public\n     */\n    public readonly allowAdd: InputSignal<ColorEditorPaletteElement['allowAdd'] | undefined> = input<ColorEditorPaletteElement['allowAdd']>();\n\n    /**\n     * Signal input for the `currentColor` property.\n     *\n     * @public\n     */\n    public readonly currentColor: InputSignal<ColorEditorPaletteElement['currentColor'] | undefined> = input<ColorEditorPaletteElement['currentColor']>();\n\n    /**\n     * Signal input for the `panelAnchor` property.\n     *\n     * @public\n     */\n    public readonly panelAnchor: InputSignal<ColorEditorPaletteElement['panelAnchor'] | undefined> = input<ColorEditorPaletteElement['panelAnchor']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorPaletteElement['themeName'] | undefined> = input<ColorEditorPaletteElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorPaletteElement['disabled'] | undefined> = input<ColorEditorPaletteElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorPaletteElement['isFocused'] | undefined> = input<ColorEditorPaletteElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorPaletteElement['dir'] | undefined> = input<ColorEditorPaletteElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorPaletteElement['lang'] | undefined> = input<ColorEditorPaletteElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const panelOpenValue = this.panelOpen();\n                if (panelOpenValue !== undefined) {\n                    (this._element as any).panelOpen = panelOpenValue;\n                }\n\n                const palettesValue = this.palettes();\n                if (palettesValue !== undefined) {\n                    (this._element as any).palettes = palettesValue;\n                }\n\n                const selectedPaletteValue = this.selectedPalette();\n                if (selectedPaletteValue !== undefined) {\n                    (this._element as any).selectedPalette = selectedPaletteValue;\n                }\n\n                const allowAddValue = this.allowAdd();\n                if (allowAddValue !== undefined) {\n                    (this._element as any).allowAdd = allowAddValue;\n                }\n\n                const currentColorValue = this.currentColor();\n                if (currentColorValue !== undefined) {\n                    (this._element as any).currentColor = currentColorValue;\n                }\n\n                const panelAnchorValue = this.panelAnchor();\n                if (panelAnchorValue !== undefined) {\n                    (this._element as any).panelAnchor = panelAnchorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `paletteSelect` event.\n     *\n     * @public\n     */\n    public readonly paletteSelect: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `paletteAdd` event.\n     *\n     * @public\n     */\n    public readonly paletteAdd: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `paletteChanged` event.\n     *\n     * @public\n     */\n    public readonly paletteChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `paletteCustomChanged` event.\n     *\n     * @public\n     */\n    public readonly paletteCustomChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorPaletteMethodNames>(method: TMethod, ...args: Parameters<ColorEditorPaletteComponentMethods[TMethod]>): ReturnType<ColorEditorPaletteComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorPaletteElement>(property: TProperty, value: ColorEditorPaletteElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorPaletteComponent.\n */\nexport type ColorEditorPaletteMethodNames = 'getPanelStyles' | 'getActivePalette' | 'handleColorClick' | 'handleAddClick' | 'handleSwitcherClick' | 'handlePanelClose' | 'handlePaletteSelect' | 'addColorToCustomPalette' | 'removeColorFromCustomPalette' | 'getCustomPaletteColors' | 'setCustomPaletteColors' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorPaletteComponent.\n */\nexport type ColorEditorPaletteComponentMethods = MethodMap<ColorEditorPaletteMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorPaletteComponent(config: Partial<ColorEditorPaletteElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_PALETTE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorShadeSliderElement, IElementValueAccessor, colorEditorShadeSliderElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorShadeSliderComponent.\n * Use this token to provide default properties for the ColorEditorShadeSliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_SHADE_SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorShadeSliderElement.Props>>('MOSAIK_COLOR_EDITOR_SHADE_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-shade-slider', ColorEditorShadeSliderElement),\n    inputs: ['hue', 'saturation', 'shade', 'step', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-shade-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorShadeSliderComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorShadeSliderComponent)\n        }\n    ]\n})\nexport class ColorEditorShadeSliderComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorShadeSliderElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorShadeSliderElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('shadeChanged', (e) => this.shadeChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_SHADE_SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hue` property.\n     *\n     * @public\n     */\n    public readonly hue: InputSignal<ColorEditorShadeSliderElement['hue'] | undefined> = input<ColorEditorShadeSliderElement['hue']>();\n\n    /**\n     * Signal input for the `saturation` property.\n     *\n     * @public\n     */\n    public readonly saturation: InputSignal<ColorEditorShadeSliderElement['saturation'] | undefined> = input<ColorEditorShadeSliderElement['saturation']>();\n\n    /**\n     * Signal input for the `shade` property.\n     *\n     * @public\n     */\n    public readonly shade: InputSignal<ColorEditorShadeSliderElement['shade'] | undefined> = input<ColorEditorShadeSliderElement['shade']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<ColorEditorShadeSliderElement['step'] | undefined> = input<ColorEditorShadeSliderElement['step']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorShadeSliderElement['themeName'] | undefined> = input<ColorEditorShadeSliderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorShadeSliderElement['disabled'] | undefined> = input<ColorEditorShadeSliderElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorShadeSliderElement['isFocused'] | undefined> = input<ColorEditorShadeSliderElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorShadeSliderElement['dir'] | undefined> = input<ColorEditorShadeSliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorShadeSliderElement['lang'] | undefined> = input<ColorEditorShadeSliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hueValue = this.hue();\n                if (hueValue !== undefined) {\n                    (this._element as any).hue = hueValue;\n                }\n\n                const saturationValue = this.saturation();\n                if (saturationValue !== undefined) {\n                    (this._element as any).saturation = saturationValue;\n                }\n\n                const shadeValue = this.shade();\n                if (shadeValue !== undefined) {\n                    (this._element as any).shade = shadeValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `shadeChanged` event.\n     *\n     * @public\n     */\n    public readonly shadeChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorShadeSliderMethodNames>(method: TMethod, ...args: Parameters<ColorEditorShadeSliderComponentMethods[TMethod]>): ReturnType<ColorEditorShadeSliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorShadeSliderElement>(property: TProperty, value: ColorEditorShadeSliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorShadeSliderComponent.\n */\nexport type ColorEditorShadeSliderMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorShadeSliderComponent.\n */\nexport type ColorEditorShadeSliderComponentMethods = MethodMap<ColorEditorShadeSliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorShadeSliderComponent(config: Partial<ColorEditorShadeSliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_SHADE_SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorSwatchElement, IElementValueAccessor, colorEditorSwatchElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorSwatchComponent.\n * Use this token to provide default properties for the ColorEditorSwatchComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_SWATCH_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorSwatchElement.Props>>('MOSAIK_COLOR_EDITOR_SWATCH_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor-swatch', ColorEditorSwatchElement),\n    inputs: ['color', 'copyable', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['pick', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor-swatch',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorSwatchComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorSwatchComponent)\n        }\n    ]\n})\nexport class ColorEditorSwatchComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorSwatchElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorSwatchElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('swatchCopy', (e) => this.swatchCopy.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_SWATCH_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorEditorSwatchElement['color'] | undefined> = input<ColorEditorSwatchElement['color']>();\n\n    /**\n     * Signal input for the `copyable` property.\n     *\n     * @public\n     */\n    public readonly copyable: InputSignal<ColorEditorSwatchElement['copyable'] | undefined> = input<ColorEditorSwatchElement['copyable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorSwatchElement['themeName'] | undefined> = input<ColorEditorSwatchElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorSwatchElement['disabled'] | undefined> = input<ColorEditorSwatchElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorSwatchElement['isFocused'] | undefined> = input<ColorEditorSwatchElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorSwatchElement['dir'] | undefined> = input<ColorEditorSwatchElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorSwatchElement['lang'] | undefined> = input<ColorEditorSwatchElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const copyableValue = this.copyable();\n                if (copyableValue !== undefined) {\n                    (this._element as any).copyable = copyableValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `swatchCopy` event.\n     *\n     * @public\n     */\n    public readonly swatchCopy: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorSwatchMethodNames>(method: TMethod, ...args: Parameters<ColorEditorSwatchComponentMethods[TMethod]>): ReturnType<ColorEditorSwatchComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorSwatchElement>(property: TProperty, value: ColorEditorSwatchElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorSwatchComponent.\n */\nexport type ColorEditorSwatchMethodNames = 'pick' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorSwatchComponent.\n */\nexport type ColorEditorSwatchComponentMethods = MethodMap<ColorEditorSwatchMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorSwatchComponent(config: Partial<ColorEditorSwatchElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_SWATCH_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorEditorElement, IElementValueAccessor, colorEditorElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorEditorComponent.\n * Use this token to provide default properties for the ColorEditorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_EDITOR_DEFAULT_PROPS = new InjectionToken<Partial<ColorEditorElement.Props>>('MOSAIK_COLOR_EDITOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot alpha-slider - Custom alpha slider component\n * @slot area - Custom color area component\n * @slot eye-dropper - The eye-dropper slot.\n * @slot hue-slider - Custom hue slider component\n * @slot inputs - Custom inputs component\n * @slot palette - Custom palette component\n * @slot swatch - Custom color swatch component\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-editor', ColorEditorElement),\n    inputs: ['hue', 'saturation', 'value', 'alpha', 'color', 'format', 'showAlpha', 'showInputs', 'showPalette', 'showEyeDropper', 'showSwatch', 'palettes', 'selectedPalette', 'themeName', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['getDisplayColor', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-editor',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorEditorComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorEditorComponent)\n        }\n    ]\n})\nexport class ColorEditorComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorEditorElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorEditorElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('colorChanged', (e) => this.colorChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('colorFormatChanged', (e) => this.colorFormatChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('paletteChanged', (e) => this.paletteChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_EDITOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hue` property.\n     *\n     * @public\n     */\n    public readonly hue: InputSignal<ColorEditorElement['hue'] | undefined> = input<ColorEditorElement['hue']>();\n\n    /**\n     * Signal input for the `saturation` property.\n     *\n     * @public\n     */\n    public readonly saturation: InputSignal<ColorEditorElement['saturation'] | undefined> = input<ColorEditorElement['saturation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorEditorElement['value'] | undefined> = input<ColorEditorElement['value']>();\n\n    /**\n     * Signal input for the `alpha` property.\n     *\n     * @public\n     */\n    public readonly alpha: InputSignal<ColorEditorElement['alpha'] | undefined> = input<ColorEditorElement['alpha']>();\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorEditorElement['color'] | undefined> = input<ColorEditorElement['color']>();\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<ColorEditorElement['format'] | undefined> = input<ColorEditorElement['format']>();\n\n    /**\n     * Signal input for the `showAlpha` property.\n     *\n     * @public\n     */\n    public readonly showAlpha: InputSignal<ColorEditorElement['showAlpha'] | undefined> = input<ColorEditorElement['showAlpha']>();\n\n    /**\n     * Signal input for the `showInputs` property.\n     *\n     * @public\n     */\n    public readonly showInputs: InputSignal<ColorEditorElement['showInputs'] | undefined> = input<ColorEditorElement['showInputs']>();\n\n    /**\n     * Signal input for the `showPalette` property.\n     *\n     * @public\n     */\n    public readonly showPalette: InputSignal<ColorEditorElement['showPalette'] | undefined> = input<ColorEditorElement['showPalette']>();\n\n    /**\n     * Signal input for the `showEyeDropper` property.\n     *\n     * @public\n     */\n    public readonly showEyeDropper: InputSignal<ColorEditorElement['showEyeDropper'] | undefined> = input<ColorEditorElement['showEyeDropper']>();\n\n    /**\n     * Signal input for the `showSwatch` property.\n     *\n     * @public\n     */\n    public readonly showSwatch: InputSignal<ColorEditorElement['showSwatch'] | undefined> = input<ColorEditorElement['showSwatch']>();\n\n    /**\n     * Signal input for the `palettes` property.\n     *\n     * @public\n     */\n    public readonly palettes: InputSignal<ColorEditorElement['palettes'] | undefined> = input<ColorEditorElement['palettes']>();\n\n    /**\n     * Signal input for the `selectedPalette` property.\n     *\n     * @public\n     */\n    public readonly selectedPalette: InputSignal<ColorEditorElement['selectedPalette'] | undefined> = input<ColorEditorElement['selectedPalette']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorEditorElement['themeName'] | undefined> = input<ColorEditorElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorEditorElement['disabled'] | undefined> = input<ColorEditorElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorEditorElement['isFocused'] | undefined> = input<ColorEditorElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorEditorElement['dir'] | undefined> = input<ColorEditorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorEditorElement['lang'] | undefined> = input<ColorEditorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hueValue = this.hue();\n                if (hueValue !== undefined) {\n                    (this._element as any).hue = hueValue;\n                }\n\n                const saturationValue = this.saturation();\n                if (saturationValue !== undefined) {\n                    (this._element as any).saturation = saturationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const alphaValue = this.alpha();\n                if (alphaValue !== undefined) {\n                    (this._element as any).alpha = alphaValue;\n                }\n\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const showAlphaValue = this.showAlpha();\n                if (showAlphaValue !== undefined) {\n                    (this._element as any).showAlpha = showAlphaValue;\n                }\n\n                const showInputsValue = this.showInputs();\n                if (showInputsValue !== undefined) {\n                    (this._element as any).showInputs = showInputsValue;\n                }\n\n                const showPaletteValue = this.showPalette();\n                if (showPaletteValue !== undefined) {\n                    (this._element as any).showPalette = showPaletteValue;\n                }\n\n                const showEyeDropperValue = this.showEyeDropper();\n                if (showEyeDropperValue !== undefined) {\n                    (this._element as any).showEyeDropper = showEyeDropperValue;\n                }\n\n                const showSwatchValue = this.showSwatch();\n                if (showSwatchValue !== undefined) {\n                    (this._element as any).showSwatch = showSwatchValue;\n                }\n\n                const palettesValue = this.palettes();\n                if (palettesValue !== undefined) {\n                    (this._element as any).palettes = palettesValue;\n                }\n\n                const selectedPaletteValue = this.selectedPalette();\n                if (selectedPaletteValue !== undefined) {\n                    (this._element as any).selectedPalette = selectedPaletteValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `colorChanged` event.\n     *\n     * @public\n     */\n    public readonly colorChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `colorFormatChanged` event.\n     *\n     * @public\n     */\n    public readonly colorFormatChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `paletteChanged` event.\n     *\n     * @public\n     */\n    public readonly paletteChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorEditorMethodNames>(method: TMethod, ...args: Parameters<ColorEditorComponentMethods[TMethod]>): ReturnType<ColorEditorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorEditorElement>(property: TProperty, value: ColorEditorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorEditorComponent.\n */\nexport type ColorEditorMethodNames = 'getDisplayColor' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorEditorComponent.\n */\nexport type ColorEditorComponentMethods = MethodMap<ColorEditorMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorEditorComponent(config: Partial<ColorEditorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_EDITOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorPickerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorPickerComponent.\n * Use this token to provide default properties for the ColorPickerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_PICKER_DEFAULT_PROPS = new InjectionToken<Partial<ColorPickerElement.Props>>('MOSAIK_COLOR_PICKER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for custom trigger content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-picker', ColorPickerElement),\n    inputs: ['format', 'showAlpha', 'showInputs', 'showPalette', 'showEyeDropper', 'showSwatch', 'palettes', 'selectedPalette', 'themeName', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'disabled', 'value', 'dir', 'lang'],\n    methods: ['open', 'close', 'toggle', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-picker',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorPickerComponent {\n    // #region Fields\n\n    private readonly _element: ColorPickerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('colorChanged', (e) => this.colorChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_PICKER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<ColorPickerElement['format'] | undefined> = input<ColorPickerElement['format']>();\n\n    /**\n     * Signal input for the `showAlpha` property.\n     *\n     * @public\n     */\n    public readonly showAlpha: InputSignal<ColorPickerElement['showAlpha'] | undefined> = input<ColorPickerElement['showAlpha']>();\n\n    /**\n     * Signal input for the `showInputs` property.\n     *\n     * @public\n     */\n    public readonly showInputs: InputSignal<ColorPickerElement['showInputs'] | undefined> = input<ColorPickerElement['showInputs']>();\n\n    /**\n     * Signal input for the `showPalette` property.\n     *\n     * @public\n     */\n    public readonly showPalette: InputSignal<ColorPickerElement['showPalette'] | undefined> = input<ColorPickerElement['showPalette']>();\n\n    /**\n     * Signal input for the `showEyeDropper` property.\n     *\n     * @public\n     */\n    public readonly showEyeDropper: InputSignal<ColorPickerElement['showEyeDropper'] | undefined> = input<ColorPickerElement['showEyeDropper']>();\n\n    /**\n     * Signal input for the `showSwatch` property.\n     *\n     * @public\n     */\n    public readonly showSwatch: InputSignal<ColorPickerElement['showSwatch'] | undefined> = input<ColorPickerElement['showSwatch']>();\n\n    /**\n     * Signal input for the `palettes` property.\n     *\n     * @public\n     */\n    public readonly palettes: InputSignal<ColorPickerElement['palettes'] | undefined> = input<ColorPickerElement['palettes']>();\n\n    /**\n     * Signal input for the `selectedPalette` property.\n     *\n     * @public\n     */\n    public readonly selectedPalette: InputSignal<ColorPickerElement['selectedPalette'] | undefined> = input<ColorPickerElement['selectedPalette']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorPickerElement['themeName'] | undefined> = input<ColorPickerElement['themeName']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<ColorPickerElement['dropDownPlacement'] | undefined> = input<ColorPickerElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<ColorPickerElement['dropDownStrategy'] | undefined> = input<ColorPickerElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<ColorPickerElement['dropDownDistance'] | undefined> = input<ColorPickerElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<ColorPickerElement['dropDownSkidding'] | undefined> = input<ColorPickerElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<ColorPickerElement['dropDownStaysOpen'] | undefined> = input<ColorPickerElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<ColorPickerElement['dropDownMaxHeight'] | undefined> = input<ColorPickerElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<ColorPickerElement['dropDownHeight'] | undefined> = input<ColorPickerElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<ColorPickerElement['dropDownWidth'] | undefined> = input<ColorPickerElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<ColorPickerElement['dropDownMaxWidth'] | undefined> = input<ColorPickerElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<ColorPickerElement['isDropDownOpen'] | undefined> = input<ColorPickerElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorPickerElement['disabled'] | undefined> = input<ColorPickerElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorPickerElement['value'] | undefined> = input<ColorPickerElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorPickerElement['dir'] | undefined> = input<ColorPickerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorPickerElement['lang'] | undefined> = input<ColorPickerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const showAlphaValue = this.showAlpha();\n                if (showAlphaValue !== undefined) {\n                    (this._element as any).showAlpha = showAlphaValue;\n                }\n\n                const showInputsValue = this.showInputs();\n                if (showInputsValue !== undefined) {\n                    (this._element as any).showInputs = showInputsValue;\n                }\n\n                const showPaletteValue = this.showPalette();\n                if (showPaletteValue !== undefined) {\n                    (this._element as any).showPalette = showPaletteValue;\n                }\n\n                const showEyeDropperValue = this.showEyeDropper();\n                if (showEyeDropperValue !== undefined) {\n                    (this._element as any).showEyeDropper = showEyeDropperValue;\n                }\n\n                const showSwatchValue = this.showSwatch();\n                if (showSwatchValue !== undefined) {\n                    (this._element as any).showSwatch = showSwatchValue;\n                }\n\n                const palettesValue = this.palettes();\n                if (palettesValue !== undefined) {\n                    (this._element as any).palettes = palettesValue;\n                }\n\n                const selectedPaletteValue = this.selectedPalette();\n                if (selectedPaletteValue !== undefined) {\n                    (this._element as any).selectedPalette = selectedPaletteValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `colorChanged` event.\n     *\n     * @public\n     */\n    public readonly colorChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorPickerMethodNames>(method: TMethod, ...args: Parameters<ColorPickerComponentMethods[TMethod]>): ReturnType<ColorPickerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorPickerElement>(property: TProperty, value: ColorPickerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorPickerComponent.\n */\nexport type ColorPickerMethodNames = 'open' | 'close' | 'toggle' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorPickerComponent.\n */\nexport type ColorPickerComponentMethods = MethodMap<ColorPickerMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorPickerComponent(config: Partial<ColorPickerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_PICKER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorSliderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorSliderComponent.\n * Use this token to provide default properties for the ColorSliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<ColorSliderElement.Props>>('MOSAIK_COLOR_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-slider', ColorSliderElement),\n    inputs: ['color', 'themeName', 'disabled', 'orientation', 'value', 'dir', 'lang'],\n    methods: ['focus', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorSliderComponent {\n    // #region Fields\n\n    private readonly _element: ColorSliderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorSliderElement['color'] | undefined> = input<ColorSliderElement['color']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorSliderElement['themeName'] | undefined> = input<ColorSliderElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorSliderElement['disabled'] | undefined> = input<ColorSliderElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ColorSliderElement['orientation'] | undefined> = input<ColorSliderElement['orientation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorSliderElement['value'] | undefined> = input<ColorSliderElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorSliderElement['dir'] | undefined> = input<ColorSliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorSliderElement['lang'] | undefined> = input<ColorSliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorSliderMethodNames>(method: TMethod, ...args: Parameters<ColorSliderComponentMethods[TMethod]>): ReturnType<ColorSliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorSliderElement>(property: TProperty, value: ColorSliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorSliderComponent.\n */\nexport type ColorSliderMethodNames = 'focus' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorSliderComponent.\n */\nexport type ColorSliderComponentMethods = MethodMap<ColorSliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorSliderComponent(config: Partial<ColorSliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorSwatchGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorSwatchGroupComponent.\n * Use this token to provide default properties for the ColorSwatchGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_SWATCH_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ColorSwatchGroupElement.Props>>('MOSAIK_COLOR_SWATCH_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-swatch-group', ColorSwatchGroupElement),\n    inputs: ['themeName', 'disabled', 'size', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-swatch-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorSwatchGroupComponent {\n    // #region Fields\n\n    private readonly _element: ColorSwatchGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_SWATCH_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorSwatchGroupElement['themeName'] | undefined> = input<ColorSwatchGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorSwatchGroupElement['disabled'] | undefined> = input<ColorSwatchGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ColorSwatchGroupElement['size'] | undefined> = input<ColorSwatchGroupElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ColorSwatchGroupElement['variant'] | undefined> = input<ColorSwatchGroupElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ColorSwatchGroupElement['appearance'] | undefined> = input<ColorSwatchGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorSwatchGroupElement['dir'] | undefined> = input<ColorSwatchGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorSwatchGroupElement['lang'] | undefined> = input<ColorSwatchGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorSwatchGroupMethodNames>(method: TMethod, ...args: Parameters<ColorSwatchGroupComponentMethods[TMethod]>): ReturnType<ColorSwatchGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorSwatchGroupElement>(property: TProperty, value: ColorSwatchGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorSwatchGroupComponent.\n */\nexport type ColorSwatchGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorSwatchGroupComponent.\n */\nexport type ColorSwatchGroupComponentMethods = MethodMap<ColorSwatchGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorSwatchGroupComponent(config: Partial<ColorSwatchGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_SWATCH_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorSwatchElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorSwatchComponent.\n * Use this token to provide default properties for the ColorSwatchComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_SWATCH_DEFAULT_PROPS = new InjectionToken<Partial<ColorSwatchElement.Props>>('MOSAIK_COLOR_SWATCH_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-swatch', ColorSwatchElement),\n    inputs: ['name', 'hasBackground', 'themeName', 'value', 'size', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-swatch',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorSwatchComponent {\n    // #region Fields\n\n    private readonly _element: ColorSwatchElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_SWATCH_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ColorSwatchElement['name'] | undefined> = input<ColorSwatchElement['name']>();\n\n    /**\n     * Signal input for the `hasBackground` property.\n     *\n     * @public\n     */\n    public readonly hasBackground: InputSignal<ColorSwatchElement['hasBackground'] | undefined> = input<ColorSwatchElement['hasBackground']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorSwatchElement['themeName'] | undefined> = input<ColorSwatchElement['themeName']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorSwatchElement['value'] | undefined> = input<ColorSwatchElement['value']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ColorSwatchElement['size'] | undefined> = input<ColorSwatchElement['size']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorSwatchElement['dir'] | undefined> = input<ColorSwatchElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorSwatchElement['lang'] | undefined> = input<ColorSwatchElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const hasBackgroundValue = this.hasBackground();\n                if (hasBackgroundValue !== undefined) {\n                    (this._element as any).hasBackground = hasBackgroundValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorSwatchMethodNames>(method: TMethod, ...args: Parameters<ColorSwatchComponentMethods[TMethod]>): ReturnType<ColorSwatchComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorSwatchElement>(property: TProperty, value: ColorSwatchElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorSwatchComponent.\n */\nexport type ColorSwatchMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorSwatchComponent.\n */\nexport type ColorSwatchComponentMethods = MethodMap<ColorSwatchMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorSwatchComponent(config: Partial<ColorSwatchElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_SWATCH_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ColorThumbElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorThumbComponent.\n * Use this token to provide default properties for the ColorThumbComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_THUMB_DEFAULT_PROPS = new InjectionToken<Partial<ColorThumbElement.Props>>('MOSAIK_COLOR_THUMB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-color-thumb', ColorThumbElement),\n    inputs: ['color', 'isOpen', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-color-thumb',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ColorThumbComponent {\n    // #region Fields\n\n    private readonly _element: ColorThumbElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_THUMB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `color` property.\n     *\n     * @public\n     */\n    public readonly color: InputSignal<ColorThumbElement['color'] | undefined> = input<ColorThumbElement['color']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<ColorThumbElement['isOpen'] | undefined> = input<ColorThumbElement['isOpen']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorThumbElement['themeName'] | undefined> = input<ColorThumbElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorThumbElement['disabled'] | undefined> = input<ColorThumbElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorThumbElement['dir'] | undefined> = input<ColorThumbElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorThumbElement['lang'] | undefined> = input<ColorThumbElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colorValue = this.color();\n                if (colorValue !== undefined) {\n                    (this._element as any).color = colorValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorThumbMethodNames>(method: TMethod, ...args: Parameters<ColorThumbComponentMethods[TMethod]>): ReturnType<ColorThumbComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorThumbElement>(property: TProperty, value: ColorThumbElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorThumbComponent.\n */\nexport type ColorThumbMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorThumbComponent.\n */\nexport type ColorThumbComponentMethods = MethodMap<ColorThumbMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorThumbComponent(config: Partial<ColorThumbElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_THUMB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ColorBoxElement, IElementValueAccessor, colorBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ColorBoxComponent.\n * Use this token to provide default properties for the ColorBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COLOR_BOX_DEFAULT_PROPS = new InjectionToken<Partial<ColorBoxElement.Props>>('MOSAIK_COLOR_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input field.\n * @slot suffix - Content placed after the input field.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-colorbox', ColorBoxElement),\n    inputs: ['readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'format', 'swatches', 'textAlign', 'colorPosition', 'editorFormat', 'showAlpha', 'showInputs', 'showPalette', 'showEyeDropper', 'showSwatch', 'palettes', 'selectedPalette', 'themeName', 'isClearable', 'invalid', 'value', 'variant', 'appearance', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-colorbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ColorBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ColorBoxComponent)\n        }\n    ]\n})\nexport class ColorBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ColorBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = colorBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('focus', (e) => this.focus.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('blur', (e) => this.blur.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COLOR_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<ColorBoxElement['readonly'] | undefined> = input<ColorBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ColorBoxElement['required'] | undefined> = input<ColorBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<ColorBoxElement['autofocus'] | undefined> = input<ColorBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ColorBoxElement['name'] | undefined> = input<ColorBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<ColorBoxElement['pattern'] | undefined> = input<ColorBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<ColorBoxElement['placeholder'] | undefined> = input<ColorBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<ColorBoxElement['autocomplete'] | undefined> = input<ColorBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<ColorBoxElement['format'] | undefined> = input<ColorBoxElement['format']>();\n\n    /**\n     * Signal input for the `swatches` property.\n     *\n     * @public\n     */\n    public readonly swatches: InputSignal<ColorBoxElement['swatches'] | undefined> = input<ColorBoxElement['swatches']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<ColorBoxElement['textAlign'] | undefined> = input<ColorBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `colorPosition` property.\n     *\n     * @public\n     */\n    public readonly colorPosition: InputSignal<ColorBoxElement['colorPosition'] | undefined> = input<ColorBoxElement['colorPosition']>();\n\n    /**\n     * Signal input for the `editorFormat` property.\n     *\n     * @public\n     */\n    public readonly editorFormat: InputSignal<ColorBoxElement['editorFormat'] | undefined> = input<ColorBoxElement['editorFormat']>();\n\n    /**\n     * Signal input for the `showAlpha` property.\n     *\n     * @public\n     */\n    public readonly showAlpha: InputSignal<ColorBoxElement['showAlpha'] | undefined> = input<ColorBoxElement['showAlpha']>();\n\n    /**\n     * Signal input for the `showInputs` property.\n     *\n     * @public\n     */\n    public readonly showInputs: InputSignal<ColorBoxElement['showInputs'] | undefined> = input<ColorBoxElement['showInputs']>();\n\n    /**\n     * Signal input for the `showPalette` property.\n     *\n     * @public\n     */\n    public readonly showPalette: InputSignal<ColorBoxElement['showPalette'] | undefined> = input<ColorBoxElement['showPalette']>();\n\n    /**\n     * Signal input for the `showEyeDropper` property.\n     *\n     * @public\n     */\n    public readonly showEyeDropper: InputSignal<ColorBoxElement['showEyeDropper'] | undefined> = input<ColorBoxElement['showEyeDropper']>();\n\n    /**\n     * Signal input for the `showSwatch` property.\n     *\n     * @public\n     */\n    public readonly showSwatch: InputSignal<ColorBoxElement['showSwatch'] | undefined> = input<ColorBoxElement['showSwatch']>();\n\n    /**\n     * Signal input for the `palettes` property.\n     *\n     * @public\n     */\n    public readonly palettes: InputSignal<ColorBoxElement['palettes'] | undefined> = input<ColorBoxElement['palettes']>();\n\n    /**\n     * Signal input for the `selectedPalette` property.\n     *\n     * @public\n     */\n    public readonly selectedPalette: InputSignal<ColorBoxElement['selectedPalette'] | undefined> = input<ColorBoxElement['selectedPalette']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ColorBoxElement['themeName'] | undefined> = input<ColorBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<ColorBoxElement['isClearable'] | undefined> = input<ColorBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ColorBoxElement['invalid'] | undefined> = input<ColorBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ColorBoxElement['value'] | undefined> = input<ColorBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ColorBoxElement['variant'] | undefined> = input<ColorBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ColorBoxElement['appearance'] | undefined> = input<ColorBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<ColorBoxElement['dropDownPlacement'] | undefined> = input<ColorBoxElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<ColorBoxElement['dropDownStrategy'] | undefined> = input<ColorBoxElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<ColorBoxElement['dropDownDistance'] | undefined> = input<ColorBoxElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<ColorBoxElement['dropDownSkidding'] | undefined> = input<ColorBoxElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<ColorBoxElement['dropDownStaysOpen'] | undefined> = input<ColorBoxElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<ColorBoxElement['dropDownMaxHeight'] | undefined> = input<ColorBoxElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<ColorBoxElement['dropDownHeight'] | undefined> = input<ColorBoxElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<ColorBoxElement['dropDownWidth'] | undefined> = input<ColorBoxElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<ColorBoxElement['dropDownMaxWidth'] | undefined> = input<ColorBoxElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<ColorBoxElement['isDropDownOpen'] | undefined> = input<ColorBoxElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ColorBoxElement['label'] | undefined> = input<ColorBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ColorBoxElement['disabled'] | undefined> = input<ColorBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<ColorBoxElement['state'] | undefined> = input<ColorBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ColorBoxElement['formatter'] | undefined> = input<ColorBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<ColorBoxElement['parser'] | undefined> = input<ColorBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ColorBoxElement['isFocused'] | undefined> = input<ColorBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ColorBoxElement['dir'] | undefined> = input<ColorBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ColorBoxElement['lang'] | undefined> = input<ColorBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const swatchesValue = this.swatches();\n                if (swatchesValue !== undefined) {\n                    (this._element as any).swatches = swatchesValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const colorPositionValue = this.colorPosition();\n                if (colorPositionValue !== undefined) {\n                    (this._element as any).colorPosition = colorPositionValue;\n                }\n\n                const editorFormatValue = this.editorFormat();\n                if (editorFormatValue !== undefined) {\n                    (this._element as any).editorFormat = editorFormatValue;\n                }\n\n                const showAlphaValue = this.showAlpha();\n                if (showAlphaValue !== undefined) {\n                    (this._element as any).showAlpha = showAlphaValue;\n                }\n\n                const showInputsValue = this.showInputs();\n                if (showInputsValue !== undefined) {\n                    (this._element as any).showInputs = showInputsValue;\n                }\n\n                const showPaletteValue = this.showPalette();\n                if (showPaletteValue !== undefined) {\n                    (this._element as any).showPalette = showPaletteValue;\n                }\n\n                const showEyeDropperValue = this.showEyeDropper();\n                if (showEyeDropperValue !== undefined) {\n                    (this._element as any).showEyeDropper = showEyeDropperValue;\n                }\n\n                const showSwatchValue = this.showSwatch();\n                if (showSwatchValue !== undefined) {\n                    (this._element as any).showSwatch = showSwatchValue;\n                }\n\n                const palettesValue = this.palettes();\n                if (palettesValue !== undefined) {\n                    (this._element as any).palettes = palettesValue;\n                }\n\n                const selectedPaletteValue = this.selectedPalette();\n                if (selectedPaletteValue !== undefined) {\n                    (this._element as any).selectedPalette = selectedPaletteValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `focus` event.\n     *\n     * @public\n     */\n    public readonly focus: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `blur` event.\n     *\n     * @public\n     */\n    public readonly blur: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ColorBoxMethodNames>(method: TMethod, ...args: Parameters<ColorBoxComponentMethods[TMethod]>): ReturnType<ColorBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ColorBoxElement>(property: TProperty, value: ColorBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ColorBoxComponent.\n */\nexport type ColorBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ColorBoxComponent.\n */\nexport type ColorBoxComponentMethods = MethodMap<ColorBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideColorBoxComponent(config: Partial<ColorBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COLOR_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ComboItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ComboItemComponent.\n * Use this token to provide default properties for the ComboItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COMBO_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<ComboItemElement.Props>>('MOSAIK_COMBO_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot icon - The icon slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-combo-item', ComboItemElement),\n    inputs: ['isChecked', 'icon', 'isActive', 'themeName', 'ripple', 'disabled', 'variant', 'isFocused', 'label', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-combo-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ComboItemComponent {\n    // #region Fields\n\n    private readonly _element: ComboItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COMBO_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ComboItemElement['isChecked'] | undefined> = input<ComboItemElement['isChecked']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ComboItemElement['icon'] | undefined> = input<ComboItemElement['icon']>();\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<ComboItemElement['isActive'] | undefined> = input<ComboItemElement['isActive']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ComboItemElement['themeName'] | undefined> = input<ComboItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ComboItemElement['ripple'] | undefined> = input<ComboItemElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ComboItemElement['disabled'] | undefined> = input<ComboItemElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ComboItemElement['variant'] | undefined> = input<ComboItemElement['variant']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ComboItemElement['isFocused'] | undefined> = input<ComboItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ComboItemElement['label'] | undefined> = input<ComboItemElement['label']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<ComboItemElement['isSelected'] | undefined> = input<ComboItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<ComboItemElement['index'] | undefined> = input<ComboItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<ComboItemElement['displayText'] | undefined> = input<ComboItemElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ComboItemElement['value'] | undefined> = input<ComboItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ComboItemElement['dir'] | undefined> = input<ComboItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ComboItemElement['lang'] | undefined> = input<ComboItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ComboItemMethodNames>(method: TMethod, ...args: Parameters<ComboItemComponentMethods[TMethod]>): ReturnType<ComboItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ComboItemElement>(property: TProperty, value: ComboItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ComboItemComponent.\n */\nexport type ComboItemMethodNames = 'hasVisibleFocusInTree' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ComboItemComponent.\n */\nexport type ComboItemComponentMethods = MethodMap<ComboItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideComboItemComponent(config: Partial<ComboItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COMBO_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComboElement, IElementValueAccessor, comboElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ComboComponent.\n * Use this token to provide default properties for the ComboComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COMBO_DEFAULT_PROPS = new InjectionToken<Partial<ComboElement.Props>>('MOSAIK_COMBO_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for combo items and options\n * @slot prefix - Leading content before the input (icons, labels)\n * @slot suffix - Trailing content after the input (actions, indicators)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-combo', ComboElement),\n    inputs: ['intl', 'selectionMode', 'placeholder', 'required', 'textAlign', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'appearance', 'variant', 'label', 'isClearable', 'invalid', 'disabled', 'value', 'themeName', 'selectedItems', 'selectedItem', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'clear', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-combo',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ComboComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ComboComponent)\n        }\n    ]\n})\nexport class ComboComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ComboElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = comboElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COMBO_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<ComboElement['intl'] | undefined> = input<ComboElement['intl']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<ComboElement['selectionMode'] | undefined> = input<ComboElement['selectionMode']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<ComboElement['placeholder'] | undefined> = input<ComboElement['placeholder']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ComboElement['required'] | undefined> = input<ComboElement['required']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<ComboElement['textAlign'] | undefined> = input<ComboElement['textAlign']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<ComboElement['dropDownPlacement'] | undefined> = input<ComboElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<ComboElement['dropDownStrategy'] | undefined> = input<ComboElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<ComboElement['dropDownDistance'] | undefined> = input<ComboElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<ComboElement['dropDownSkidding'] | undefined> = input<ComboElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<ComboElement['dropDownStaysOpen'] | undefined> = input<ComboElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<ComboElement['dropDownMaxHeight'] | undefined> = input<ComboElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<ComboElement['dropDownHeight'] | undefined> = input<ComboElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<ComboElement['dropDownWidth'] | undefined> = input<ComboElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<ComboElement['dropDownMaxWidth'] | undefined> = input<ComboElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<ComboElement['isDropDownOpen'] | undefined> = input<ComboElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ComboElement['appearance'] | undefined> = input<ComboElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ComboElement['variant'] | undefined> = input<ComboElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ComboElement['label'] | undefined> = input<ComboElement['label']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<ComboElement['isClearable'] | undefined> = input<ComboElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ComboElement['invalid'] | undefined> = input<ComboElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ComboElement['disabled'] | undefined> = input<ComboElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ComboElement['value'] | undefined> = input<ComboElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ComboElement['themeName'] | undefined> = input<ComboElement['themeName']>();\n\n    /**\n     * Signal input for the `selectedItems` property.\n     *\n     * @public\n     */\n    public readonly selectedItems: InputSignal<ComboElement['selectedItems'] | undefined> = input<ComboElement['selectedItems']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<ComboElement['selectedItem'] | undefined> = input<ComboElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ComboElement['dir'] | undefined> = input<ComboElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ComboElement['lang'] | undefined> = input<ComboElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ComboMethodNames>(method: TMethod, ...args: Parameters<ComboComponentMethods[TMethod]>): ReturnType<ComboComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ComboElement>(property: TProperty, value: ComboElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ComboComponent.\n */\nexport type ComboMethodNames = 'reset' | 'checkValidity' | 'clear' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ComboComponent.\n */\nexport type ComboComponentMethods = MethodMap<ComboMethodNames>;\n\n/**\n * @public\n */\nexport function provideComboComponent(config: Partial<ComboElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COMBO_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CommentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CommentComponent.\n * Use this token to provide default properties for the CommentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COMMENT_DEFAULT_PROPS = new InjectionToken<Partial<CommentElement.Props>>('MOSAIK_COMMENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot actions - The actions slot.\n * @slot at - The at slot.\n * @slot author - The author slot.\n * @slot avatar - The avatar slot.\n * @slot content - The content slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-comment', CommentElement),\n    inputs: ['author', 'at', 'content', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-comment',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CommentComponent {\n    // #region Fields\n\n    private readonly _element: CommentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COMMENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `author` property.\n     *\n     * @public\n     */\n    public readonly author: InputSignal<CommentElement['author'] | undefined> = input<CommentElement['author']>();\n\n    /**\n     * Signal input for the `at` property.\n     *\n     * @public\n     */\n    public readonly at: InputSignal<CommentElement['at'] | undefined> = input<CommentElement['at']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<CommentElement['content'] | undefined> = input<CommentElement['content']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CommentElement['themeName'] | undefined> = input<CommentElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<CommentElement['formatter'] | undefined> = input<CommentElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CommentElement['dir'] | undefined> = input<CommentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CommentElement['lang'] | undefined> = input<CommentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const authorValue = this.author();\n                if (authorValue !== undefined) {\n                    (this._element as any).author = authorValue;\n                }\n\n                const atValue = this.at();\n                if (atValue !== undefined) {\n                    (this._element as any).at = atValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CommentMethodNames>(method: TMethod, ...args: Parameters<CommentComponentMethods[TMethod]>): ReturnType<CommentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CommentElement>(property: TProperty, value: CommentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CommentComponent.\n */\nexport type CommentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CommentComponent.\n */\nexport type CommentComponentMethods = MethodMap<CommentMethodNames>;\n\n/**\n * @public\n */\nexport function provideCommentComponent(config: Partial<CommentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COMMENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CompoundButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CompoundButtonComponent.\n * Use this token to provide default properties for the CompoundButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COMPOUND_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<CompoundButtonElement.Props>>('MOSAIK_COMPOUND_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot label - Primary text content area for main button labeling\n * @slot overlay - Overlay content area for badges, notifications, or status indicators\n * @slot prefix - Leading content area displayed before the main label and icon\n * @slot subLabel - Secondary text content area for descriptions or additional contextual information\n * @slot suffix - Trailing content area displayed after all main content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-compound-button', CompoundButtonElement),\n    inputs: ['subLabel', 'isNavigation', 'themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-compound-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CompoundButtonComponent {\n    // #region Fields\n\n    private readonly _element: CompoundButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COMPOUND_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `subLabel` property.\n     *\n     * @public\n     */\n    public readonly subLabel: InputSignal<CompoundButtonElement['subLabel'] | undefined> = input<CompoundButtonElement['subLabel']>();\n\n    /**\n     * Signal input for the `isNavigation` property.\n     *\n     * @public\n     */\n    public readonly isNavigation: InputSignal<CompoundButtonElement['isNavigation'] | undefined> = input<CompoundButtonElement['isNavigation']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CompoundButtonElement['themeName'] | undefined> = input<CompoundButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<CompoundButtonElement['reverse'] | undefined> = input<CompoundButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<CompoundButtonElement['orientation'] | undefined> = input<CompoundButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<CompoundButtonElement['horizontalContentAlignment'] | undefined> = input<CompoundButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<CompoundButtonElement['verticalContentAlignment'] | undefined> = input<CompoundButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<CompoundButtonElement['fit'] | undefined> = input<CompoundButtonElement['fit']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<CompoundButtonElement['isBusy'] | undefined> = input<CompoundButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<CompoundButtonElement['label'] | undefined> = input<CompoundButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<CompoundButtonElement['icon'] | undefined> = input<CompoundButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<CompoundButtonElement['iconPosition'] | undefined> = input<CompoundButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<CompoundButtonElement['iconSize'] | undefined> = input<CompoundButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<CompoundButtonElement['type'] | undefined> = input<CompoundButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<CompoundButtonElement['ripple'] | undefined> = input<CompoundButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<CompoundButtonElement['variant'] | undefined> = input<CompoundButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<CompoundButtonElement['appearance'] | undefined> = input<CompoundButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<CompoundButtonElement['size'] | undefined> = input<CompoundButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<CompoundButtonElement['value'] | undefined> = input<CompoundButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<CompoundButtonElement['disabled'] | undefined> = input<CompoundButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<CompoundButtonElement['isFocused'] | undefined> = input<CompoundButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CompoundButtonElement['dir'] | undefined> = input<CompoundButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CompoundButtonElement['lang'] | undefined> = input<CompoundButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const subLabelValue = this.subLabel();\n                if (subLabelValue !== undefined) {\n                    (this._element as any).subLabel = subLabelValue;\n                }\n\n                const isNavigationValue = this.isNavigation();\n                if (isNavigationValue !== undefined) {\n                    (this._element as any).isNavigation = isNavigationValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CompoundButtonMethodNames>(method: TMethod, ...args: Parameters<CompoundButtonComponentMethods[TMethod]>): ReturnType<CompoundButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CompoundButtonElement>(property: TProperty, value: CompoundButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CompoundButtonComponent.\n */\nexport type CompoundButtonMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CompoundButtonComponent.\n */\nexport type CompoundButtonComponentMethods = MethodMap<CompoundButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideCompoundButtonComponent(config: Partial<CompoundButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COMPOUND_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { CookiesConsentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the CookiesConsentComponent.\n * Use this token to provide default properties for the CookiesConsentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const COOKIES_CONSENT_DEFAULT_PROPS = new InjectionToken<Partial<CookiesConsentElement.Props>>('MOSAIK_COOKIES_CONSENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Custom action buttons to override or extend the default accept/dismiss buttons\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-cookies-consent', CookiesConsentElement),\n    inputs: ['accepted', 'dismissed', 'intl', 'hasAcceptedCookies', 'acceptable', 'dismissable', 'themeName', 'animationTarget', 'enter', 'exit', 'elevation', 'dir', 'lang'],\n    methods: ['onEnterAnimation', 'onExitAnimation', 'play', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-cookies-consent',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class CookiesConsentComponent {\n    // #region Fields\n\n    private readonly _element: CookiesConsentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('cookiesAccepted', (e) => this.cookiesAccepted.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('cookiesDismissed', (e) => this.cookiesDismissed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(COOKIES_CONSENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `accepted` property.\n     *\n     * @public\n     */\n    public readonly accepted: InputSignal<CookiesConsentElement['accepted'] | undefined> = input<CookiesConsentElement['accepted']>();\n\n    /**\n     * Signal input for the `dismissed` property.\n     *\n     * @public\n     */\n    public readonly dismissed: InputSignal<CookiesConsentElement['dismissed'] | undefined> = input<CookiesConsentElement['dismissed']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<CookiesConsentElement['intl'] | undefined> = input<CookiesConsentElement['intl']>();\n\n    /**\n     * Signal input for the `hasAcceptedCookies` property.\n     *\n     * @public\n     */\n    public readonly hasAcceptedCookies: InputSignal<CookiesConsentElement['hasAcceptedCookies'] | undefined> = input<CookiesConsentElement['hasAcceptedCookies']>();\n\n    /**\n     * Signal input for the `acceptable` property.\n     *\n     * @public\n     */\n    public readonly acceptable: InputSignal<CookiesConsentElement['acceptable'] | undefined> = input<CookiesConsentElement['acceptable']>();\n\n    /**\n     * Signal input for the `dismissable` property.\n     *\n     * @public\n     */\n    public readonly dismissable: InputSignal<CookiesConsentElement['dismissable'] | undefined> = input<CookiesConsentElement['dismissable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<CookiesConsentElement['themeName'] | undefined> = input<CookiesConsentElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<CookiesConsentElement['animationTarget'] | undefined> = input<CookiesConsentElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<CookiesConsentElement['enter'] | undefined> = input<CookiesConsentElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<CookiesConsentElement['exit'] | undefined> = input<CookiesConsentElement['exit']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<CookiesConsentElement['elevation'] | undefined> = input<CookiesConsentElement['elevation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<CookiesConsentElement['dir'] | undefined> = input<CookiesConsentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<CookiesConsentElement['lang'] | undefined> = input<CookiesConsentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const acceptedValue = this.accepted();\n                if (acceptedValue !== undefined) {\n                    (this._element as any).accepted = acceptedValue;\n                }\n\n                const hasAcceptedCookiesValue = this.hasAcceptedCookies();\n                if (hasAcceptedCookiesValue !== undefined) {\n                    (this._element as any).hasAcceptedCookies = hasAcceptedCookiesValue;\n                }\n\n                const acceptableValue = this.acceptable();\n                if (acceptableValue !== undefined) {\n                    (this._element as any).acceptable = acceptableValue;\n                }\n\n                const dismissableValue = this.dismissable();\n                if (dismissableValue !== undefined) {\n                    (this._element as any).dismissable = dismissableValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cookiesAccepted` event.\n     *\n     * @public\n     */\n    public readonly cookiesAccepted: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `cookiesDismissed` event.\n     *\n     * @public\n     */\n    public readonly cookiesDismissed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends CookiesConsentMethodNames>(method: TMethod, ...args: Parameters<CookiesConsentComponentMethods[TMethod]>): ReturnType<CookiesConsentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof CookiesConsentElement>(property: TProperty, value: CookiesConsentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on CookiesConsentComponent.\n */\nexport type CookiesConsentMethodNames = 'onEnterAnimation' | 'onExitAnimation' | 'play' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for CookiesConsentComponent.\n */\nexport type CookiesConsentComponentMethods = MethodMap<CookiesConsentMethodNames>;\n\n/**\n * @public\n */\nexport function provideCookiesConsentComponent(config: Partial<CookiesConsentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: COOKIES_CONSENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateBoxElement, IElementValueAccessor, dateBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DateBoxComponent.\n * Use this token to provide default properties for the DateBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DATE_BOX_DEFAULT_PROPS = new InjectionToken<Partial<DateBoxElement.Props>>('MOSAIK_DATE_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input field.\n * @slot suffix - Content placed after the input field.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-datebox', DateBoxElement),\n    inputs: ['displayDate', 'displayDateStart', 'displayDateEnd', 'displayValue', 'values', 'view', 'selectionMode', 'blackoutDates', 'specialDates', 'minDate', 'maxDate', 'firstDayOfWeek', 'isTodayHighlighted', 'isWeekendHighlighted', 'showWeekNumbers', 'markerHandler', 'showAdjacent', 'readonly', 'required', 'autofocus', 'name', 'placeholder', 'autocomplete', 'format', 'textAlign', 'themeName', 'isClearable', 'locale', 'invalid', 'value', 'variant', 'appearance', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-datebox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DateBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => DateBoxComponent)\n        }\n    ]\n})\nexport class DateBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: DateBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = dateBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DATE_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `displayDate` property.\n     *\n     * @public\n     */\n    public readonly displayDate: InputSignal<DateBoxElement['displayDate'] | undefined> = input<DateBoxElement['displayDate']>();\n\n    /**\n     * Signal input for the `displayDateStart` property.\n     *\n     * @public\n     */\n    public readonly displayDateStart: InputSignal<DateBoxElement['displayDateStart'] | undefined> = input<DateBoxElement['displayDateStart']>();\n\n    /**\n     * Signal input for the `displayDateEnd` property.\n     *\n     * @public\n     */\n    public readonly displayDateEnd: InputSignal<DateBoxElement['displayDateEnd'] | undefined> = input<DateBoxElement['displayDateEnd']>();\n\n    /**\n     * Signal input for the `displayValue` property.\n     *\n     * @public\n     */\n    public readonly displayValue: InputSignal<DateBoxElement['displayValue'] | undefined> = input<DateBoxElement['displayValue']>();\n\n    /**\n     * Signal input for the `values` property.\n     *\n     * @public\n     */\n    public readonly values: InputSignal<DateBoxElement['values'] | undefined> = input<DateBoxElement['values']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<DateBoxElement['view'] | undefined> = input<DateBoxElement['view']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<DateBoxElement['selectionMode'] | undefined> = input<DateBoxElement['selectionMode']>();\n\n    /**\n     * Signal input for the `blackoutDates` property.\n     *\n     * @public\n     */\n    public readonly blackoutDates: InputSignal<DateBoxElement['blackoutDates'] | undefined> = input<DateBoxElement['blackoutDates']>();\n\n    /**\n     * Signal input for the `specialDates` property.\n     *\n     * @public\n     */\n    public readonly specialDates: InputSignal<DateBoxElement['specialDates'] | undefined> = input<DateBoxElement['specialDates']>();\n\n    /**\n     * Signal input for the `minDate` property.\n     *\n     * @public\n     */\n    public readonly minDate: InputSignal<DateBoxElement['minDate'] | undefined> = input<DateBoxElement['minDate']>();\n\n    /**\n     * Signal input for the `maxDate` property.\n     *\n     * @public\n     */\n    public readonly maxDate: InputSignal<DateBoxElement['maxDate'] | undefined> = input<DateBoxElement['maxDate']>();\n\n    /**\n     * Signal input for the `firstDayOfWeek` property.\n     *\n     * @public\n     */\n    public readonly firstDayOfWeek: InputSignal<DateBoxElement['firstDayOfWeek'] | undefined> = input<DateBoxElement['firstDayOfWeek']>();\n\n    /**\n     * Signal input for the `isTodayHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isTodayHighlighted: InputSignal<DateBoxElement['isTodayHighlighted'] | undefined> = input<DateBoxElement['isTodayHighlighted']>();\n\n    /**\n     * Signal input for the `isWeekendHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isWeekendHighlighted: InputSignal<DateBoxElement['isWeekendHighlighted'] | undefined> = input<DateBoxElement['isWeekendHighlighted']>();\n\n    /**\n     * Signal input for the `showWeekNumbers` property.\n     *\n     * @public\n     */\n    public readonly showWeekNumbers: InputSignal<DateBoxElement['showWeekNumbers'] | undefined> = input<DateBoxElement['showWeekNumbers']>();\n\n    /**\n     * Signal input for the `markerHandler` property.\n     *\n     * @public\n     */\n    public readonly markerHandler: InputSignal<DateBoxElement['markerHandler'] | undefined> = input<DateBoxElement['markerHandler']>();\n\n    /**\n     * Signal input for the `showAdjacent` property.\n     *\n     * @public\n     */\n    public readonly showAdjacent: InputSignal<DateBoxElement['showAdjacent'] | undefined> = input<DateBoxElement['showAdjacent']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<DateBoxElement['readonly'] | undefined> = input<DateBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<DateBoxElement['required'] | undefined> = input<DateBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<DateBoxElement['autofocus'] | undefined> = input<DateBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<DateBoxElement['name'] | undefined> = input<DateBoxElement['name']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<DateBoxElement['placeholder'] | undefined> = input<DateBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<DateBoxElement['autocomplete'] | undefined> = input<DateBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<DateBoxElement['format'] | undefined> = input<DateBoxElement['format']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<DateBoxElement['textAlign'] | undefined> = input<DateBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DateBoxElement['themeName'] | undefined> = input<DateBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<DateBoxElement['isClearable'] | undefined> = input<DateBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<DateBoxElement['locale'] | undefined> = input<DateBoxElement['locale']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<DateBoxElement['invalid'] | undefined> = input<DateBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<DateBoxElement['value'] | undefined> = input<DateBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DateBoxElement['variant'] | undefined> = input<DateBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DateBoxElement['appearance'] | undefined> = input<DateBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<DateBoxElement['dropDownPlacement'] | undefined> = input<DateBoxElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<DateBoxElement['dropDownStrategy'] | undefined> = input<DateBoxElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<DateBoxElement['dropDownDistance'] | undefined> = input<DateBoxElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<DateBoxElement['dropDownSkidding'] | undefined> = input<DateBoxElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<DateBoxElement['dropDownStaysOpen'] | undefined> = input<DateBoxElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<DateBoxElement['dropDownMaxHeight'] | undefined> = input<DateBoxElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<DateBoxElement['dropDownHeight'] | undefined> = input<DateBoxElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<DateBoxElement['dropDownWidth'] | undefined> = input<DateBoxElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<DateBoxElement['dropDownMaxWidth'] | undefined> = input<DateBoxElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<DateBoxElement['isDropDownOpen'] | undefined> = input<DateBoxElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<DateBoxElement['label'] | undefined> = input<DateBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DateBoxElement['disabled'] | undefined> = input<DateBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<DateBoxElement['state'] | undefined> = input<DateBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DateBoxElement['formatter'] | undefined> = input<DateBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<DateBoxElement['parser'] | undefined> = input<DateBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<DateBoxElement['isFocused'] | undefined> = input<DateBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DateBoxElement['dir'] | undefined> = input<DateBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DateBoxElement['lang'] | undefined> = input<DateBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const displayDateValue = this.displayDate();\n                if (displayDateValue !== undefined) {\n                    (this._element as any).displayDate = displayDateValue;\n                }\n\n                const displayDateStartValue = this.displayDateStart();\n                if (displayDateStartValue !== undefined) {\n                    (this._element as any).displayDateStart = displayDateStartValue;\n                }\n\n                const displayDateEndValue = this.displayDateEnd();\n                if (displayDateEndValue !== undefined) {\n                    (this._element as any).displayDateEnd = displayDateEndValue;\n                }\n\n                const displayValueValue = this.displayValue();\n                if (displayValueValue !== undefined) {\n                    (this._element as any).displayValue = displayValueValue;\n                }\n\n                const valuesValue = this.values();\n                if (valuesValue !== undefined) {\n                    (this._element as any).values = valuesValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const blackoutDatesValue = this.blackoutDates();\n                if (blackoutDatesValue !== undefined) {\n                    (this._element as any).blackoutDates = blackoutDatesValue;\n                }\n\n                const specialDatesValue = this.specialDates();\n                if (specialDatesValue !== undefined) {\n                    (this._element as any).specialDates = specialDatesValue;\n                }\n\n                const minDateValue = this.minDate();\n                if (minDateValue !== undefined) {\n                    (this._element as any).minDate = minDateValue;\n                }\n\n                const maxDateValue = this.maxDate();\n                if (maxDateValue !== undefined) {\n                    (this._element as any).maxDate = maxDateValue;\n                }\n\n                const firstDayOfWeekValue = this.firstDayOfWeek();\n                if (firstDayOfWeekValue !== undefined) {\n                    (this._element as any).firstDayOfWeek = firstDayOfWeekValue;\n                }\n\n                const isTodayHighlightedValue = this.isTodayHighlighted();\n                if (isTodayHighlightedValue !== undefined) {\n                    (this._element as any).isTodayHighlighted = isTodayHighlightedValue;\n                }\n\n                const isWeekendHighlightedValue = this.isWeekendHighlighted();\n                if (isWeekendHighlightedValue !== undefined) {\n                    (this._element as any).isWeekendHighlighted = isWeekendHighlightedValue;\n                }\n\n                const showWeekNumbersValue = this.showWeekNumbers();\n                if (showWeekNumbersValue !== undefined) {\n                    (this._element as any).showWeekNumbers = showWeekNumbersValue;\n                }\n\n                const markerHandlerValue = this.markerHandler();\n                if (markerHandlerValue !== undefined) {\n                    (this._element as any).markerHandler = markerHandlerValue;\n                }\n\n                const showAdjacentValue = this.showAdjacent();\n                if (showAdjacentValue !== undefined) {\n                    (this._element as any).showAdjacent = showAdjacentValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DateBoxMethodNames>(method: TMethod, ...args: Parameters<DateBoxComponentMethods[TMethod]>): ReturnType<DateBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DateBoxElement>(property: TProperty, value: DateBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DateBoxComponent.\n */\nexport type DateBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DateBoxComponent.\n */\nexport type DateBoxComponentMethods = MethodMap<DateBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideDateBoxComponent(config: Partial<DateBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DATE_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateTimeBoxElement, IElementValueAccessor, dateTimeBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DateTimeBoxComponent.\n * Use this token to provide default properties for the DateTimeBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DATE_TIME_BOX_DEFAULT_PROPS = new InjectionToken<Partial<DateTimeBoxElement.Props>>('MOSAIK_DATE_TIME_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-datetimebox', DateTimeBoxElement),\n    inputs: ['displayDate', 'displayDateStart', 'displayDateEnd', 'displayValue', 'values', 'view', 'blackoutDates', 'specialDates', 'minDate', 'maxDate', 'firstDayOfWeek', 'isTodayHighlighted', 'isWeekendHighlighted', 'showWeekNumbers', 'markerHandler', 'showAdjacent', 'readonly', 'required', 'autofocus', 'name', 'placeholder', 'autocomplete', 'format', 'textAlign', 'themeName', 'isClearable', 'locale', 'invalid', 'value', 'variant', 'appearance', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-datetimebox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DateTimeBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => DateTimeBoxComponent)\n        }\n    ]\n})\nexport class DateTimeBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: DateTimeBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = dateTimeBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DATE_TIME_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `displayDate` property.\n     *\n     * @public\n     */\n    public readonly displayDate: InputSignal<DateTimeBoxElement['displayDate'] | undefined> = input<DateTimeBoxElement['displayDate']>();\n\n    /**\n     * Signal input for the `displayDateStart` property.\n     *\n     * @public\n     */\n    public readonly displayDateStart: InputSignal<DateTimeBoxElement['displayDateStart'] | undefined> = input<DateTimeBoxElement['displayDateStart']>();\n\n    /**\n     * Signal input for the `displayDateEnd` property.\n     *\n     * @public\n     */\n    public readonly displayDateEnd: InputSignal<DateTimeBoxElement['displayDateEnd'] | undefined> = input<DateTimeBoxElement['displayDateEnd']>();\n\n    /**\n     * Signal input for the `displayValue` property.\n     *\n     * @public\n     */\n    public readonly displayValue: InputSignal<DateTimeBoxElement['displayValue'] | undefined> = input<DateTimeBoxElement['displayValue']>();\n\n    /**\n     * Signal input for the `values` property.\n     *\n     * @public\n     */\n    public readonly values: InputSignal<DateTimeBoxElement['values'] | undefined> = input<DateTimeBoxElement['values']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<DateTimeBoxElement['view'] | undefined> = input<DateTimeBoxElement['view']>();\n\n    /**\n     * Signal input for the `blackoutDates` property.\n     *\n     * @public\n     */\n    public readonly blackoutDates: InputSignal<DateTimeBoxElement['blackoutDates'] | undefined> = input<DateTimeBoxElement['blackoutDates']>();\n\n    /**\n     * Signal input for the `specialDates` property.\n     *\n     * @public\n     */\n    public readonly specialDates: InputSignal<DateTimeBoxElement['specialDates'] | undefined> = input<DateTimeBoxElement['specialDates']>();\n\n    /**\n     * Signal input for the `minDate` property.\n     *\n     * @public\n     */\n    public readonly minDate: InputSignal<DateTimeBoxElement['minDate'] | undefined> = input<DateTimeBoxElement['minDate']>();\n\n    /**\n     * Signal input for the `maxDate` property.\n     *\n     * @public\n     */\n    public readonly maxDate: InputSignal<DateTimeBoxElement['maxDate'] | undefined> = input<DateTimeBoxElement['maxDate']>();\n\n    /**\n     * Signal input for the `firstDayOfWeek` property.\n     *\n     * @public\n     */\n    public readonly firstDayOfWeek: InputSignal<DateTimeBoxElement['firstDayOfWeek'] | undefined> = input<DateTimeBoxElement['firstDayOfWeek']>();\n\n    /**\n     * Signal input for the `isTodayHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isTodayHighlighted: InputSignal<DateTimeBoxElement['isTodayHighlighted'] | undefined> = input<DateTimeBoxElement['isTodayHighlighted']>();\n\n    /**\n     * Signal input for the `isWeekendHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isWeekendHighlighted: InputSignal<DateTimeBoxElement['isWeekendHighlighted'] | undefined> = input<DateTimeBoxElement['isWeekendHighlighted']>();\n\n    /**\n     * Signal input for the `showWeekNumbers` property.\n     *\n     * @public\n     */\n    public readonly showWeekNumbers: InputSignal<DateTimeBoxElement['showWeekNumbers'] | undefined> = input<DateTimeBoxElement['showWeekNumbers']>();\n\n    /**\n     * Signal input for the `markerHandler` property.\n     *\n     * @public\n     */\n    public readonly markerHandler: InputSignal<DateTimeBoxElement['markerHandler'] | undefined> = input<DateTimeBoxElement['markerHandler']>();\n\n    /**\n     * Signal input for the `showAdjacent` property.\n     *\n     * @public\n     */\n    public readonly showAdjacent: InputSignal<DateTimeBoxElement['showAdjacent'] | undefined> = input<DateTimeBoxElement['showAdjacent']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<DateTimeBoxElement['readonly'] | undefined> = input<DateTimeBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<DateTimeBoxElement['required'] | undefined> = input<DateTimeBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<DateTimeBoxElement['autofocus'] | undefined> = input<DateTimeBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<DateTimeBoxElement['name'] | undefined> = input<DateTimeBoxElement['name']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<DateTimeBoxElement['placeholder'] | undefined> = input<DateTimeBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<DateTimeBoxElement['autocomplete'] | undefined> = input<DateTimeBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `format` property.\n     *\n     * @public\n     */\n    public readonly format: InputSignal<DateTimeBoxElement['format'] | undefined> = input<DateTimeBoxElement['format']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<DateTimeBoxElement['textAlign'] | undefined> = input<DateTimeBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DateTimeBoxElement['themeName'] | undefined> = input<DateTimeBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<DateTimeBoxElement['isClearable'] | undefined> = input<DateTimeBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<DateTimeBoxElement['locale'] | undefined> = input<DateTimeBoxElement['locale']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<DateTimeBoxElement['invalid'] | undefined> = input<DateTimeBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<DateTimeBoxElement['value'] | undefined> = input<DateTimeBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DateTimeBoxElement['variant'] | undefined> = input<DateTimeBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DateTimeBoxElement['appearance'] | undefined> = input<DateTimeBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<DateTimeBoxElement['dropDownPlacement'] | undefined> = input<DateTimeBoxElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<DateTimeBoxElement['dropDownStrategy'] | undefined> = input<DateTimeBoxElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<DateTimeBoxElement['dropDownDistance'] | undefined> = input<DateTimeBoxElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<DateTimeBoxElement['dropDownSkidding'] | undefined> = input<DateTimeBoxElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<DateTimeBoxElement['dropDownStaysOpen'] | undefined> = input<DateTimeBoxElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<DateTimeBoxElement['dropDownMaxHeight'] | undefined> = input<DateTimeBoxElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<DateTimeBoxElement['dropDownHeight'] | undefined> = input<DateTimeBoxElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<DateTimeBoxElement['dropDownWidth'] | undefined> = input<DateTimeBoxElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<DateTimeBoxElement['dropDownMaxWidth'] | undefined> = input<DateTimeBoxElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<DateTimeBoxElement['isDropDownOpen'] | undefined> = input<DateTimeBoxElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<DateTimeBoxElement['label'] | undefined> = input<DateTimeBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DateTimeBoxElement['disabled'] | undefined> = input<DateTimeBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<DateTimeBoxElement['state'] | undefined> = input<DateTimeBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DateTimeBoxElement['formatter'] | undefined> = input<DateTimeBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<DateTimeBoxElement['parser'] | undefined> = input<DateTimeBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<DateTimeBoxElement['isFocused'] | undefined> = input<DateTimeBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DateTimeBoxElement['dir'] | undefined> = input<DateTimeBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DateTimeBoxElement['lang'] | undefined> = input<DateTimeBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const displayDateValue = this.displayDate();\n                if (displayDateValue !== undefined) {\n                    (this._element as any).displayDate = displayDateValue;\n                }\n\n                const displayDateStartValue = this.displayDateStart();\n                if (displayDateStartValue !== undefined) {\n                    (this._element as any).displayDateStart = displayDateStartValue;\n                }\n\n                const displayDateEndValue = this.displayDateEnd();\n                if (displayDateEndValue !== undefined) {\n                    (this._element as any).displayDateEnd = displayDateEndValue;\n                }\n\n                const displayValueValue = this.displayValue();\n                if (displayValueValue !== undefined) {\n                    (this._element as any).displayValue = displayValueValue;\n                }\n\n                const valuesValue = this.values();\n                if (valuesValue !== undefined) {\n                    (this._element as any).values = valuesValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const blackoutDatesValue = this.blackoutDates();\n                if (blackoutDatesValue !== undefined) {\n                    (this._element as any).blackoutDates = blackoutDatesValue;\n                }\n\n                const specialDatesValue = this.specialDates();\n                if (specialDatesValue !== undefined) {\n                    (this._element as any).specialDates = specialDatesValue;\n                }\n\n                const minDateValue = this.minDate();\n                if (minDateValue !== undefined) {\n                    (this._element as any).minDate = minDateValue;\n                }\n\n                const maxDateValue = this.maxDate();\n                if (maxDateValue !== undefined) {\n                    (this._element as any).maxDate = maxDateValue;\n                }\n\n                const firstDayOfWeekValue = this.firstDayOfWeek();\n                if (firstDayOfWeekValue !== undefined) {\n                    (this._element as any).firstDayOfWeek = firstDayOfWeekValue;\n                }\n\n                const isTodayHighlightedValue = this.isTodayHighlighted();\n                if (isTodayHighlightedValue !== undefined) {\n                    (this._element as any).isTodayHighlighted = isTodayHighlightedValue;\n                }\n\n                const isWeekendHighlightedValue = this.isWeekendHighlighted();\n                if (isWeekendHighlightedValue !== undefined) {\n                    (this._element as any).isWeekendHighlighted = isWeekendHighlightedValue;\n                }\n\n                const showWeekNumbersValue = this.showWeekNumbers();\n                if (showWeekNumbersValue !== undefined) {\n                    (this._element as any).showWeekNumbers = showWeekNumbersValue;\n                }\n\n                const markerHandlerValue = this.markerHandler();\n                if (markerHandlerValue !== undefined) {\n                    (this._element as any).markerHandler = markerHandlerValue;\n                }\n\n                const showAdjacentValue = this.showAdjacent();\n                if (showAdjacentValue !== undefined) {\n                    (this._element as any).showAdjacent = showAdjacentValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const formatValue = this.format();\n                if (formatValue !== undefined) {\n                    (this._element as any).format = formatValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DateTimeBoxMethodNames>(method: TMethod, ...args: Parameters<DateTimeBoxComponentMethods[TMethod]>): ReturnType<DateTimeBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DateTimeBoxElement>(property: TProperty, value: DateTimeBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DateTimeBoxComponent.\n */\nexport type DateTimeBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DateTimeBoxComponent.\n */\nexport type DateTimeBoxComponentMethods = MethodMap<DateTimeBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideDateTimeBoxComponent(config: Partial<DateTimeBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DATE_TIME_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DesignerCanvasElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DesignerCanvasComponent.\n * Use this token to provide default properties for the DesignerCanvasComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DESIGNER_CANVAS_DEFAULT_PROPS = new InjectionToken<Partial<DesignerCanvasElement.Props>>('MOSAIK_DESIGNER_CANVAS_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for exactly one mosaik-designer-frame\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-designer-canvas', DesignerCanvasElement),\n    inputs: ['panX', 'panY', 'zoomLevel', 'isPanning', 'zoom', 'minZoom', 'maxZoom', 'interactionMode', 'themeName', 'dir', 'lang'],\n    methods: ['zoomIn', 'zoomOut', 'setZoom', 'resetZoom', 'fitToFrame', 'panBy', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-designer-canvas',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DesignerCanvasComponent {\n    // #region Fields\n\n    private readonly _element: DesignerCanvasElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('zoomChanged', (e) => this.zoomChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DESIGNER_CANVAS_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `panX` property.\n     *\n     * @public\n     */\n    public readonly panX: InputSignal<DesignerCanvasElement['panX'] | undefined> = input<DesignerCanvasElement['panX']>();\n\n    /**\n     * Signal input for the `panY` property.\n     *\n     * @public\n     */\n    public readonly panY: InputSignal<DesignerCanvasElement['panY'] | undefined> = input<DesignerCanvasElement['panY']>();\n\n    /**\n     * Signal input for the `zoomLevel` property.\n     *\n     * @public\n     */\n    public readonly zoomLevel: InputSignal<DesignerCanvasElement['zoomLevel'] | undefined> = input<DesignerCanvasElement['zoomLevel']>();\n\n    /**\n     * Signal input for the `isPanning` property.\n     *\n     * @public\n     */\n    public readonly isPanning: InputSignal<DesignerCanvasElement['isPanning'] | undefined> = input<DesignerCanvasElement['isPanning']>();\n\n    /**\n     * Signal input for the `zoom` property.\n     *\n     * @public\n     */\n    public readonly zoom: InputSignal<DesignerCanvasElement['zoom'] | undefined> = input<DesignerCanvasElement['zoom']>();\n\n    /**\n     * Signal input for the `minZoom` property.\n     *\n     * @public\n     */\n    public readonly minZoom: InputSignal<DesignerCanvasElement['minZoom'] | undefined> = input<DesignerCanvasElement['minZoom']>();\n\n    /**\n     * Signal input for the `maxZoom` property.\n     *\n     * @public\n     */\n    public readonly maxZoom: InputSignal<DesignerCanvasElement['maxZoom'] | undefined> = input<DesignerCanvasElement['maxZoom']>();\n\n    /**\n     * Signal input for the `interactionMode` property.\n     *\n     * @public\n     */\n    public readonly interactionMode: InputSignal<DesignerCanvasElement['interactionMode'] | undefined> = input<DesignerCanvasElement['interactionMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DesignerCanvasElement['themeName'] | undefined> = input<DesignerCanvasElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DesignerCanvasElement['dir'] | undefined> = input<DesignerCanvasElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DesignerCanvasElement['lang'] | undefined> = input<DesignerCanvasElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const panXValue = this.panX();\n                if (panXValue !== undefined) {\n                    (this._element as any).panX = panXValue;\n                }\n\n                const panYValue = this.panY();\n                if (panYValue !== undefined) {\n                    (this._element as any).panY = panYValue;\n                }\n\n                const zoomLevelValue = this.zoomLevel();\n                if (zoomLevelValue !== undefined) {\n                    (this._element as any).zoomLevel = zoomLevelValue;\n                }\n\n                const isPanningValue = this.isPanning();\n                if (isPanningValue !== undefined) {\n                    (this._element as any).isPanning = isPanningValue;\n                }\n\n                const zoomValue = this.zoom();\n                if (zoomValue !== undefined) {\n                    (this._element as any).zoom = zoomValue;\n                }\n\n                const minZoomValue = this.minZoom();\n                if (minZoomValue !== undefined) {\n                    (this._element as any).minZoom = minZoomValue;\n                }\n\n                const maxZoomValue = this.maxZoom();\n                if (maxZoomValue !== undefined) {\n                    (this._element as any).maxZoom = maxZoomValue;\n                }\n\n                const interactionModeValue = this.interactionMode();\n                if (interactionModeValue !== undefined) {\n                    (this._element as any).interactionMode = interactionModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `zoomChanged` event.\n     *\n     * @public\n     */\n    public readonly zoomChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DesignerCanvasMethodNames>(method: TMethod, ...args: Parameters<DesignerCanvasComponentMethods[TMethod]>): ReturnType<DesignerCanvasComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DesignerCanvasElement>(property: TProperty, value: DesignerCanvasElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DesignerCanvasComponent.\n */\nexport type DesignerCanvasMethodNames = 'zoomIn' | 'zoomOut' | 'setZoom' | 'resetZoom' | 'fitToFrame' | 'panBy' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DesignerCanvasComponent.\n */\nexport type DesignerCanvasComponentMethods = MethodMap<DesignerCanvasMethodNames>;\n\n/**\n * @public\n */\nexport function provideDesignerCanvasComponent(config: Partial<DesignerCanvasElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DESIGNER_CANVAS_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DesignerContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DesignerContentComponent.\n * Use this token to provide default properties for the DesignerContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DESIGNER_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<DesignerContentElement.Props>>('MOSAIK_DESIGNER_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for the canvas (mosaik-designer-canvas)\n * @slot after-canvas - Generic extension slot after the canvas\n * @slot before-canvas - Generic extension slot before the canvas\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-designer-content', DesignerContentElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-designer-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DesignerContentComponent {\n    // #region Fields\n\n    private readonly _element: DesignerContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DESIGNER_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DesignerContentElement['themeName'] | undefined> = input<DesignerContentElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DesignerContentElement['dir'] | undefined> = input<DesignerContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DesignerContentElement['lang'] | undefined> = input<DesignerContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DesignerContentMethodNames>(method: TMethod, ...args: Parameters<DesignerContentComponentMethods[TMethod]>): ReturnType<DesignerContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DesignerContentElement>(property: TProperty, value: DesignerContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DesignerContentComponent.\n */\nexport type DesignerContentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DesignerContentComponent.\n */\nexport type DesignerContentComponentMethods = MethodMap<DesignerContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideDesignerContentComponent(config: Partial<DesignerContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DESIGNER_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DesignerFrameElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DesignerFrameComponent.\n * Use this token to provide default properties for the DesignerFrameComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DESIGNER_FRAME_DEFAULT_PROPS = new InjectionToken<Partial<DesignerFrameElement.Props>>('MOSAIK_DESIGNER_FRAME_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for layer content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-designer-frame', DesignerFrameElement),\n    inputs: ['bounds', 'showBounds', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-designer-frame',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DesignerFrameComponent {\n    // #region Fields\n\n    private readonly _element: DesignerFrameElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DESIGNER_FRAME_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `bounds` property.\n     *\n     * @public\n     */\n    public readonly bounds: InputSignal<DesignerFrameElement['bounds'] | undefined> = input<DesignerFrameElement['bounds']>();\n\n    /**\n     * Signal input for the `showBounds` property.\n     *\n     * @public\n     */\n    public readonly showBounds: InputSignal<DesignerFrameElement['showBounds'] | undefined> = input<DesignerFrameElement['showBounds']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DesignerFrameElement['themeName'] | undefined> = input<DesignerFrameElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DesignerFrameElement['dir'] | undefined> = input<DesignerFrameElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DesignerFrameElement['lang'] | undefined> = input<DesignerFrameElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const boundsValue = this.bounds();\n                if (boundsValue !== undefined) {\n                    (this._element as any).bounds = boundsValue;\n                }\n\n                const showBoundsValue = this.showBounds();\n                if (showBoundsValue !== undefined) {\n                    (this._element as any).showBounds = showBoundsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DesignerFrameMethodNames>(method: TMethod, ...args: Parameters<DesignerFrameComponentMethods[TMethod]>): ReturnType<DesignerFrameComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DesignerFrameElement>(property: TProperty, value: DesignerFrameElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DesignerFrameComponent.\n */\nexport type DesignerFrameMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DesignerFrameComponent.\n */\nexport type DesignerFrameComponentMethods = MethodMap<DesignerFrameMethodNames>;\n\n/**\n * @public\n */\nexport function provideDesignerFrameComponent(config: Partial<DesignerFrameElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DESIGNER_FRAME_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DesignerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DesignerComponent.\n * Use this token to provide default properties for the DesignerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DESIGNER_DEFAULT_PROPS = new InjectionToken<Partial<DesignerElement.Props>>('MOSAIK_DESIGNER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for the primary workspace structure (mosaik-designer-content)\n * @slot after-content - Generic extension slot after the main content area\n * @slot before-content - Generic extension slot before the main content area\n * @slot footer - Generic extension slot for footer content such as status bars\n * @slot header - Generic extension slot for header content such as toolbars\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-designer', DesignerElement),\n    inputs: ['resolvedLayers', 'defaultLayers', 'layers', 'frameSize', 'mode', 'themeName', 'dir', 'lang'],\n    methods: ['updateLayers', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-designer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DesignerComponent {\n    // #region Fields\n\n    private readonly _element: DesignerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('layersChanged', (e) => this.layersChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DESIGNER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `resolvedLayers` property.\n     *\n     * @public\n     */\n    public readonly resolvedLayers: InputSignal<DesignerElement['resolvedLayers'] | undefined> = input<DesignerElement['resolvedLayers']>();\n\n    /**\n     * Signal input for the `defaultLayers` property.\n     *\n     * @public\n     */\n    public readonly defaultLayers: InputSignal<DesignerElement['defaultLayers'] | undefined> = input<DesignerElement['defaultLayers']>();\n\n    /**\n     * Signal input for the `layers` property.\n     *\n     * @public\n     */\n    public readonly layers: InputSignal<DesignerElement['layers'] | undefined> = input<DesignerElement['layers']>();\n\n    /**\n     * Signal input for the `frameSize` property.\n     *\n     * @public\n     */\n    public readonly frameSize: InputSignal<DesignerElement['frameSize'] | undefined> = input<DesignerElement['frameSize']>();\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<DesignerElement['mode'] | undefined> = input<DesignerElement['mode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DesignerElement['themeName'] | undefined> = input<DesignerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DesignerElement['dir'] | undefined> = input<DesignerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DesignerElement['lang'] | undefined> = input<DesignerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const resolvedLayersValue = this.resolvedLayers();\n                if (resolvedLayersValue !== undefined) {\n                    (this._element as any).resolvedLayers = resolvedLayersValue;\n                }\n\n                const defaultLayersValue = this.defaultLayers();\n                if (defaultLayersValue !== undefined) {\n                    (this._element as any).defaultLayers = defaultLayersValue;\n                }\n\n                const layersValue = this.layers();\n                if (layersValue !== undefined) {\n                    (this._element as any).layers = layersValue;\n                }\n\n                const frameSizeValue = this.frameSize();\n                if (frameSizeValue !== undefined) {\n                    (this._element as any).frameSize = frameSizeValue;\n                }\n\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `layersChanged` event.\n     *\n     * @public\n     */\n    public readonly layersChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DesignerMethodNames>(method: TMethod, ...args: Parameters<DesignerComponentMethods[TMethod]>): ReturnType<DesignerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DesignerElement>(property: TProperty, value: DesignerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DesignerComponent.\n */\nexport type DesignerMethodNames = 'updateLayers' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DesignerComponent.\n */\nexport type DesignerComponentMethods = MethodMap<DesignerMethodNames>;\n\n/**\n * @public\n */\nexport function provideDesignerComponent(config: Partial<DesignerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DESIGNER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DialogContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DialogContentComponent.\n * Use this token to provide default properties for the DialogContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIALOG_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<DialogContentElement.Props>>('MOSAIK_DIALOG_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for content children.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dialog-content', DialogContentElement),\n    inputs: ['text', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dialog-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DialogContentComponent {\n    // #region Fields\n\n    private readonly _element: DialogContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIALOG_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<DialogContentElement['text'] | undefined> = input<DialogContentElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DialogContentElement['themeName'] | undefined> = input<DialogContentElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DialogContentElement['formatter'] | undefined> = input<DialogContentElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DialogContentElement['dir'] | undefined> = input<DialogContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DialogContentElement['lang'] | undefined> = input<DialogContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DialogContentMethodNames>(method: TMethod, ...args: Parameters<DialogContentComponentMethods[TMethod]>): ReturnType<DialogContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DialogContentElement>(property: TProperty, value: DialogContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DialogContentComponent.\n */\nexport type DialogContentMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DialogContentComponent.\n */\nexport type DialogContentComponentMethods = MethodMap<DialogContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideDialogContentComponent(config: Partial<DialogContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIALOG_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DisclosureElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DisclosureComponent.\n * Use this token to provide default properties for the DisclosureComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DISCLOSURE_DEFAULT_PROPS = new InjectionToken<Partial<DisclosureElement.Props>>('MOSAIK_DISCLOSURE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing the main content inside the disclosure.\n * @slot end - The slot for placing content at the end of the disclosure.\n * @slot start - The slot for placing content at the start of the disclosure.\n * @slot summary - The slot for placing summary content that triggers the disclosure.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-disclosure', DisclosureElement),\n    inputs: ['summary', 'isExpanded', 'themeName', 'dir', 'lang'],\n    methods: ['show', 'hide', 'toggle', 'onToggle', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-disclosure',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DisclosureComponent {\n    // #region Fields\n\n    private readonly _element: DisclosureElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DISCLOSURE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `summary` property.\n     *\n     * @public\n     */\n    public readonly summary: InputSignal<DisclosureElement['summary'] | undefined> = input<DisclosureElement['summary']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<DisclosureElement['isExpanded'] | undefined> = input<DisclosureElement['isExpanded']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DisclosureElement['themeName'] | undefined> = input<DisclosureElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DisclosureElement['dir'] | undefined> = input<DisclosureElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DisclosureElement['lang'] | undefined> = input<DisclosureElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const summaryValue = this.summary();\n                if (summaryValue !== undefined) {\n                    (this._element as any).summary = summaryValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DisclosureMethodNames>(method: TMethod, ...args: Parameters<DisclosureComponentMethods[TMethod]>): ReturnType<DisclosureComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DisclosureElement>(property: TProperty, value: DisclosureElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DisclosureComponent.\n */\nexport type DisclosureMethodNames = 'show' | 'hide' | 'toggle' | 'onToggle' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DisclosureComponent.\n */\nexport type DisclosureComponentMethods = MethodMap<DisclosureMethodNames>;\n\n/**\n * @public\n */\nexport function provideDisclosureComponent(config: Partial<DisclosureElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DISCLOSURE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DividerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DividerComponent.\n * Use this token to provide default properties for the DividerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DIVIDER_DEFAULT_PROPS = new InjectionToken<Partial<DividerElement.Props>>('MOSAIK_DIVIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-divider', DividerElement),\n    inputs: ['thickness', 'themeName', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-divider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DividerComponent {\n    // #region Fields\n\n    private readonly _element: DividerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DIVIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<DividerElement['thickness'] | undefined> = input<DividerElement['thickness']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DividerElement['themeName'] | undefined> = input<DividerElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<DividerElement['orientation'] | undefined> = input<DividerElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DividerElement['dir'] | undefined> = input<DividerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DividerElement['lang'] | undefined> = input<DividerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DividerMethodNames>(method: TMethod, ...args: Parameters<DividerComponentMethods[TMethod]>): ReturnType<DividerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DividerElement>(property: TProperty, value: DividerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DividerComponent.\n */\nexport type DividerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DividerComponent.\n */\nexport type DividerComponentMethods = MethodMap<DividerMethodNames>;\n\n/**\n * @public\n */\nexport function provideDividerComponent(config: Partial<DividerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DIVIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DockPanelElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DockPanelComponent.\n * Use this token to provide default properties for the DockPanelComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DOCK_PANEL_DEFAULT_PROPS = new InjectionToken<Partial<DockPanelElement.Props>>('MOSAIK_DOCK_PANEL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for child elements with dock positioning attributes.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dock-panel', DockPanelElement),\n    inputs: ['lastChildFill', 'themeName', 'reverse', 'orientation', 'fit', 'gap', 'items', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dock-panel',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DockPanelComponent {\n    // #region Fields\n\n    private readonly _element: DockPanelElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DOCK_PANEL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `lastChildFill` property.\n     *\n     * @public\n     */\n    public readonly lastChildFill: InputSignal<DockPanelElement['lastChildFill'] | undefined> = input<DockPanelElement['lastChildFill']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DockPanelElement['themeName'] | undefined> = input<DockPanelElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<DockPanelElement['reverse'] | undefined> = input<DockPanelElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<DockPanelElement['orientation'] | undefined> = input<DockPanelElement['orientation']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<DockPanelElement['fit'] | undefined> = input<DockPanelElement['fit']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<DockPanelElement['gap'] | undefined> = input<DockPanelElement['gap']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<DockPanelElement['items'] | undefined> = input<DockPanelElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DockPanelElement['dir'] | undefined> = input<DockPanelElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DockPanelElement['lang'] | undefined> = input<DockPanelElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const lastChildFillValue = this.lastChildFill();\n                if (lastChildFillValue !== undefined) {\n                    (this._element as any).lastChildFill = lastChildFillValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DockPanelMethodNames>(method: TMethod, ...args: Parameters<DockPanelComponentMethods[TMethod]>): ReturnType<DockPanelComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DockPanelElement>(property: TProperty, value: DockPanelElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DockPanelComponent.\n */\nexport type DockPanelMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DockPanelComponent.\n */\nexport type DockPanelComponentMethods = MethodMap<DockPanelMethodNames>;\n\n/**\n * @public\n */\nexport function provideDockPanelComponent(config: Partial<DockPanelElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DOCK_PANEL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DotGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DotGroupComponent.\n * Use this token to provide default properties for the DotGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DOT_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<DotGroupElement.Props>>('MOSAIK_DOT_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for Dot elements\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dot-group', DotGroupElement),\n    inputs: ['themeName', 'disabled', 'size', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dot-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DotGroupComponent {\n    // #region Fields\n\n    private readonly _element: DotGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DOT_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DotGroupElement['themeName'] | undefined> = input<DotGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DotGroupElement['disabled'] | undefined> = input<DotGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<DotGroupElement['size'] | undefined> = input<DotGroupElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DotGroupElement['variant'] | undefined> = input<DotGroupElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DotGroupElement['appearance'] | undefined> = input<DotGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DotGroupElement['dir'] | undefined> = input<DotGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DotGroupElement['lang'] | undefined> = input<DotGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DotGroupMethodNames>(method: TMethod, ...args: Parameters<DotGroupComponentMethods[TMethod]>): ReturnType<DotGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DotGroupElement>(property: TProperty, value: DotGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DotGroupComponent.\n */\nexport type DotGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DotGroupComponent.\n */\nexport type DotGroupComponentMethods = MethodMap<DotGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideDotGroupComponent(config: Partial<DotGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DOT_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DotElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DotComponent.\n * Use this token to provide default properties for the DotComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DOT_DEFAULT_PROPS = new InjectionToken<Partial<DotElement.Props>>('MOSAIK_DOT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dot', DotElement),\n    inputs: ['fill', 'themeName', 'size', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dot',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DotComponent {\n    // #region Fields\n\n    private readonly _element: DotElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DOT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `fill` property.\n     *\n     * @public\n     */\n    public readonly fill: InputSignal<DotElement['fill'] | undefined> = input<DotElement['fill']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DotElement['themeName'] | undefined> = input<DotElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<DotElement['size'] | undefined> = input<DotElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DotElement['variant'] | undefined> = input<DotElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DotElement['disabled'] | undefined> = input<DotElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DotElement['dir'] | undefined> = input<DotElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DotElement['lang'] | undefined> = input<DotElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const fillValue = this.fill();\n                if (fillValue !== undefined) {\n                    (this._element as any).fill = fillValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DotMethodNames>(method: TMethod, ...args: Parameters<DotComponentMethods[TMethod]>): ReturnType<DotComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DotElement>(property: TProperty, value: DotElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DotComponent.\n */\nexport type DotMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DotComponent.\n */\nexport type DotComponentMethods = MethodMap<DotMethodNames>;\n\n/**\n * @public\n */\nexport function provideDotComponent(config: Partial<DotElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DOT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DrawerContainerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DrawerContainerComponent.\n * Use this token to provide default properties for the DrawerContainerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DRAWER_CONTAINER_DEFAULT_PROPS = new InjectionToken<Partial<DrawerContainerElement.Props>>('MOSAIK_DRAWER_CONTAINER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - The content element.\n * @slot drawer - The drawer element.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drawer-container', DrawerContainerElement),\n    inputs: ['autoSize', 'hasBackdrop', 'content', 'drawer', 'themeName', 'fit', 'dir', 'lang'],\n    methods: ['open', 'close', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drawer-container',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DrawerContainerComponent {\n    // #region Fields\n\n    private readonly _element: DrawerContainerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('contentMarginChanged', (e) => this.contentMarginChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DRAWER_CONTAINER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `autoSize` property.\n     *\n     * @public\n     */\n    public readonly autoSize: InputSignal<DrawerContainerElement['autoSize'] | undefined> = input<DrawerContainerElement['autoSize']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<DrawerContainerElement['hasBackdrop'] | undefined> = input<DrawerContainerElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<DrawerContainerElement['content'] | undefined> = input<DrawerContainerElement['content']>();\n\n    /**\n     * Signal input for the `drawer` property.\n     *\n     * @public\n     */\n    public readonly drawer: InputSignal<DrawerContainerElement['drawer'] | undefined> = input<DrawerContainerElement['drawer']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DrawerContainerElement['themeName'] | undefined> = input<DrawerContainerElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<DrawerContainerElement['fit'] | undefined> = input<DrawerContainerElement['fit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DrawerContainerElement['dir'] | undefined> = input<DrawerContainerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DrawerContainerElement['lang'] | undefined> = input<DrawerContainerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const autoSizeValue = this.autoSize();\n                if (autoSizeValue !== undefined) {\n                    (this._element as any).autoSize = autoSizeValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `contentMarginChanged` event.\n     *\n     * @public\n     */\n    public readonly contentMarginChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DrawerContainerMethodNames>(method: TMethod, ...args: Parameters<DrawerContainerComponentMethods[TMethod]>): ReturnType<DrawerContainerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DrawerContainerElement>(property: TProperty, value: DrawerContainerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DrawerContainerComponent.\n */\nexport type DrawerContainerMethodNames = 'open' | 'close' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DrawerContainerComponent.\n */\nexport type DrawerContainerComponentMethods = MethodMap<DrawerContainerMethodNames>;\n\n/**\n * @public\n */\nexport function provideDrawerContainerComponent(config: Partial<DrawerContainerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DRAWER_CONTAINER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DropZoneElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DropZoneComponent.\n * Use this token to provide default properties for the DropZoneComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DROP_ZONE_DEFAULT_PROPS = new InjectionToken<Partial<DropZoneElement.Props>>('MOSAIK_DROP_ZONE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for content displayed inside the drop zone.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-drop-zone', DropZoneElement),\n    inputs: ['state', 'themeName', 'disabled', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-drop-zone',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DropZoneComponent {\n    // #region Fields\n\n    private readonly _element: DropZoneElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('dropZoneData', (e) => this.dropZoneData.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DROP_ZONE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<DropZoneElement['state'] | undefined> = input<DropZoneElement['state']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DropZoneElement['themeName'] | undefined> = input<DropZoneElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DropZoneElement['disabled'] | undefined> = input<DropZoneElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DropZoneElement['appearance'] | undefined> = input<DropZoneElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DropZoneElement['variant'] | undefined> = input<DropZoneElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DropZoneElement['dir'] | undefined> = input<DropZoneElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DropZoneElement['lang'] | undefined> = input<DropZoneElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `dropZoneData` event.\n     *\n     * @public\n     */\n    public readonly dropZoneData: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DropZoneMethodNames>(method: TMethod, ...args: Parameters<DropZoneComponentMethods[TMethod]>): ReturnType<DropZoneComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DropZoneElement>(property: TProperty, value: DropZoneElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DropZoneComponent.\n */\nexport type DropZoneMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DropZoneComponent.\n */\nexport type DropZoneComponentMethods = MethodMap<DropZoneMethodNames>;\n\n/**\n * @public\n */\nexport function provideDropZoneComponent(config: Partial<DropZoneElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DROP_ZONE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DropDownButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DropDownButtonComponent.\n * Use this token to provide default properties for the DropDownButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DROP_DOWN_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<DropDownButtonElement.Props>>('MOSAIK_DROP_DOWN_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default dropdown content slot.\n * @slot icon - The icon slot.\n * @slot label - The label slot.\n * @slot overlay - The overlay slot (useful for badges).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-dropdown-button', DropDownButtonElement),\n    inputs: ['caretVisible', 'themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-dropdown-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DropDownButtonComponent {\n    // #region Fields\n\n    private readonly _element: DropDownButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DROP_DOWN_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `caretVisible` property.\n     *\n     * @public\n     */\n    public readonly caretVisible: InputSignal<DropDownButtonElement['caretVisible'] | undefined> = input<DropDownButtonElement['caretVisible']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DropDownButtonElement['themeName'] | undefined> = input<DropDownButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<DropDownButtonElement['reverse'] | undefined> = input<DropDownButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<DropDownButtonElement['orientation'] | undefined> = input<DropDownButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<DropDownButtonElement['horizontalContentAlignment'] | undefined> = input<DropDownButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<DropDownButtonElement['verticalContentAlignment'] | undefined> = input<DropDownButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<DropDownButtonElement['fit'] | undefined> = input<DropDownButtonElement['fit']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<DropDownButtonElement['dropDownPlacement'] | undefined> = input<DropDownButtonElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<DropDownButtonElement['dropDownStrategy'] | undefined> = input<DropDownButtonElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<DropDownButtonElement['dropDownDistance'] | undefined> = input<DropDownButtonElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<DropDownButtonElement['dropDownSkidding'] | undefined> = input<DropDownButtonElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<DropDownButtonElement['dropDownStaysOpen'] | undefined> = input<DropDownButtonElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<DropDownButtonElement['dropDownMaxHeight'] | undefined> = input<DropDownButtonElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<DropDownButtonElement['dropDownHeight'] | undefined> = input<DropDownButtonElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<DropDownButtonElement['dropDownWidth'] | undefined> = input<DropDownButtonElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<DropDownButtonElement['dropDownMaxWidth'] | undefined> = input<DropDownButtonElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<DropDownButtonElement['isDropDownOpen'] | undefined> = input<DropDownButtonElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<DropDownButtonElement['isBusy'] | undefined> = input<DropDownButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<DropDownButtonElement['label'] | undefined> = input<DropDownButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<DropDownButtonElement['icon'] | undefined> = input<DropDownButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<DropDownButtonElement['iconPosition'] | undefined> = input<DropDownButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<DropDownButtonElement['iconSize'] | undefined> = input<DropDownButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<DropDownButtonElement['type'] | undefined> = input<DropDownButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<DropDownButtonElement['ripple'] | undefined> = input<DropDownButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DropDownButtonElement['variant'] | undefined> = input<DropDownButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DropDownButtonElement['appearance'] | undefined> = input<DropDownButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<DropDownButtonElement['size'] | undefined> = input<DropDownButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<DropDownButtonElement['value'] | undefined> = input<DropDownButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DropDownButtonElement['disabled'] | undefined> = input<DropDownButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<DropDownButtonElement['isFocused'] | undefined> = input<DropDownButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DropDownButtonElement['dir'] | undefined> = input<DropDownButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DropDownButtonElement['lang'] | undefined> = input<DropDownButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const caretVisibleValue = this.caretVisible();\n                if (caretVisibleValue !== undefined) {\n                    (this._element as any).caretVisible = caretVisibleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DropDownButtonMethodNames>(method: TMethod, ...args: Parameters<DropDownButtonComponentMethods[TMethod]>): ReturnType<DropDownButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DropDownButtonElement>(property: TProperty, value: DropDownButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DropDownButtonComponent.\n */\nexport type DropDownButtonMethodNames = 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DropDownButtonComponent.\n */\nexport type DropDownButtonComponentMethods = MethodMap<DropDownButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideDropDownButtonComponent(config: Partial<DropDownButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DROP_DOWN_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { DurationBoxElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the DurationBoxComponent.\n * Use this token to provide default properties for the DurationBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const DURATION_BOX_DEFAULT_PROPS = new InjectionToken<Partial<DurationBoxElement.Props>>('MOSAIK_DURATION_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input segments.\n * @slot suffix - Content placed after the input segments.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-durationbox', DurationBoxElement),\n    inputs: ['hours', 'minutes', 'seconds', 'readonly', 'required', 'autofocus', 'name', 'placeholder', 'themeName', 'isClearable', 'appearance', 'invalid', 'value', 'variant', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-durationbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class DurationBoxComponent {\n    // #region Fields\n\n    private readonly _element: DurationBoxElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('focus', (e) => this.focus.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('blur', (e) => this.blur.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(DURATION_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hours` property.\n     *\n     * @public\n     */\n    public readonly hours: InputSignal<DurationBoxElement['hours'] | undefined> = input<DurationBoxElement['hours']>();\n\n    /**\n     * Signal input for the `minutes` property.\n     *\n     * @public\n     */\n    public readonly minutes: InputSignal<DurationBoxElement['minutes'] | undefined> = input<DurationBoxElement['minutes']>();\n\n    /**\n     * Signal input for the `seconds` property.\n     *\n     * @public\n     */\n    public readonly seconds: InputSignal<DurationBoxElement['seconds'] | undefined> = input<DurationBoxElement['seconds']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<DurationBoxElement['readonly'] | undefined> = input<DurationBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<DurationBoxElement['required'] | undefined> = input<DurationBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<DurationBoxElement['autofocus'] | undefined> = input<DurationBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<DurationBoxElement['name'] | undefined> = input<DurationBoxElement['name']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<DurationBoxElement['placeholder'] | undefined> = input<DurationBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<DurationBoxElement['themeName'] | undefined> = input<DurationBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<DurationBoxElement['isClearable'] | undefined> = input<DurationBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<DurationBoxElement['appearance'] | undefined> = input<DurationBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<DurationBoxElement['invalid'] | undefined> = input<DurationBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<DurationBoxElement['value'] | undefined> = input<DurationBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<DurationBoxElement['variant'] | undefined> = input<DurationBoxElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<DurationBoxElement['label'] | undefined> = input<DurationBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<DurationBoxElement['disabled'] | undefined> = input<DurationBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<DurationBoxElement['state'] | undefined> = input<DurationBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<DurationBoxElement['formatter'] | undefined> = input<DurationBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<DurationBoxElement['parser'] | undefined> = input<DurationBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<DurationBoxElement['isFocused'] | undefined> = input<DurationBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<DurationBoxElement['dir'] | undefined> = input<DurationBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<DurationBoxElement['lang'] | undefined> = input<DurationBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hoursValue = this.hours();\n                if (hoursValue !== undefined) {\n                    (this._element as any).hours = hoursValue;\n                }\n\n                const minutesValue = this.minutes();\n                if (minutesValue !== undefined) {\n                    (this._element as any).minutes = minutesValue;\n                }\n\n                const secondsValue = this.seconds();\n                if (secondsValue !== undefined) {\n                    (this._element as any).seconds = secondsValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `focus` event.\n     *\n     * @public\n     */\n    public readonly focus: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `blur` event.\n     *\n     * @public\n     */\n    public readonly blur: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends DurationBoxMethodNames>(method: TMethod, ...args: Parameters<DurationBoxComponentMethods[TMethod]>): ReturnType<DurationBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof DurationBoxElement>(property: TProperty, value: DurationBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on DurationBoxComponent.\n */\nexport type DurationBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for DurationBoxComponent.\n */\nexport type DurationBoxComponentMethods = MethodMap<DurationBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideDurationBoxComponent(config: Partial<DurationBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: DURATION_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ElevationElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ElevationComponent.\n * Use this token to provide default properties for the ElevationComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ELEVATION_DEFAULT_PROPS = new InjectionToken<Partial<ElevationElement.Props>>('MOSAIK_ELEVATION_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-elevation', ElevationElement),\n    inputs: ['weigh', 'themeName', 'disabled', 'for', 'control', 'dir', 'lang'],\n    methods: ['attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-elevation',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ElevationComponent {\n    // #region Fields\n\n    private readonly _element: ElevationElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ELEVATION_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `weigh` property.\n     *\n     * @public\n     */\n    public readonly weigh: InputSignal<ElevationElement['weigh'] | undefined> = input<ElevationElement['weigh']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ElevationElement['themeName'] | undefined> = input<ElevationElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ElevationElement['disabled'] | undefined> = input<ElevationElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<ElevationElement['for'] | undefined> = input<ElevationElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<ElevationElement['control'] | undefined> = input<ElevationElement['control']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ElevationElement['dir'] | undefined> = input<ElevationElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ElevationElement['lang'] | undefined> = input<ElevationElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const weighValue = this.weigh();\n                if (weighValue !== undefined) {\n                    (this._element as any).weigh = weighValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ElevationMethodNames>(method: TMethod, ...args: Parameters<ElevationComponentMethods[TMethod]>): ReturnType<ElevationComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ElevationElement>(property: TProperty, value: ElevationElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ElevationComponent.\n */\nexport type ElevationMethodNames = 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ElevationComponent.\n */\nexport type ElevationComponentMethods = MethodMap<ElevationMethodNames>;\n\n/**\n * @public\n */\nexport function provideElevationComponent(config: Partial<ElevationElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ELEVATION_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { EmojiElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the EmojiComponent.\n * Use this token to provide default properties for the EmojiComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EMOJI_DEFAULT_PROPS = new InjectionToken<Partial<EmojiElement.Props>>('MOSAIK_EMOJI_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-emoji', EmojiElement),\n    inputs: ['emoji', 'unicode', 'themeName', 'size', 'dir', 'lang'],\n    methods: ['toEmoji', 'toUnicode', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-emoji',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class EmojiComponent {\n    // #region Fields\n\n    private readonly _element: EmojiElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EMOJI_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `emoji` property.\n     *\n     * @public\n     */\n    public readonly emoji: InputSignal<EmojiElement['emoji'] | undefined> = input<EmojiElement['emoji']>();\n\n    /**\n     * Signal input for the `unicode` property.\n     *\n     * @public\n     */\n    public readonly unicode: InputSignal<EmojiElement['unicode'] | undefined> = input<EmojiElement['unicode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<EmojiElement['themeName'] | undefined> = input<EmojiElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<EmojiElement['size'] | undefined> = input<EmojiElement['size']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<EmojiElement['dir'] | undefined> = input<EmojiElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<EmojiElement['lang'] | undefined> = input<EmojiElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const emojiValue = this.emoji();\n                if (emojiValue !== undefined) {\n                    (this._element as any).emoji = emojiValue;\n                }\n\n                const unicodeValue = this.unicode();\n                if (unicodeValue !== undefined) {\n                    (this._element as any).unicode = unicodeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends EmojiMethodNames>(method: TMethod, ...args: Parameters<EmojiComponentMethods[TMethod]>): ReturnType<EmojiComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof EmojiElement>(property: TProperty, value: EmojiElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on EmojiComponent.\n */\nexport type EmojiMethodNames = 'toEmoji' | 'toUnicode' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for EmojiComponent.\n */\nexport type EmojiComponentMethods = MethodMap<EmojiMethodNames>;\n\n/**\n * @public\n */\nexport function provideEmojiComponent(config: Partial<EmojiElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EMOJI_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { EmptyStateElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the EmptyStateComponent.\n * Use this token to provide default properties for the EmptyStateComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EMPTY_STATE_DEFAULT_PROPS = new InjectionToken<Partial<EmptyStateElement.Props>>('MOSAIK_EMPTY_STATE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for additional empty state information or custom elements\n * @slot actions - Action buttons or links for user guidance and next steps\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-empty-state', EmptyStateElement),\n    inputs: ['icon', 'header', 'themeName', 'content', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-empty-state',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class EmptyStateComponent {\n    // #region Fields\n\n    private readonly _element: EmptyStateElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EMPTY_STATE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<EmptyStateElement['icon'] | undefined> = input<EmptyStateElement['icon']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<EmptyStateElement['header'] | undefined> = input<EmptyStateElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<EmptyStateElement['themeName'] | undefined> = input<EmptyStateElement['themeName']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<EmptyStateElement['content'] | undefined> = input<EmptyStateElement['content']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<EmptyStateElement['formatter'] | undefined> = input<EmptyStateElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<EmptyStateElement['dir'] | undefined> = input<EmptyStateElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<EmptyStateElement['lang'] | undefined> = input<EmptyStateElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends EmptyStateMethodNames>(method: TMethod, ...args: Parameters<EmptyStateComponentMethods[TMethod]>): ReturnType<EmptyStateComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof EmptyStateElement>(property: TProperty, value: EmptyStateElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on EmptyStateComponent.\n */\nexport type EmptyStateMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for EmptyStateComponent.\n */\nexport type EmptyStateComponentMethods = MethodMap<EmptyStateMethodNames>;\n\n/**\n * @public\n */\nexport function provideEmptyStateComponent(config: Partial<EmptyStateElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EMPTY_STATE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { EpgChannelElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the EpgChannelComponent.\n * Use this token to provide default properties for the EpgChannelComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EPG_CHANNEL_DEFAULT_PROPS = new InjectionToken<Partial<EpgChannelElement.Props>>('MOSAIK_EPG_CHANNEL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for channel program items\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-epg-channel', EpgChannelElement),\n    inputs: ['displayText', 'locale', 'value', 'variant', 'appearance', 'disabled', 'label', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-epg-channel',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class EpgChannelComponent {\n    // #region Fields\n\n    private readonly _element: EpgChannelElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EPG_CHANNEL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<EpgChannelElement['displayText'] | undefined> = input<EpgChannelElement['displayText']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<EpgChannelElement['locale'] | undefined> = input<EpgChannelElement['locale']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<EpgChannelElement['value'] | undefined> = input<EpgChannelElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<EpgChannelElement['variant'] | undefined> = input<EpgChannelElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<EpgChannelElement['appearance'] | undefined> = input<EpgChannelElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<EpgChannelElement['disabled'] | undefined> = input<EpgChannelElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<EpgChannelElement['label'] | undefined> = input<EpgChannelElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<EpgChannelElement['dir'] | undefined> = input<EpgChannelElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<EpgChannelElement['lang'] | undefined> = input<EpgChannelElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends EpgChannelMethodNames>(method: TMethod, ...args: Parameters<EpgChannelComponentMethods[TMethod]>): ReturnType<EpgChannelComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof EpgChannelElement>(property: TProperty, value: EpgChannelElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on EpgChannelComponent.\n */\nexport type EpgChannelMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for EpgChannelComponent.\n */\nexport type EpgChannelComponentMethods = MethodMap<EpgChannelMethodNames>;\n\n/**\n * @public\n */\nexport function provideEpgChannelComponent(config: Partial<EpgChannelElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EPG_CHANNEL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { EpgProgramElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the EpgProgramComponent.\n * Use this token to provide default properties for the EpgProgramComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EPG_PROGRAM_DEFAULT_PROPS = new InjectionToken<Partial<EpgProgramElement.Props>>('MOSAIK_EPG_PROGRAM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for program title text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-epg-program', EpgProgramElement),\n    inputs: ['root', 'displayText', 'header', 'lane', 'isFiltered', 'locale', 'start', 'end', 'variant', 'appearance', 'disabled', 'isFocused', 'value', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-epg-program',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class EpgProgramComponent {\n    // #region Fields\n\n    private readonly _element: EpgProgramElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('select', (e) => this.select.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EPG_PROGRAM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `root` property.\n     *\n     * @public\n     */\n    public readonly root: InputSignal<EpgProgramElement['root'] | undefined> = input<EpgProgramElement['root']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<EpgProgramElement['displayText'] | undefined> = input<EpgProgramElement['displayText']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<EpgProgramElement['header'] | undefined> = input<EpgProgramElement['header']>();\n\n    /**\n     * Signal input for the `lane` property.\n     *\n     * @public\n     */\n    public readonly lane: InputSignal<EpgProgramElement['lane'] | undefined> = input<EpgProgramElement['lane']>();\n\n    /**\n     * Signal input for the `isFiltered` property.\n     *\n     * @public\n     */\n    public readonly isFiltered: InputSignal<EpgProgramElement['isFiltered'] | undefined> = input<EpgProgramElement['isFiltered']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<EpgProgramElement['locale'] | undefined> = input<EpgProgramElement['locale']>();\n\n    /**\n     * Signal input for the `start` property.\n     *\n     * @public\n     */\n    public readonly start: InputSignal<EpgProgramElement['start'] | undefined> = input<EpgProgramElement['start']>();\n\n    /**\n     * Signal input for the `end` property.\n     *\n     * @public\n     */\n    public readonly end: InputSignal<EpgProgramElement['end'] | undefined> = input<EpgProgramElement['end']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<EpgProgramElement['variant'] | undefined> = input<EpgProgramElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<EpgProgramElement['appearance'] | undefined> = input<EpgProgramElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<EpgProgramElement['disabled'] | undefined> = input<EpgProgramElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<EpgProgramElement['isFocused'] | undefined> = input<EpgProgramElement['isFocused']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<EpgProgramElement['value'] | undefined> = input<EpgProgramElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<EpgProgramElement['dir'] | undefined> = input<EpgProgramElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<EpgProgramElement['lang'] | undefined> = input<EpgProgramElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const laneValue = this.lane();\n                if (laneValue !== undefined) {\n                    (this._element as any).lane = laneValue;\n                }\n\n                const isFilteredValue = this.isFiltered();\n                if (isFilteredValue !== undefined) {\n                    (this._element as any).isFiltered = isFilteredValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const startValue = this.start();\n                if (startValue !== undefined) {\n                    (this._element as any).start = startValue;\n                }\n\n                const endValue = this.end();\n                if (endValue !== undefined) {\n                    (this._element as any).end = endValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `select` event.\n     *\n     * @public\n     */\n    public readonly select: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends EpgProgramMethodNames>(method: TMethod, ...args: Parameters<EpgProgramComponentMethods[TMethod]>): ReturnType<EpgProgramComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof EpgProgramElement>(property: TProperty, value: EpgProgramElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on EpgProgramComponent.\n */\nexport type EpgProgramMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for EpgProgramComponent.\n */\nexport type EpgProgramComponentMethods = MethodMap<EpgProgramMethodNames>;\n\n/**\n * @public\n */\nexport function provideEpgProgramComponent(config: Partial<EpgProgramElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EPG_PROGRAM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { EpgElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the EpgComponent.\n * Use this token to provide default properties for the EpgComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EPG_DEFAULT_PROPS = new InjectionToken<Partial<EpgElement.Props>>('MOSAIK_EPG_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot channels - `mosaik-epg-channel` elements for each broadcast channel row\n * @slot toolbar - The toolbar slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-epg', EpgElement),\n    inputs: ['visibleStart', 'visibleEnd', 'isNow', 'totalWidth', 'items', 'zoom', 'showNowLine', 'showMinimap', 'timelineFormat', 'showFilter', 'filterMemberPath', 'filter', 'filterPlaceholder', 'start', 'end', 'locale', 'appearance', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['zoomIn', 'zoomOut', 'nextDate', 'previousDate', 'onScroll', 'updateNowButtonVisibility', 'scrollToNow', 'onMinimapJump', 'dragStart', 'touchStart', 'onSlotChange', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-epg',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class EpgComponent {\n    // #region Fields\n\n    private readonly _element: EpgElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EPG_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `visibleStart` property.\n     *\n     * @public\n     */\n    public readonly visibleStart: InputSignal<EpgElement['visibleStart'] | undefined> = input<EpgElement['visibleStart']>();\n\n    /**\n     * Signal input for the `visibleEnd` property.\n     *\n     * @public\n     */\n    public readonly visibleEnd: InputSignal<EpgElement['visibleEnd'] | undefined> = input<EpgElement['visibleEnd']>();\n\n    /**\n     * Signal input for the `isNow` property.\n     *\n     * @public\n     */\n    public readonly isNow: InputSignal<EpgElement['isNow'] | undefined> = input<EpgElement['isNow']>();\n\n    /**\n     * Signal input for the `totalWidth` property.\n     *\n     * @public\n     */\n    public readonly totalWidth: InputSignal<EpgElement['totalWidth'] | undefined> = input<EpgElement['totalWidth']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<EpgElement['items'] | undefined> = input<EpgElement['items']>();\n\n    /**\n     * Signal input for the `zoom` property.\n     *\n     * @public\n     */\n    public readonly zoom: InputSignal<EpgElement['zoom'] | undefined> = input<EpgElement['zoom']>();\n\n    /**\n     * Signal input for the `showNowLine` property.\n     *\n     * @public\n     */\n    public readonly showNowLine: InputSignal<EpgElement['showNowLine'] | undefined> = input<EpgElement['showNowLine']>();\n\n    /**\n     * Signal input for the `showMinimap` property.\n     *\n     * @public\n     */\n    public readonly showMinimap: InputSignal<EpgElement['showMinimap'] | undefined> = input<EpgElement['showMinimap']>();\n\n    /**\n     * Signal input for the `timelineFormat` property.\n     *\n     * @public\n     */\n    public readonly timelineFormat: InputSignal<EpgElement['timelineFormat'] | undefined> = input<EpgElement['timelineFormat']>();\n\n    /**\n     * Signal input for the `showFilter` property.\n     *\n     * @public\n     */\n    public readonly showFilter: InputSignal<EpgElement['showFilter'] | undefined> = input<EpgElement['showFilter']>();\n\n    /**\n     * Signal input for the `filterMemberPath` property.\n     *\n     * @public\n     */\n    public readonly filterMemberPath: InputSignal<EpgElement['filterMemberPath'] | undefined> = input<EpgElement['filterMemberPath']>();\n\n    /**\n     * Signal input for the `filter` property.\n     *\n     * @public\n     */\n    public readonly filter: InputSignal<EpgElement['filter'] | undefined> = input<EpgElement['filter']>();\n\n    /**\n     * Signal input for the `filterPlaceholder` property.\n     *\n     * @public\n     */\n    public readonly filterPlaceholder: InputSignal<EpgElement['filterPlaceholder'] | undefined> = input<EpgElement['filterPlaceholder']>();\n\n    /**\n     * Signal input for the `start` property.\n     *\n     * @public\n     */\n    public readonly start: InputSignal<EpgElement['start'] | undefined> = input<EpgElement['start']>();\n\n    /**\n     * Signal input for the `end` property.\n     *\n     * @public\n     */\n    public readonly end: InputSignal<EpgElement['end'] | undefined> = input<EpgElement['end']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<EpgElement['locale'] | undefined> = input<EpgElement['locale']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<EpgElement['appearance'] | undefined> = input<EpgElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<EpgElement['variant'] | undefined> = input<EpgElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<EpgElement['disabled'] | undefined> = input<EpgElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<EpgElement['dir'] | undefined> = input<EpgElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<EpgElement['lang'] | undefined> = input<EpgElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const zoomValue = this.zoom();\n                if (zoomValue !== undefined) {\n                    (this._element as any).zoom = zoomValue;\n                }\n\n                const showNowLineValue = this.showNowLine();\n                if (showNowLineValue !== undefined) {\n                    (this._element as any).showNowLine = showNowLineValue;\n                }\n\n                const showMinimapValue = this.showMinimap();\n                if (showMinimapValue !== undefined) {\n                    (this._element as any).showMinimap = showMinimapValue;\n                }\n\n                const timelineFormatValue = this.timelineFormat();\n                if (timelineFormatValue !== undefined) {\n                    (this._element as any).timelineFormat = timelineFormatValue;\n                }\n\n                const showFilterValue = this.showFilter();\n                if (showFilterValue !== undefined) {\n                    (this._element as any).showFilter = showFilterValue;\n                }\n\n                const filterMemberPathValue = this.filterMemberPath();\n                if (filterMemberPathValue !== undefined) {\n                    (this._element as any).filterMemberPath = filterMemberPathValue;\n                }\n\n                const filterValue = this.filter();\n                if (filterValue !== undefined) {\n                    (this._element as any).filter = filterValue;\n                }\n\n                const filterPlaceholderValue = this.filterPlaceholder();\n                if (filterPlaceholderValue !== undefined) {\n                    (this._element as any).filterPlaceholder = filterPlaceholderValue;\n                }\n\n                const startValue = this.start();\n                if (startValue !== undefined) {\n                    (this._element as any).start = startValue;\n                }\n\n                const endValue = this.end();\n                if (endValue !== undefined) {\n                    (this._element as any).end = endValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends EpgMethodNames>(method: TMethod, ...args: Parameters<EpgComponentMethods[TMethod]>): ReturnType<EpgComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof EpgElement>(property: TProperty, value: EpgElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on EpgComponent.\n */\nexport type EpgMethodNames = 'zoomIn' | 'zoomOut' | 'nextDate' | 'previousDate' | 'onScroll' | 'updateNowButtonVisibility' | 'scrollToNow' | 'onMinimapJump' | 'dragStart' | 'touchStart' | 'onSlotChange' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for EpgComponent.\n */\nexport type EpgComponentMethods = MethodMap<EpgMethodNames>;\n\n/**\n * @public\n */\nexport function provideEpgComponent(config: Partial<EpgElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EPG_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ErrorStateElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ErrorStateComponent.\n * Use this token to provide default properties for the ErrorStateComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ERROR_STATE_DEFAULT_PROPS = new InjectionToken<Partial<ErrorStateElement.Props>>('MOSAIK_ERROR_STATE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for additional error information or custom content\n * @slot actions - Action buttons for error recovery (retry, refresh, contact support, go back, etc.)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-error-state', ErrorStateElement),\n    inputs: ['icon', 'header', 'code', 'themeName', 'content', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-error-state',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ErrorStateComponent {\n    // #region Fields\n\n    private readonly _element: ErrorStateElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ERROR_STATE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ErrorStateElement['icon'] | undefined> = input<ErrorStateElement['icon']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ErrorStateElement['header'] | undefined> = input<ErrorStateElement['header']>();\n\n    /**\n     * Signal input for the `code` property.\n     *\n     * @public\n     */\n    public readonly code: InputSignal<ErrorStateElement['code'] | undefined> = input<ErrorStateElement['code']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ErrorStateElement['themeName'] | undefined> = input<ErrorStateElement['themeName']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<ErrorStateElement['content'] | undefined> = input<ErrorStateElement['content']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ErrorStateElement['formatter'] | undefined> = input<ErrorStateElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ErrorStateElement['dir'] | undefined> = input<ErrorStateElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ErrorStateElement['lang'] | undefined> = input<ErrorStateElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const codeValue = this.code();\n                if (codeValue !== undefined) {\n                    (this._element as any).code = codeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ErrorStateMethodNames>(method: TMethod, ...args: Parameters<ErrorStateComponentMethods[TMethod]>): ReturnType<ErrorStateComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ErrorStateElement>(property: TProperty, value: ErrorStateElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ErrorStateComponent.\n */\nexport type ErrorStateMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ErrorStateComponent.\n */\nexport type ErrorStateComponentMethods = MethodMap<ErrorStateMethodNames>;\n\n/**\n * @public\n */\nexport function provideErrorStateComponent(config: Partial<ErrorStateElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ERROR_STATE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ErrorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ErrorComponent.\n * Use this token to provide default properties for the ErrorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ERROR_DEFAULT_PROPS = new InjectionToken<Partial<ErrorElement.Props>>('MOSAIK_ERROR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - Optional icon to display before the error text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-error', ErrorElement),\n    inputs: ['text', 'textOverflow', 'themeName', 'animationTarget', 'enter', 'exit', 'dir', 'lang'],\n    methods: ['onEnterAnimation', 'onExitAnimation', 'play', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-error',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ErrorComponent {\n    // #region Fields\n\n    private readonly _element: ErrorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ERROR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ErrorElement['text'] | undefined> = input<ErrorElement['text']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<ErrorElement['textOverflow'] | undefined> = input<ErrorElement['textOverflow']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ErrorElement['themeName'] | undefined> = input<ErrorElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<ErrorElement['animationTarget'] | undefined> = input<ErrorElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<ErrorElement['enter'] | undefined> = input<ErrorElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<ErrorElement['exit'] | undefined> = input<ErrorElement['exit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ErrorElement['dir'] | undefined> = input<ErrorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ErrorElement['lang'] | undefined> = input<ErrorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ErrorMethodNames>(method: TMethod, ...args: Parameters<ErrorComponentMethods[TMethod]>): ReturnType<ErrorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ErrorElement>(property: TProperty, value: ErrorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ErrorComponent.\n */\nexport type ErrorMethodNames = 'onEnterAnimation' | 'onExitAnimation' | 'play' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ErrorComponent.\n */\nexport type ErrorComponentMethods = MethodMap<ErrorMethodNames>;\n\n/**\n * @public\n */\nexport function provideErrorComponent(config: Partial<ErrorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ERROR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ExpandableElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ExpandableComponent.\n * Use this token to provide default properties for the ExpandableComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EXPANDABLE_DEFAULT_PROPS = new InjectionToken<Partial<ExpandableElement.Props>>('MOSAIK_EXPANDABLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-expandable', ExpandableElement),\n    inputs: ['direction', 'themeName', 'isExpanded', 'animationTarget', 'enter', 'exit', 'disabled', 'dir', 'lang'],\n    methods: ['onIsExpandedChanged', 'expand', 'collapse', 'toggle', 'play', 'onEnterAnimation', 'onExitAnimation', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-expandable',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ExpandableComponent {\n    // #region Fields\n\n    private readonly _element: ExpandableElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('expanded', (e) => this.expanded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('collapsed', (e) => this.collapsed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EXPANDABLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `direction` property.\n     *\n     * @public\n     */\n    public readonly direction: InputSignal<ExpandableElement['direction'] | undefined> = input<ExpandableElement['direction']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ExpandableElement['themeName'] | undefined> = input<ExpandableElement['themeName']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<ExpandableElement['isExpanded'] | undefined> = input<ExpandableElement['isExpanded']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<ExpandableElement['animationTarget'] | undefined> = input<ExpandableElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<ExpandableElement['enter'] | undefined> = input<ExpandableElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<ExpandableElement['exit'] | undefined> = input<ExpandableElement['exit']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ExpandableElement['disabled'] | undefined> = input<ExpandableElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ExpandableElement['dir'] | undefined> = input<ExpandableElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ExpandableElement['lang'] | undefined> = input<ExpandableElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const directionValue = this.direction();\n                if (directionValue !== undefined) {\n                    (this._element as any).direction = directionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `expanded` event.\n     *\n     * @public\n     */\n    public readonly expanded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `collapsed` event.\n     *\n     * @public\n     */\n    public readonly collapsed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ExpandableMethodNames>(method: TMethod, ...args: Parameters<ExpandableComponentMethods[TMethod]>): ReturnType<ExpandableComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ExpandableElement>(property: TProperty, value: ExpandableElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ExpandableComponent.\n */\nexport type ExpandableMethodNames = 'onIsExpandedChanged' | 'expand' | 'collapse' | 'toggle' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ExpandableComponent.\n */\nexport type ExpandableComponentMethods = MethodMap<ExpandableMethodNames>;\n\n/**\n * @public\n */\nexport function provideExpandableComponent(config: Partial<ExpandableElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EXPANDABLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ExpanderGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ExpanderGroupComponent.\n * Use this token to provide default properties for the ExpanderGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EXPANDER_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ExpanderGroupElement.Props>>('MOSAIK_EXPANDER_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing expander items.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-expander-group', ExpanderGroupElement),\n    inputs: ['mode', 'direction', 'stacking', 'themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['collapse', 'expand', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-expander-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ExpanderGroupComponent {\n    // #region Fields\n\n    private readonly _element: ExpanderGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EXPANDER_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<ExpanderGroupElement['mode'] | undefined> = input<ExpanderGroupElement['mode']>();\n\n    /**\n     * Signal input for the `direction` property.\n     *\n     * @public\n     */\n    public readonly direction: InputSignal<ExpanderGroupElement['direction'] | undefined> = input<ExpanderGroupElement['direction']>();\n\n    /**\n     * Signal input for the `stacking` property.\n     *\n     * @public\n     */\n    public readonly stacking: InputSignal<ExpanderGroupElement['stacking'] | undefined> = input<ExpanderGroupElement['stacking']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ExpanderGroupElement['themeName'] | undefined> = input<ExpanderGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ExpanderGroupElement['disabled'] | undefined> = input<ExpanderGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ExpanderGroupElement['variant'] | undefined> = input<ExpanderGroupElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ExpanderGroupElement['appearance'] | undefined> = input<ExpanderGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ExpanderGroupElement['dir'] | undefined> = input<ExpanderGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ExpanderGroupElement['lang'] | undefined> = input<ExpanderGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const directionValue = this.direction();\n                if (directionValue !== undefined) {\n                    (this._element as any).direction = directionValue;\n                }\n\n                const stackingValue = this.stacking();\n                if (stackingValue !== undefined) {\n                    (this._element as any).stacking = stackingValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ExpanderGroupMethodNames>(method: TMethod, ...args: Parameters<ExpanderGroupComponentMethods[TMethod]>): ReturnType<ExpanderGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ExpanderGroupElement>(property: TProperty, value: ExpanderGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ExpanderGroupComponent.\n */\nexport type ExpanderGroupMethodNames = 'collapse' | 'expand' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ExpanderGroupComponent.\n */\nexport type ExpanderGroupComponentMethods = MethodMap<ExpanderGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideExpanderGroupComponent(config: Partial<ExpanderGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EXPANDER_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ExpanderHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ExpanderHeaderComponent.\n * Use this token to provide default properties for the ExpanderHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EXPANDER_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<ExpanderHeaderElement.Props>>('MOSAIK_EXPANDER_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot text - The slot for placing header content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-expander-header', ExpanderHeaderElement),\n    inputs: ['text', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-expander-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ExpanderHeaderComponent {\n    // #region Fields\n\n    private readonly _element: ExpanderHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EXPANDER_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ExpanderHeaderElement['text'] | undefined> = input<ExpanderHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ExpanderHeaderElement['themeName'] | undefined> = input<ExpanderHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ExpanderHeaderElement['dir'] | undefined> = input<ExpanderHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ExpanderHeaderElement['lang'] | undefined> = input<ExpanderHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ExpanderHeaderMethodNames>(method: TMethod, ...args: Parameters<ExpanderHeaderComponentMethods[TMethod]>): ReturnType<ExpanderHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ExpanderHeaderElement>(property: TProperty, value: ExpanderHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ExpanderHeaderComponent.\n */\nexport type ExpanderHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ExpanderHeaderComponent.\n */\nexport type ExpanderHeaderComponentMethods = MethodMap<ExpanderHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideExpanderHeaderComponent(config: Partial<ExpanderHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EXPANDER_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ExpanderSubHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ExpanderSubHeaderComponent.\n * Use this token to provide default properties for the ExpanderSubHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EXPANDER_SUB_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<ExpanderSubHeaderElement.Props>>('MOSAIK_EXPANDER_SUB_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot text - The slot for placing sub-header content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-expander-sub-header', ExpanderSubHeaderElement),\n    inputs: ['text', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-expander-sub-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ExpanderSubHeaderComponent {\n    // #region Fields\n\n    private readonly _element: ExpanderSubHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EXPANDER_SUB_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<ExpanderSubHeaderElement['text'] | undefined> = input<ExpanderSubHeaderElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ExpanderSubHeaderElement['themeName'] | undefined> = input<ExpanderSubHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ExpanderSubHeaderElement['dir'] | undefined> = input<ExpanderSubHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ExpanderSubHeaderElement['lang'] | undefined> = input<ExpanderSubHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ExpanderSubHeaderMethodNames>(method: TMethod, ...args: Parameters<ExpanderSubHeaderComponentMethods[TMethod]>): ReturnType<ExpanderSubHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ExpanderSubHeaderElement>(property: TProperty, value: ExpanderSubHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ExpanderSubHeaderComponent.\n */\nexport type ExpanderSubHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ExpanderSubHeaderComponent.\n */\nexport type ExpanderSubHeaderComponentMethods = MethodMap<ExpanderSubHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideExpanderSubHeaderComponent(config: Partial<ExpanderSubHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EXPANDER_SUB_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ExpanderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ExpanderComponent.\n * Use this token to provide default properties for the ExpanderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const EXPANDER_DEFAULT_PROPS = new InjectionToken<Partial<ExpanderElement.Props>>('MOSAIK_EXPANDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing main content inside the expander.\n * @slot header - The header slot.\n * @slot actions - The slot for placing action elements in the expander header.\n * @slot icon - The slot for placing an icon in the expander.\n * @slot subHeader - The slot for placing sub-header content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-expander', ExpanderElement),\n    inputs: ['header', 'subHeader', 'icon', 'caretPosition', 'direction', 'isExpanded', 'themeName', 'ripple', 'disabled', 'animationTarget', 'enter', 'exit', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['toggle', 'expand', 'collapse', 'play', 'onEnterAnimation', 'onExitAnimation', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-expander',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ExpanderComponent {\n    // #region Fields\n\n    private readonly _element: ExpanderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('expanded', (e) => this.expanded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('collapsed', (e) => this.collapsed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(EXPANDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ExpanderElement['header'] | undefined> = input<ExpanderElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<ExpanderElement['subHeader'] | undefined> = input<ExpanderElement['subHeader']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ExpanderElement['icon'] | undefined> = input<ExpanderElement['icon']>();\n\n    /**\n     * Signal input for the `caretPosition` property.\n     *\n     * @public\n     */\n    public readonly caretPosition: InputSignal<ExpanderElement['caretPosition'] | undefined> = input<ExpanderElement['caretPosition']>();\n\n    /**\n     * Signal input for the `direction` property.\n     *\n     * @public\n     */\n    public readonly direction: InputSignal<ExpanderElement['direction'] | undefined> = input<ExpanderElement['direction']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<ExpanderElement['isExpanded'] | undefined> = input<ExpanderElement['isExpanded']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ExpanderElement['themeName'] | undefined> = input<ExpanderElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ExpanderElement['ripple'] | undefined> = input<ExpanderElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ExpanderElement['disabled'] | undefined> = input<ExpanderElement['disabled']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<ExpanderElement['animationTarget'] | undefined> = input<ExpanderElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<ExpanderElement['enter'] | undefined> = input<ExpanderElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<ExpanderElement['exit'] | undefined> = input<ExpanderElement['exit']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ExpanderElement['variant'] | undefined> = input<ExpanderElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ExpanderElement['appearance'] | undefined> = input<ExpanderElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ExpanderElement['dir'] | undefined> = input<ExpanderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ExpanderElement['lang'] | undefined> = input<ExpanderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const caretPositionValue = this.caretPosition();\n                if (caretPositionValue !== undefined) {\n                    (this._element as any).caretPosition = caretPositionValue;\n                }\n\n                const directionValue = this.direction();\n                if (directionValue !== undefined) {\n                    (this._element as any).direction = directionValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `expanded` event.\n     *\n     * @public\n     */\n    public readonly expanded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `collapsed` event.\n     *\n     * @public\n     */\n    public readonly collapsed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ExpanderMethodNames>(method: TMethod, ...args: Parameters<ExpanderComponentMethods[TMethod]>): ReturnType<ExpanderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ExpanderElement>(property: TProperty, value: ExpanderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ExpanderComponent.\n */\nexport type ExpanderMethodNames = 'toggle' | 'expand' | 'collapse' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ExpanderComponent.\n */\nexport type ExpanderComponentMethods = MethodMap<ExpanderMethodNames>;\n\n/**\n * @public\n */\nexport function provideExpanderComponent(config: Partial<ExpanderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: EXPANDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FloatingActionButtonGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FloatingActionButtonGroupComponent.\n * Use this token to provide default properties for the FloatingActionButtonGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOATING_ACTION_BUTTON_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<FloatingActionButtonGroupElement.Props>>('MOSAIK_FLOATING_ACTION_BUTTON_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for FABs.\n * @slot overlay - The overlay slot (useful for badges or additional visual elements).\n * @slot trigger - The trigger slot for initiating the FAB group.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-fab-group', FloatingActionButtonGroupElement),\n    inputs: ['isOpen', 'direction', 'themeName', 'closeable', 'disabled', 'appearance', 'variant', 'label', 'icon', 'iconPosition', 'iconSize', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'open', 'close', 'toggle', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-fab-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FloatingActionButtonGroupComponent {\n    // #region Fields\n\n    private readonly _element: FloatingActionButtonGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOATING_ACTION_BUTTON_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<FloatingActionButtonGroupElement['isOpen'] | undefined> = input<FloatingActionButtonGroupElement['isOpen']>();\n\n    /**\n     * Signal input for the `direction` property.\n     *\n     * @public\n     */\n    public readonly direction: InputSignal<FloatingActionButtonGroupElement['direction'] | undefined> = input<FloatingActionButtonGroupElement['direction']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FloatingActionButtonGroupElement['themeName'] | undefined> = input<FloatingActionButtonGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<FloatingActionButtonGroupElement['closeable'] | undefined> = input<FloatingActionButtonGroupElement['closeable']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FloatingActionButtonGroupElement['disabled'] | undefined> = input<FloatingActionButtonGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<FloatingActionButtonGroupElement['appearance'] | undefined> = input<FloatingActionButtonGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<FloatingActionButtonGroupElement['variant'] | undefined> = input<FloatingActionButtonGroupElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<FloatingActionButtonGroupElement['label'] | undefined> = input<FloatingActionButtonGroupElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<FloatingActionButtonGroupElement['icon'] | undefined> = input<FloatingActionButtonGroupElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<FloatingActionButtonGroupElement['iconPosition'] | undefined> = input<FloatingActionButtonGroupElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<FloatingActionButtonGroupElement['iconSize'] | undefined> = input<FloatingActionButtonGroupElement['iconSize']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FloatingActionButtonGroupElement['dir'] | undefined> = input<FloatingActionButtonGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FloatingActionButtonGroupElement['lang'] | undefined> = input<FloatingActionButtonGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const directionValue = this.direction();\n                if (directionValue !== undefined) {\n                    (this._element as any).direction = directionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FloatingActionButtonGroupMethodNames>(method: TMethod, ...args: Parameters<FloatingActionButtonGroupComponentMethods[TMethod]>): ReturnType<FloatingActionButtonGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FloatingActionButtonGroupElement>(property: TProperty, value: FloatingActionButtonGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FloatingActionButtonGroupComponent.\n */\nexport type FloatingActionButtonGroupMethodNames = 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FloatingActionButtonGroupComponent.\n */\nexport type FloatingActionButtonGroupComponentMethods = MethodMap<FloatingActionButtonGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideFloatingActionButtonGroupComponent(config: Partial<FloatingActionButtonGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOATING_ACTION_BUTTON_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FloatingActionButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FloatingActionButtonComponent.\n * Use this token to provide default properties for the FloatingActionButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOATING_ACTION_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<FloatingActionButtonElement.Props>>('MOSAIK_FLOATING_ACTION_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - Icon content area for the primary visual action indicator\n * @slot label - Optional text label for extended floating action button variations\n * @slot overlay - Overlay content area for badges, notifications, or status indicators\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-fab', FloatingActionButtonElement),\n    inputs: ['themeName', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-fab',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FloatingActionButtonComponent {\n    // #region Fields\n\n    private readonly _element: FloatingActionButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOATING_ACTION_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FloatingActionButtonElement['themeName'] | undefined> = input<FloatingActionButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<FloatingActionButtonElement['isBusy'] | undefined> = input<FloatingActionButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<FloatingActionButtonElement['label'] | undefined> = input<FloatingActionButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<FloatingActionButtonElement['icon'] | undefined> = input<FloatingActionButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<FloatingActionButtonElement['iconPosition'] | undefined> = input<FloatingActionButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<FloatingActionButtonElement['iconSize'] | undefined> = input<FloatingActionButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<FloatingActionButtonElement['type'] | undefined> = input<FloatingActionButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<FloatingActionButtonElement['ripple'] | undefined> = input<FloatingActionButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<FloatingActionButtonElement['variant'] | undefined> = input<FloatingActionButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<FloatingActionButtonElement['appearance'] | undefined> = input<FloatingActionButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<FloatingActionButtonElement['size'] | undefined> = input<FloatingActionButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<FloatingActionButtonElement['value'] | undefined> = input<FloatingActionButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FloatingActionButtonElement['disabled'] | undefined> = input<FloatingActionButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<FloatingActionButtonElement['isFocused'] | undefined> = input<FloatingActionButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FloatingActionButtonElement['dir'] | undefined> = input<FloatingActionButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FloatingActionButtonElement['lang'] | undefined> = input<FloatingActionButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FloatingActionButtonMethodNames>(method: TMethod, ...args: Parameters<FloatingActionButtonComponentMethods[TMethod]>): ReturnType<FloatingActionButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FloatingActionButtonElement>(property: TProperty, value: FloatingActionButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FloatingActionButtonComponent.\n */\nexport type FloatingActionButtonMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FloatingActionButtonComponent.\n */\nexport type FloatingActionButtonComponentMethods = MethodMap<FloatingActionButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideFloatingActionButtonComponent(config: Partial<FloatingActionButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOATING_ACTION_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FilePickerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FilePickerComponent.\n * Use this token to provide default properties for the FilePickerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FILE_PICKER_DEFAULT_PROPS = new InjectionToken<Partial<FilePickerElement.Props>>('MOSAIK_FILE_PICKER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for custom trigger content (e.g., a button or icon).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-file-picker', FilePickerElement),\n    inputs: ['multiple', 'accept', 'directory', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['pick', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-file-picker',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FilePickerComponent {\n    // #region Fields\n\n    private readonly _element: FilePickerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('filesPicked', (e) => this.filesPicked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FILE_PICKER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `multiple` property.\n     *\n     * @public\n     */\n    public readonly multiple: InputSignal<FilePickerElement['multiple'] | undefined> = input<FilePickerElement['multiple']>();\n\n    /**\n     * Signal input for the `accept` property.\n     *\n     * @public\n     */\n    public readonly accept: InputSignal<FilePickerElement['accept'] | undefined> = input<FilePickerElement['accept']>();\n\n    /**\n     * Signal input for the `directory` property.\n     *\n     * @public\n     */\n    public readonly directory: InputSignal<FilePickerElement['directory'] | undefined> = input<FilePickerElement['directory']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FilePickerElement['themeName'] | undefined> = input<FilePickerElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FilePickerElement['disabled'] | undefined> = input<FilePickerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FilePickerElement['dir'] | undefined> = input<FilePickerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FilePickerElement['lang'] | undefined> = input<FilePickerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const multipleValue = this.multiple();\n                if (multipleValue !== undefined) {\n                    (this._element as any).multiple = multipleValue;\n                }\n\n                const acceptValue = this.accept();\n                if (acceptValue !== undefined) {\n                    (this._element as any).accept = acceptValue;\n                }\n\n                const directoryValue = this.directory();\n                if (directoryValue !== undefined) {\n                    (this._element as any).directory = directoryValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `filesPicked` event.\n     *\n     * @public\n     */\n    public readonly filesPicked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FilePickerMethodNames>(method: TMethod, ...args: Parameters<FilePickerComponentMethods[TMethod]>): ReturnType<FilePickerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FilePickerElement>(property: TProperty, value: FilePickerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FilePickerComponent.\n */\nexport type FilePickerMethodNames = 'pick' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FilePickerComponent.\n */\nexport type FilePickerComponentMethods = MethodMap<FilePickerMethodNames>;\n\n/**\n * @public\n */\nexport function provideFilePickerComponent(config: Partial<FilePickerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FILE_PICKER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FileUploadItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FileUploadItemComponent.\n * Use this token to provide default properties for the FileUploadItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FILE_UPLOAD_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<FileUploadItemElement.Props>>('MOSAIK_FILE_UPLOAD_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - The slot for custom action content (e.g., remove or retry buttons).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-file-upload-item', FileUploadItemElement),\n    inputs: ['file', 'view', 'controlled', 'themeName', 'dir', 'lang'],\n    methods: ['onSave', 'onDelete', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-file-upload-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FileUploadItemComponent {\n    // #region Fields\n\n    private readonly _element: FileUploadItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FILE_UPLOAD_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `file` property.\n     *\n     * @public\n     */\n    public readonly file: InputSignal<FileUploadItemElement['file'] | undefined> = input<FileUploadItemElement['file']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<FileUploadItemElement['view'] | undefined> = input<FileUploadItemElement['view']>();\n\n    /**\n     * Signal input for the `controlled` property.\n     *\n     * @public\n     */\n    public readonly controlled: InputSignal<FileUploadItemElement['controlled'] | undefined> = input<FileUploadItemElement['controlled']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FileUploadItemElement['themeName'] | undefined> = input<FileUploadItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FileUploadItemElement['dir'] | undefined> = input<FileUploadItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FileUploadItemElement['lang'] | undefined> = input<FileUploadItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const fileValue = this.file();\n                if (fileValue !== undefined) {\n                    (this._element as any).file = fileValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const controlledValue = this.controlled();\n                if (controlledValue !== undefined) {\n                    (this._element as any).controlled = controlledValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FileUploadItemMethodNames>(method: TMethod, ...args: Parameters<FileUploadItemComponentMethods[TMethod]>): ReturnType<FileUploadItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FileUploadItemElement>(property: TProperty, value: FileUploadItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FileUploadItemComponent.\n */\nexport type FileUploadItemMethodNames = 'onSave' | 'onDelete' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FileUploadItemComponent.\n */\nexport type FileUploadItemComponentMethods = MethodMap<FileUploadItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideFileUploadItemComponent(config: Partial<FileUploadItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FILE_UPLOAD_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FileUploadElement, IElementValueAccessor, fileUploadElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FileUploadComponent.\n * Use this token to provide default properties for the FileUploadComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FILE_UPLOAD_DEFAULT_PROPS = new InjectionToken<Partial<FileUploadElement.Props>>('MOSAIK_FILE_UPLOAD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - The actions slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-file-upload', FileUploadElement),\n    inputs: ['isDragging', 'intl', 'autoUpload', 'view', 'multiple', 'directory', 'accept', 'strategy', 'placeholder', 'maxSize', 'themeName', 'disabled', 'appearance', 'variant', 'invalid', 'value', 'dir', 'lang'],\n    methods: ['add', 'delete', 'save', 'reset', 'checkValidity', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-file-upload',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => FileUploadComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => FileUploadComponent)\n        }\n    ]\n})\nexport class FileUploadComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: FileUploadElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = fileUploadElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('fileAdded', (e) => this.fileAdded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('fileRemoved', (e) => this.fileRemoved.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('fileFailed', (e) => this.fileFailed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('filesChanged', (e) => this.filesChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FILE_UPLOAD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isDragging` property.\n     *\n     * @public\n     */\n    public readonly isDragging: InputSignal<FileUploadElement['isDragging'] | undefined> = input<FileUploadElement['isDragging']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<FileUploadElement['intl'] | undefined> = input<FileUploadElement['intl']>();\n\n    /**\n     * Signal input for the `autoUpload` property.\n     *\n     * @public\n     */\n    public readonly autoUpload: InputSignal<FileUploadElement['autoUpload'] | undefined> = input<FileUploadElement['autoUpload']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<FileUploadElement['view'] | undefined> = input<FileUploadElement['view']>();\n\n    /**\n     * Signal input for the `multiple` property.\n     *\n     * @public\n     */\n    public readonly multiple: InputSignal<FileUploadElement['multiple'] | undefined> = input<FileUploadElement['multiple']>();\n\n    /**\n     * Signal input for the `directory` property.\n     *\n     * @public\n     */\n    public readonly directory: InputSignal<FileUploadElement['directory'] | undefined> = input<FileUploadElement['directory']>();\n\n    /**\n     * Signal input for the `accept` property.\n     *\n     * @public\n     */\n    public readonly accept: InputSignal<FileUploadElement['accept'] | undefined> = input<FileUploadElement['accept']>();\n\n    /**\n     * Signal input for the `strategy` property.\n     *\n     * @public\n     */\n    public readonly strategy: InputSignal<FileUploadElement['strategy'] | undefined> = input<FileUploadElement['strategy']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<FileUploadElement['placeholder'] | undefined> = input<FileUploadElement['placeholder']>();\n\n    /**\n     * Signal input for the `maxSize` property.\n     *\n     * @public\n     */\n    public readonly maxSize: InputSignal<FileUploadElement['maxSize'] | undefined> = input<FileUploadElement['maxSize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FileUploadElement['themeName'] | undefined> = input<FileUploadElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FileUploadElement['disabled'] | undefined> = input<FileUploadElement['disabled']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<FileUploadElement['appearance'] | undefined> = input<FileUploadElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<FileUploadElement['variant'] | undefined> = input<FileUploadElement['variant']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<FileUploadElement['invalid'] | undefined> = input<FileUploadElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<FileUploadElement['value'] | undefined> = input<FileUploadElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FileUploadElement['dir'] | undefined> = input<FileUploadElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FileUploadElement['lang'] | undefined> = input<FileUploadElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const autoUploadValue = this.autoUpload();\n                if (autoUploadValue !== undefined) {\n                    (this._element as any).autoUpload = autoUploadValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const multipleValue = this.multiple();\n                if (multipleValue !== undefined) {\n                    (this._element as any).multiple = multipleValue;\n                }\n\n                const directoryValue = this.directory();\n                if (directoryValue !== undefined) {\n                    (this._element as any).directory = directoryValue;\n                }\n\n                const acceptValue = this.accept();\n                if (acceptValue !== undefined) {\n                    (this._element as any).accept = acceptValue;\n                }\n\n                const strategyValue = this.strategy();\n                if (strategyValue !== undefined) {\n                    (this._element as any).strategy = strategyValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const maxSizeValue = this.maxSize();\n                if (maxSizeValue !== undefined) {\n                    (this._element as any).maxSize = maxSizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `fileAdded` event.\n     *\n     * @public\n     */\n    public readonly fileAdded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `fileRemoved` event.\n     *\n     * @public\n     */\n    public readonly fileRemoved: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `fileFailed` event.\n     *\n     * @public\n     */\n    public readonly fileFailed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `filesChanged` event.\n     *\n     * @public\n     */\n    public readonly filesChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FileUploadMethodNames>(method: TMethod, ...args: Parameters<FileUploadComponentMethods[TMethod]>): ReturnType<FileUploadComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FileUploadElement>(property: TProperty, value: FileUploadElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FileUploadComponent.\n */\nexport type FileUploadMethodNames = 'add' | 'delete' | 'save' | 'reset' | 'checkValidity' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FileUploadComponent.\n */\nexport type FileUploadComponentMethods = MethodMap<FileUploadMethodNames>;\n\n/**\n * @public\n */\nexport function provideFileUploadComponent(config: Partial<FileUploadElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FILE_UPLOAD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FloatingTriggerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FloatingTriggerComponent.\n * Use this token to provide default properties for the FloatingTriggerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOATING_TRIGGER_DEFAULT_PROPS = new InjectionToken<Partial<FloatingTriggerElement.Props>>('MOSAIK_FLOATING_TRIGGER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The trigger element that activates the floating content (typically a button)\n * @slot floating - The floating element to show/hide (typically mosaik-floating)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-floating-trigger', FloatingTriggerElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['onSlotChange', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-floating-trigger',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FloatingTriggerComponent {\n    // #region Fields\n\n    private readonly _element: FloatingTriggerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOATING_TRIGGER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FloatingTriggerElement['themeName'] | undefined> = input<FloatingTriggerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FloatingTriggerElement['dir'] | undefined> = input<FloatingTriggerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FloatingTriggerElement['lang'] | undefined> = input<FloatingTriggerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FloatingTriggerMethodNames>(method: TMethod, ...args: Parameters<FloatingTriggerComponentMethods[TMethod]>): ReturnType<FloatingTriggerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FloatingTriggerElement>(property: TProperty, value: FloatingTriggerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FloatingTriggerComponent.\n */\nexport type FloatingTriggerMethodNames = 'onSlotChange' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FloatingTriggerComponent.\n */\nexport type FloatingTriggerComponentMethods = MethodMap<FloatingTriggerMethodNames>;\n\n/**\n * @public\n */\nexport function provideFloatingTriggerComponent(config: Partial<FloatingTriggerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOATING_TRIGGER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FloatingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FloatingComponent.\n * Use this token to provide default properties for the FloatingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOATING_DEFAULT_PROPS = new InjectionToken<Partial<FloatingElement.Props>>('MOSAIK_FLOATING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot for floating content\n * @slot anchor - The anchor slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-floating', FloatingElement),\n    inputs: ['isVisible', 'anchor', 'active', 'placement', 'strategy', 'distance', 'skidding', 'arrow', 'arrowPlacement', 'arrowPadding', 'flip', 'flipFallbackPlacements', 'flipBoundary', 'flipPadding', 'flipFallbackStrategy', 'shift', 'shiftBoundary', 'shiftPadding', 'autoSize', 'autoSizeBoundary', 'autoSizePadding', 'sync', 'maxWidth', 'width', 'maxHeight', 'height', 'isFullScreen', 'themeName', 'animationTarget', 'enter', 'exit', 'elevation', 'dir', 'lang'],\n    methods: ['open', 'close', 'reposition', 'getScrollableElement', 'play', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-floating',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FloatingComponent {\n    // #region Fields\n\n    private readonly _element: FloatingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('repositioned', (e) => this.repositioned.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('activeChanged', (e) => this.activeChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOATING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isVisible` property.\n     *\n     * @public\n     */\n    public readonly isVisible: InputSignal<FloatingElement['isVisible'] | undefined> = input<FloatingElement['isVisible']>();\n\n    /**\n     * Signal input for the `anchor` property.\n     *\n     * @public\n     */\n    public readonly anchor: InputSignal<FloatingElement['anchor'] | undefined> = input<FloatingElement['anchor']>();\n\n    /**\n     * Signal input for the `active` property.\n     *\n     * @public\n     */\n    public readonly active: InputSignal<FloatingElement['active'] | undefined> = input<FloatingElement['active']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<FloatingElement['placement'] | undefined> = input<FloatingElement['placement']>();\n\n    /**\n     * Signal input for the `strategy` property.\n     *\n     * @public\n     */\n    public readonly strategy: InputSignal<FloatingElement['strategy'] | undefined> = input<FloatingElement['strategy']>();\n\n    /**\n     * Signal input for the `distance` property.\n     *\n     * @public\n     */\n    public readonly distance: InputSignal<FloatingElement['distance'] | undefined> = input<FloatingElement['distance']>();\n\n    /**\n     * Signal input for the `skidding` property.\n     *\n     * @public\n     */\n    public readonly skidding: InputSignal<FloatingElement['skidding'] | undefined> = input<FloatingElement['skidding']>();\n\n    /**\n     * Signal input for the `arrow` property.\n     *\n     * @public\n     */\n    public readonly arrow: InputSignal<FloatingElement['arrow'] | undefined> = input<FloatingElement['arrow']>();\n\n    /**\n     * Signal input for the `arrowPlacement` property.\n     *\n     * @public\n     */\n    public readonly arrowPlacement: InputSignal<FloatingElement['arrowPlacement'] | undefined> = input<FloatingElement['arrowPlacement']>();\n\n    /**\n     * Signal input for the `arrowPadding` property.\n     *\n     * @public\n     */\n    public readonly arrowPadding: InputSignal<FloatingElement['arrowPadding'] | undefined> = input<FloatingElement['arrowPadding']>();\n\n    /**\n     * Signal input for the `flip` property.\n     *\n     * @public\n     */\n    public readonly flip: InputSignal<FloatingElement['flip'] | undefined> = input<FloatingElement['flip']>();\n\n    /**\n     * Signal input for the `flipFallbackPlacements` property.\n     *\n     * @public\n     */\n    public readonly flipFallbackPlacements: InputSignal<FloatingElement['flipFallbackPlacements'] | undefined> = input<FloatingElement['flipFallbackPlacements']>();\n\n    /**\n     * Signal input for the `flipBoundary` property.\n     *\n     * @public\n     */\n    public readonly flipBoundary: InputSignal<FloatingElement['flipBoundary'] | undefined> = input<FloatingElement['flipBoundary']>();\n\n    /**\n     * Signal input for the `flipPadding` property.\n     *\n     * @public\n     */\n    public readonly flipPadding: InputSignal<FloatingElement['flipPadding'] | undefined> = input<FloatingElement['flipPadding']>();\n\n    /**\n     * Signal input for the `flipFallbackStrategy` property.\n     *\n     * @public\n     */\n    public readonly flipFallbackStrategy: InputSignal<FloatingElement['flipFallbackStrategy'] | undefined> = input<FloatingElement['flipFallbackStrategy']>();\n\n    /**\n     * Signal input for the `shift` property.\n     *\n     * @public\n     */\n    public readonly shift: InputSignal<FloatingElement['shift'] | undefined> = input<FloatingElement['shift']>();\n\n    /**\n     * Signal input for the `shiftBoundary` property.\n     *\n     * @public\n     */\n    public readonly shiftBoundary: InputSignal<FloatingElement['shiftBoundary'] | undefined> = input<FloatingElement['shiftBoundary']>();\n\n    /**\n     * Signal input for the `shiftPadding` property.\n     *\n     * @public\n     */\n    public readonly shiftPadding: InputSignal<FloatingElement['shiftPadding'] | undefined> = input<FloatingElement['shiftPadding']>();\n\n    /**\n     * Signal input for the `autoSize` property.\n     *\n     * @public\n     */\n    public readonly autoSize: InputSignal<FloatingElement['autoSize'] | undefined> = input<FloatingElement['autoSize']>();\n\n    /**\n     * Signal input for the `autoSizeBoundary` property.\n     *\n     * @public\n     */\n    public readonly autoSizeBoundary: InputSignal<FloatingElement['autoSizeBoundary'] | undefined> = input<FloatingElement['autoSizeBoundary']>();\n\n    /**\n     * Signal input for the `autoSizePadding` property.\n     *\n     * @public\n     */\n    public readonly autoSizePadding: InputSignal<FloatingElement['autoSizePadding'] | undefined> = input<FloatingElement['autoSizePadding']>();\n\n    /**\n     * Signal input for the `sync` property.\n     *\n     * @public\n     */\n    public readonly sync: InputSignal<FloatingElement['sync'] | undefined> = input<FloatingElement['sync']>();\n\n    /**\n     * Signal input for the `maxWidth` property.\n     *\n     * @public\n     */\n    public readonly maxWidth: InputSignal<FloatingElement['maxWidth'] | undefined> = input<FloatingElement['maxWidth']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<FloatingElement['width'] | undefined> = input<FloatingElement['width']>();\n\n    /**\n     * Signal input for the `maxHeight` property.\n     *\n     * @public\n     */\n    public readonly maxHeight: InputSignal<FloatingElement['maxHeight'] | undefined> = input<FloatingElement['maxHeight']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<FloatingElement['height'] | undefined> = input<FloatingElement['height']>();\n\n    /**\n     * Signal input for the `isFullScreen` property.\n     *\n     * @public\n     */\n    public readonly isFullScreen: InputSignal<FloatingElement['isFullScreen'] | undefined> = input<FloatingElement['isFullScreen']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FloatingElement['themeName'] | undefined> = input<FloatingElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<FloatingElement['animationTarget'] | undefined> = input<FloatingElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<FloatingElement['enter'] | undefined> = input<FloatingElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<FloatingElement['exit'] | undefined> = input<FloatingElement['exit']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<FloatingElement['elevation'] | undefined> = input<FloatingElement['elevation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FloatingElement['dir'] | undefined> = input<FloatingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FloatingElement['lang'] | undefined> = input<FloatingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isVisibleValue = this.isVisible();\n                if (isVisibleValue !== undefined) {\n                    (this._element as any).isVisible = isVisibleValue;\n                }\n\n                const anchorValue = this.anchor();\n                if (anchorValue !== undefined) {\n                    (this._element as any).anchor = anchorValue;\n                }\n\n                const activeValue = this.active();\n                if (activeValue !== undefined) {\n                    (this._element as any).active = activeValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const strategyValue = this.strategy();\n                if (strategyValue !== undefined) {\n                    (this._element as any).strategy = strategyValue;\n                }\n\n                const distanceValue = this.distance();\n                if (distanceValue !== undefined) {\n                    (this._element as any).distance = distanceValue;\n                }\n\n                const skiddingValue = this.skidding();\n                if (skiddingValue !== undefined) {\n                    (this._element as any).skidding = skiddingValue;\n                }\n\n                const arrowValue = this.arrow();\n                if (arrowValue !== undefined) {\n                    (this._element as any).arrow = arrowValue;\n                }\n\n                const arrowPlacementValue = this.arrowPlacement();\n                if (arrowPlacementValue !== undefined) {\n                    (this._element as any).arrowPlacement = arrowPlacementValue;\n                }\n\n                const arrowPaddingValue = this.arrowPadding();\n                if (arrowPaddingValue !== undefined) {\n                    (this._element as any).arrowPadding = arrowPaddingValue;\n                }\n\n                const flipValue = this.flip();\n                if (flipValue !== undefined) {\n                    (this._element as any).flip = flipValue;\n                }\n\n                const flipFallbackPlacementsValue = this.flipFallbackPlacements();\n                if (flipFallbackPlacementsValue !== undefined) {\n                    (this._element as any).flipFallbackPlacements = flipFallbackPlacementsValue;\n                }\n\n                const flipBoundaryValue = this.flipBoundary();\n                if (flipBoundaryValue !== undefined) {\n                    (this._element as any).flipBoundary = flipBoundaryValue;\n                }\n\n                const flipPaddingValue = this.flipPadding();\n                if (flipPaddingValue !== undefined) {\n                    (this._element as any).flipPadding = flipPaddingValue;\n                }\n\n                const flipFallbackStrategyValue = this.flipFallbackStrategy();\n                if (flipFallbackStrategyValue !== undefined) {\n                    (this._element as any).flipFallbackStrategy = flipFallbackStrategyValue;\n                }\n\n                const shiftValue = this.shift();\n                if (shiftValue !== undefined) {\n                    (this._element as any).shift = shiftValue;\n                }\n\n                const shiftBoundaryValue = this.shiftBoundary();\n                if (shiftBoundaryValue !== undefined) {\n                    (this._element as any).shiftBoundary = shiftBoundaryValue;\n                }\n\n                const shiftPaddingValue = this.shiftPadding();\n                if (shiftPaddingValue !== undefined) {\n                    (this._element as any).shiftPadding = shiftPaddingValue;\n                }\n\n                const autoSizeValue = this.autoSize();\n                if (autoSizeValue !== undefined) {\n                    (this._element as any).autoSize = autoSizeValue;\n                }\n\n                const autoSizeBoundaryValue = this.autoSizeBoundary();\n                if (autoSizeBoundaryValue !== undefined) {\n                    (this._element as any).autoSizeBoundary = autoSizeBoundaryValue;\n                }\n\n                const autoSizePaddingValue = this.autoSizePadding();\n                if (autoSizePaddingValue !== undefined) {\n                    (this._element as any).autoSizePadding = autoSizePaddingValue;\n                }\n\n                const syncValue = this.sync();\n                if (syncValue !== undefined) {\n                    (this._element as any).sync = syncValue;\n                }\n\n                const maxWidthValue = this.maxWidth();\n                if (maxWidthValue !== undefined) {\n                    (this._element as any).maxWidth = maxWidthValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const maxHeightValue = this.maxHeight();\n                if (maxHeightValue !== undefined) {\n                    (this._element as any).maxHeight = maxHeightValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const isFullScreenValue = this.isFullScreen();\n                if (isFullScreenValue !== undefined) {\n                    (this._element as any).isFullScreen = isFullScreenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `repositioned` event.\n     *\n     * @public\n     */\n    public readonly repositioned: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `activeChanged` event.\n     *\n     * @public\n     */\n    public readonly activeChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FloatingMethodNames>(method: TMethod, ...args: Parameters<FloatingComponentMethods[TMethod]>): ReturnType<FloatingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FloatingElement>(property: TProperty, value: FloatingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FloatingComponent.\n */\nexport type FloatingMethodNames = 'open' | 'close' | 'reposition' | 'getScrollableElement' | 'play' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FloatingComponent.\n */\nexport type FloatingComponentMethods = MethodMap<FloatingMethodNames>;\n\n/**\n * @public\n */\nexport function provideFloatingComponent(config: Partial<FloatingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOATING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlowBoardColumnComposerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlowBoardColumnComposerComponent.\n * Use this token to provide default properties for the FlowBoardColumnComposerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOW_BOARD_COLUMN_COMPOSER_DEFAULT_PROPS = new InjectionToken<Partial<FlowBoardColumnComposerElement.Props>>('MOSAIK_FLOW_BOARD_COLUMN_COMPOSER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot form - The form content for creating new columns (completely user-defined)\n * @slot trigger - The trigger element that opens the form (e.g., \"Add another list\" button)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flow-board-column-composer', FlowBoardColumnComposerElement),\n    inputs: ['open', 'themeName', 'dir', 'lang'],\n    methods: ['create', 'toggle', 'close', 'handleFormKeydown', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flow-board-column-composer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlowBoardColumnComposerComponent {\n    // #region Fields\n\n    private readonly _element: FlowBoardColumnComposerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('flowBoardBeforeColumnCreate', (e) => this.flowBoardBeforeColumnCreate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardColumnCreate', (e) => this.flowBoardColumnCreate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOW_BOARD_COLUMN_COMPOSER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `open` property.\n     *\n     * @public\n     */\n    public readonly open: InputSignal<FlowBoardColumnComposerElement['open'] | undefined> = input<FlowBoardColumnComposerElement['open']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlowBoardColumnComposerElement['themeName'] | undefined> = input<FlowBoardColumnComposerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlowBoardColumnComposerElement['dir'] | undefined> = input<FlowBoardColumnComposerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlowBoardColumnComposerElement['lang'] | undefined> = input<FlowBoardColumnComposerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const openValue = this.open();\n                if (openValue !== undefined) {\n                    (this._element as any).open = openValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `flowBoardBeforeColumnCreate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeColumnCreate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardColumnCreate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardColumnCreate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlowBoardColumnComposerMethodNames>(method: TMethod, ...args: Parameters<FlowBoardColumnComposerComponentMethods[TMethod]>): ReturnType<FlowBoardColumnComposerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlowBoardColumnComposerElement>(property: TProperty, value: FlowBoardColumnComposerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlowBoardColumnComposerComponent.\n */\nexport type FlowBoardColumnComposerMethodNames = 'create' | 'toggle' | 'close' | 'handleFormKeydown' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlowBoardColumnComposerComponent.\n */\nexport type FlowBoardColumnComposerComponentMethods = MethodMap<FlowBoardColumnComposerMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlowBoardColumnComposerComponent(config: Partial<FlowBoardColumnComposerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOW_BOARD_COLUMN_COMPOSER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlowBoardColumnItemComposerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlowBoardColumnItemComposerComponent.\n * Use this token to provide default properties for the FlowBoardColumnItemComposerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOW_BOARD_COLUMN_ITEM_COMPOSER_DEFAULT_PROPS = new InjectionToken<Partial<FlowBoardColumnItemComposerElement.Props>>('MOSAIK_FLOW_BOARD_COLUMN_ITEM_COMPOSER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot form - The form content for creating new items (completely user-defined)\n * @slot trigger - The trigger element that opens the form (e.g., \"Add another item\" button)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flow-board-column-item-composer', FlowBoardColumnItemComposerElement),\n    inputs: ['columnKey', 'open', 'themeName', 'dir', 'lang'],\n    methods: ['create', 'toggle', 'close', 'handleFormKeydown', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flow-board-column-item-composer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlowBoardColumnItemComposerComponent {\n    // #region Fields\n\n    private readonly _element: FlowBoardColumnItemComposerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('flowBoardBeforeItemCreate', (e) => this.flowBoardBeforeItemCreate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardItemCreate', (e) => this.flowBoardItemCreate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOW_BOARD_COLUMN_ITEM_COMPOSER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `columnKey` property.\n     *\n     * @public\n     */\n    public readonly columnKey: InputSignal<FlowBoardColumnItemComposerElement['columnKey'] | undefined> = input<FlowBoardColumnItemComposerElement['columnKey']>();\n\n    /**\n     * Signal input for the `open` property.\n     *\n     * @public\n     */\n    public readonly open: InputSignal<FlowBoardColumnItemComposerElement['open'] | undefined> = input<FlowBoardColumnItemComposerElement['open']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlowBoardColumnItemComposerElement['themeName'] | undefined> = input<FlowBoardColumnItemComposerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlowBoardColumnItemComposerElement['dir'] | undefined> = input<FlowBoardColumnItemComposerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlowBoardColumnItemComposerElement['lang'] | undefined> = input<FlowBoardColumnItemComposerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnKeyValue = this.columnKey();\n                if (columnKeyValue !== undefined) {\n                    (this._element as any).columnKey = columnKeyValue;\n                }\n\n                const openValue = this.open();\n                if (openValue !== undefined) {\n                    (this._element as any).open = openValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `flowBoardBeforeItemCreate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeItemCreate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardItemCreate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardItemCreate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlowBoardColumnItemComposerMethodNames>(method: TMethod, ...args: Parameters<FlowBoardColumnItemComposerComponentMethods[TMethod]>): ReturnType<FlowBoardColumnItemComposerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlowBoardColumnItemComposerElement>(property: TProperty, value: FlowBoardColumnItemComposerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlowBoardColumnItemComposerComponent.\n */\nexport type FlowBoardColumnItemComposerMethodNames = 'create' | 'toggle' | 'close' | 'handleFormKeydown' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlowBoardColumnItemComposerComponent.\n */\nexport type FlowBoardColumnItemComposerComponentMethods = MethodMap<FlowBoardColumnItemComposerMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlowBoardColumnItemComposerComponent(config: Partial<FlowBoardColumnItemComposerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOW_BOARD_COLUMN_ITEM_COMPOSER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlowBoardColumnItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlowBoardColumnItemComponent.\n * Use this token to provide default properties for the FlowBoardColumnItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOW_BOARD_COLUMN_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<FlowBoardColumnItemElement.Props>>('MOSAIK_FLOW_BOARD_COLUMN_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Action buttons or links related to the item\n * @slot footer - Footer content with actions or avatars\n * @slot meta - Additional metadata like price or status\n * @slot subtitle - The subtitle content of the item\n * @slot title - The title content of the item\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flow-board-column-item', FlowBoardColumnItemElement),\n    inputs: ['columnKey', 'canDrag', 'itemKey', 'draggable', 'reorderable', 'pinned', 'themeName', 'ripple', 'isFocused', 'disabled', 'variant', 'value', 'appearance', 'dir', 'lang'],\n    methods: ['getDragRef', 'activate', 'pin', 'unpin', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flow-board-column-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlowBoardColumnItemComponent {\n    // #region Fields\n\n    private readonly _element: FlowBoardColumnItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('flowBoardBeforeItemActivate', (e) => this.flowBoardBeforeItemActivate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardItemActivate', (e) => this.flowBoardItemActivate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardBeforeItemPinChange', (e) => this.flowBoardBeforeItemPinChange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardItemPinChange', (e) => this.flowBoardItemPinChange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOW_BOARD_COLUMN_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `columnKey` property.\n     *\n     * @public\n     */\n    public readonly columnKey: InputSignal<FlowBoardColumnItemElement['columnKey'] | undefined> = input<FlowBoardColumnItemElement['columnKey']>();\n\n    /**\n     * Signal input for the `canDrag` property.\n     *\n     * @public\n     */\n    public readonly canDrag: InputSignal<FlowBoardColumnItemElement['canDrag'] | undefined> = input<FlowBoardColumnItemElement['canDrag']>();\n\n    /**\n     * Signal input for the `itemKey` property.\n     *\n     * @public\n     */\n    public readonly itemKey: InputSignal<FlowBoardColumnItemElement['itemKey'] | undefined> = input<FlowBoardColumnItemElement['itemKey']>();\n\n    /**\n     * Signal input for the `draggable` property.\n     *\n     * @public\n     */\n    public readonly draggable: InputSignal<FlowBoardColumnItemElement['draggable'] | undefined> = input<FlowBoardColumnItemElement['draggable']>();\n\n    /**\n     * Signal input for the `reorderable` property.\n     *\n     * @public\n     */\n    public readonly reorderable: InputSignal<FlowBoardColumnItemElement['reorderable'] | undefined> = input<FlowBoardColumnItemElement['reorderable']>();\n\n    /**\n     * Signal input for the `pinned` property.\n     *\n     * @public\n     */\n    public readonly pinned: InputSignal<FlowBoardColumnItemElement['pinned'] | undefined> = input<FlowBoardColumnItemElement['pinned']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlowBoardColumnItemElement['themeName'] | undefined> = input<FlowBoardColumnItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<FlowBoardColumnItemElement['ripple'] | undefined> = input<FlowBoardColumnItemElement['ripple']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<FlowBoardColumnItemElement['isFocused'] | undefined> = input<FlowBoardColumnItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FlowBoardColumnItemElement['disabled'] | undefined> = input<FlowBoardColumnItemElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<FlowBoardColumnItemElement['variant'] | undefined> = input<FlowBoardColumnItemElement['variant']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<FlowBoardColumnItemElement['value'] | undefined> = input<FlowBoardColumnItemElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<FlowBoardColumnItemElement['appearance'] | undefined> = input<FlowBoardColumnItemElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlowBoardColumnItemElement['dir'] | undefined> = input<FlowBoardColumnItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlowBoardColumnItemElement['lang'] | undefined> = input<FlowBoardColumnItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnKeyValue = this.columnKey();\n                if (columnKeyValue !== undefined) {\n                    (this._element as any).columnKey = columnKeyValue;\n                }\n\n                const canDragValue = this.canDrag();\n                if (canDragValue !== undefined) {\n                    (this._element as any).canDrag = canDragValue;\n                }\n\n                const itemKeyValue = this.itemKey();\n                if (itemKeyValue !== undefined) {\n                    (this._element as any).itemKey = itemKeyValue;\n                }\n\n                const draggableValue = this.draggable();\n                if (draggableValue !== undefined) {\n                    (this._element as any).draggable = draggableValue;\n                }\n\n                const reorderableValue = this.reorderable();\n                if (reorderableValue !== undefined) {\n                    (this._element as any).reorderable = reorderableValue;\n                }\n\n                const pinnedValue = this.pinned();\n                if (pinnedValue !== undefined) {\n                    (this._element as any).pinned = pinnedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `flowBoardBeforeItemActivate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeItemActivate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardItemActivate` event.\n     *\n     * @public\n     */\n    public readonly flowBoardItemActivate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardBeforeItemPinChange` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeItemPinChange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardItemPinChange` event.\n     *\n     * @public\n     */\n    public readonly flowBoardItemPinChange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlowBoardColumnItemMethodNames>(method: TMethod, ...args: Parameters<FlowBoardColumnItemComponentMethods[TMethod]>): ReturnType<FlowBoardColumnItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlowBoardColumnItemElement>(property: TProperty, value: FlowBoardColumnItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlowBoardColumnItemComponent.\n */\nexport type FlowBoardColumnItemMethodNames = 'getDragRef' | 'activate' | 'pin' | 'unpin' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlowBoardColumnItemComponent.\n */\nexport type FlowBoardColumnItemComponentMethods = MethodMap<FlowBoardColumnItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlowBoardColumnItemComponent(config: Partial<FlowBoardColumnItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOW_BOARD_COLUMN_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlowBoardColumnElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlowBoardColumnComponent.\n * Use this token to provide default properties for the FlowBoardColumnComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOW_BOARD_COLUMN_DEFAULT_PROPS = new InjectionToken<Partial<FlowBoardColumnElement.Props>>('MOSAIK_FLOW_BOARD_COLUMN_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for FlowBoardColumnItem elements\n * @slot actions - Action buttons for the column\n * @slot empty - Content to show when the column has no items\n * @slot footer - Footer content (usually contains a composer)\n * @slot meta - Metadata content (badges, counts, KPIs)\n * @slot title - The title content of the column header\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flow-board-column', FlowBoardColumnElement),\n    inputs: ['hasItems', 'isDragEnabled', 'canDrag', 'columnKey', 'reorderable', 'pinned', 'themeName', 'dir', 'lang'],\n    methods: ['getItems', 'getDragRef', 'getDropListRef', 'syncItemDragRefs', 'getPinnedItems', 'getNonPinnedItems', 'setPinned', 'handleSlotChange', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flow-board-column',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlowBoardColumnComponent {\n    // #region Fields\n\n    private readonly _element: FlowBoardColumnElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('flowBoardBeforeColumnPinChange', (e) => this.flowBoardBeforeColumnPinChange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardColumnPinChange', (e) => this.flowBoardColumnPinChange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOW_BOARD_COLUMN_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasItems` property.\n     *\n     * @public\n     */\n    public readonly hasItems: InputSignal<FlowBoardColumnElement['hasItems'] | undefined> = input<FlowBoardColumnElement['hasItems']>();\n\n    /**\n     * Signal input for the `isDragEnabled` property.\n     *\n     * @public\n     */\n    public readonly isDragEnabled: InputSignal<FlowBoardColumnElement['isDragEnabled'] | undefined> = input<FlowBoardColumnElement['isDragEnabled']>();\n\n    /**\n     * Signal input for the `canDrag` property.\n     *\n     * @public\n     */\n    public readonly canDrag: InputSignal<FlowBoardColumnElement['canDrag'] | undefined> = input<FlowBoardColumnElement['canDrag']>();\n\n    /**\n     * Signal input for the `columnKey` property.\n     *\n     * @public\n     */\n    public readonly columnKey: InputSignal<FlowBoardColumnElement['columnKey'] | undefined> = input<FlowBoardColumnElement['columnKey']>();\n\n    /**\n     * Signal input for the `reorderable` property.\n     *\n     * @public\n     */\n    public readonly reorderable: InputSignal<FlowBoardColumnElement['reorderable'] | undefined> = input<FlowBoardColumnElement['reorderable']>();\n\n    /**\n     * Signal input for the `pinned` property.\n     *\n     * @public\n     */\n    public readonly pinned: InputSignal<FlowBoardColumnElement['pinned'] | undefined> = input<FlowBoardColumnElement['pinned']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlowBoardColumnElement['themeName'] | undefined> = input<FlowBoardColumnElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlowBoardColumnElement['dir'] | undefined> = input<FlowBoardColumnElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlowBoardColumnElement['lang'] | undefined> = input<FlowBoardColumnElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasItemsValue = this.hasItems();\n                if (hasItemsValue !== undefined) {\n                    (this._element as any).hasItems = hasItemsValue;\n                }\n\n                const isDragEnabledValue = this.isDragEnabled();\n                if (isDragEnabledValue !== undefined) {\n                    (this._element as any).isDragEnabled = isDragEnabledValue;\n                }\n\n                const canDragValue = this.canDrag();\n                if (canDragValue !== undefined) {\n                    (this._element as any).canDrag = canDragValue;\n                }\n\n                const columnKeyValue = this.columnKey();\n                if (columnKeyValue !== undefined) {\n                    (this._element as any).columnKey = columnKeyValue;\n                }\n\n                const reorderableValue = this.reorderable();\n                if (reorderableValue !== undefined) {\n                    (this._element as any).reorderable = reorderableValue;\n                }\n\n                const pinnedValue = this.pinned();\n                if (pinnedValue !== undefined) {\n                    (this._element as any).pinned = pinnedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `flowBoardBeforeColumnPinChange` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeColumnPinChange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardColumnPinChange` event.\n     *\n     * @public\n     */\n    public readonly flowBoardColumnPinChange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlowBoardColumnMethodNames>(method: TMethod, ...args: Parameters<FlowBoardColumnComponentMethods[TMethod]>): ReturnType<FlowBoardColumnComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlowBoardColumnElement>(property: TProperty, value: FlowBoardColumnElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlowBoardColumnComponent.\n */\nexport type FlowBoardColumnMethodNames = 'getItems' | 'getDragRef' | 'getDropListRef' | 'syncItemDragRefs' | 'getPinnedItems' | 'getNonPinnedItems' | 'setPinned' | 'handleSlotChange' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlowBoardColumnComponent.\n */\nexport type FlowBoardColumnComponentMethods = MethodMap<FlowBoardColumnMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlowBoardColumnComponent(config: Partial<FlowBoardColumnElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOW_BOARD_COLUMN_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FlowBoardElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FlowBoardComponent.\n * Use this token to provide default properties for the FlowBoardComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FLOW_BOARD_DEFAULT_PROPS = new InjectionToken<Partial<FlowBoardElement.Props>>('MOSAIK_FLOW_BOARD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for mosaik-flow-board-column elements\n * @slot append - Slot for add column action (mosaik-flow-board-column-composer)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-flow-board', FlowBoardElement),\n    inputs: ['displayMode', 'dragdrop', 'scrollMode', 'themeName', 'size', 'gap', 'isFocused', 'dir', 'lang'],\n    methods: ['getColumns', 'getColumnByKey', 'onDefaultSlotChange', 'moveItem', 'reorderColumn', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-flow-board',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FlowBoardComponent {\n    // #region Fields\n\n    private readonly _element: FlowBoardElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('flowBoardBeforeColumnReorder', (e) => this.flowBoardBeforeColumnReorder.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardColumnReorder', (e) => this.flowBoardColumnReorder.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardBeforeItemReorder', (e) => this.flowBoardBeforeItemReorder.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardItemReorder', (e) => this.flowBoardItemReorder.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardBeforeItemMove', (e) => this.flowBoardBeforeItemMove.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardItemMove', (e) => this.flowBoardItemMove.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('flowBoardDragStart', (e) => this.flowBoardDragStart.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FLOW_BOARD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `displayMode` property.\n     *\n     * @public\n     */\n    public readonly displayMode: InputSignal<FlowBoardElement['displayMode'] | undefined> = input<FlowBoardElement['displayMode']>();\n\n    /**\n     * Signal input for the `dragdrop` property.\n     *\n     * @public\n     */\n    public readonly dragdrop: InputSignal<FlowBoardElement['dragdrop'] | undefined> = input<FlowBoardElement['dragdrop']>();\n\n    /**\n     * Signal input for the `scrollMode` property.\n     *\n     * @public\n     */\n    public readonly scrollMode: InputSignal<FlowBoardElement['scrollMode'] | undefined> = input<FlowBoardElement['scrollMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FlowBoardElement['themeName'] | undefined> = input<FlowBoardElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<FlowBoardElement['size'] | undefined> = input<FlowBoardElement['size']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<FlowBoardElement['gap'] | undefined> = input<FlowBoardElement['gap']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<FlowBoardElement['isFocused'] | undefined> = input<FlowBoardElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FlowBoardElement['dir'] | undefined> = input<FlowBoardElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FlowBoardElement['lang'] | undefined> = input<FlowBoardElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const displayModeValue = this.displayMode();\n                if (displayModeValue !== undefined) {\n                    (this._element as any).displayMode = displayModeValue;\n                }\n\n                const dragdropValue = this.dragdrop();\n                if (dragdropValue !== undefined) {\n                    (this._element as any).dragdrop = dragdropValue;\n                }\n\n                const scrollModeValue = this.scrollMode();\n                if (scrollModeValue !== undefined) {\n                    (this._element as any).scrollMode = scrollModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `flowBoardBeforeColumnReorder` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeColumnReorder: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardColumnReorder` event.\n     *\n     * @public\n     */\n    public readonly flowBoardColumnReorder: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardBeforeItemReorder` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeItemReorder: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardItemReorder` event.\n     *\n     * @public\n     */\n    public readonly flowBoardItemReorder: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardBeforeItemMove` event.\n     *\n     * @public\n     */\n    public readonly flowBoardBeforeItemMove: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardItemMove` event.\n     *\n     * @public\n     */\n    public readonly flowBoardItemMove: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `flowBoardDragStart` event.\n     *\n     * @public\n     */\n    public readonly flowBoardDragStart: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FlowBoardMethodNames>(method: TMethod, ...args: Parameters<FlowBoardComponentMethods[TMethod]>): ReturnType<FlowBoardComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FlowBoardElement>(property: TProperty, value: FlowBoardElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FlowBoardComponent.\n */\nexport type FlowBoardMethodNames = 'getColumns' | 'getColumnByKey' | 'onDefaultSlotChange' | 'moveItem' | 'reorderColumn' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FlowBoardComponent.\n */\nexport type FlowBoardComponentMethods = MethodMap<FlowBoardMethodNames>;\n\n/**\n * @public\n */\nexport function provideFlowBoardComponent(config: Partial<FlowBoardElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FLOW_BOARD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FocusRingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FocusRingComponent.\n * Use this token to provide default properties for the FocusRingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FOCUS_RING_DEFAULT_PROPS = new InjectionToken<Partial<FocusRingElement.Props>>('MOSAIK_FOCUS_RING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-focus-ring', FocusRingElement),\n    inputs: ['visible', 'inward', 'controlled', 'themeName', 'for', 'control', 'variant', 'dir', 'lang'],\n    methods: ['attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-focus-ring',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FocusRingComponent {\n    // #region Fields\n\n    private readonly _element: FocusRingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FOCUS_RING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `visible` property.\n     *\n     * @public\n     */\n    public readonly visible: InputSignal<FocusRingElement['visible'] | undefined> = input<FocusRingElement['visible']>();\n\n    /**\n     * Signal input for the `inward` property.\n     *\n     * @public\n     */\n    public readonly inward: InputSignal<FocusRingElement['inward'] | undefined> = input<FocusRingElement['inward']>();\n\n    /**\n     * Signal input for the `controlled` property.\n     *\n     * @public\n     */\n    public readonly controlled: InputSignal<FocusRingElement['controlled'] | undefined> = input<FocusRingElement['controlled']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FocusRingElement['themeName'] | undefined> = input<FocusRingElement['themeName']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<FocusRingElement['for'] | undefined> = input<FocusRingElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<FocusRingElement['control'] | undefined> = input<FocusRingElement['control']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<FocusRingElement['variant'] | undefined> = input<FocusRingElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FocusRingElement['dir'] | undefined> = input<FocusRingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FocusRingElement['lang'] | undefined> = input<FocusRingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const visibleValue = this.visible();\n                if (visibleValue !== undefined) {\n                    (this._element as any).visible = visibleValue;\n                }\n\n                const inwardValue = this.inward();\n                if (inwardValue !== undefined) {\n                    (this._element as any).inward = inwardValue;\n                }\n\n                const controlledValue = this.controlled();\n                if (controlledValue !== undefined) {\n                    (this._element as any).controlled = controlledValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FocusRingMethodNames>(method: TMethod, ...args: Parameters<FocusRingComponentMethods[TMethod]>): ReturnType<FocusRingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FocusRingElement>(property: TProperty, value: FocusRingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FocusRingComponent.\n */\nexport type FocusRingMethodNames = 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FocusRingComponent.\n */\nexport type FocusRingComponentMethods = MethodMap<FocusRingMethodNames>;\n\n/**\n * @public\n */\nexport function provideFocusRingComponent(config: Partial<FocusRingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FOCUS_RING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FontEditorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FontEditorComponent.\n * Use this token to provide default properties for the FontEditorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FONT_EDITOR_DEFAULT_PROPS = new InjectionToken<Partial<FontEditorElement.Props>>('MOSAIK_FONT_EDITOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-font-editor', FontEditorElement),\n    inputs: ['selected', 'fonts', 'loading', 'availableLetters', 'selectedFont', 'providers', 'collections', 'showPreview', 'showAlphabetFilter', 'showCategoryFilter', 'showSearch', 'showCollections', 'previewText', 'selectedCategory', 'selectedLetter', 'searchText', 'disabled', 'themeName', 'dir', 'lang'],\n    methods: ['addProvider', 'removeProvider', 'loadFonts', 'filterByLetter', 'filterByCategory', 'filterBySearch', 'selectFont', 'loadFont', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-font-editor',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FontEditorComponent {\n    // #region Fields\n\n    private readonly _element: FontEditorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('fontSelected', (e) => this.fontSelected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('fontChanged', (e) => this.fontChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FONT_EDITOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `selected` property.\n     *\n     * @public\n     */\n    public readonly selected: InputSignal<FontEditorElement['selected'] | undefined> = input<FontEditorElement['selected']>();\n\n    /**\n     * Signal input for the `fonts` property.\n     *\n     * @public\n     */\n    public readonly fonts: InputSignal<FontEditorElement['fonts'] | undefined> = input<FontEditorElement['fonts']>();\n\n    /**\n     * Signal input for the `loading` property.\n     *\n     * @public\n     */\n    public readonly loading: InputSignal<FontEditorElement['loading'] | undefined> = input<FontEditorElement['loading']>();\n\n    /**\n     * Signal input for the `availableLetters` property.\n     *\n     * @public\n     */\n    public readonly availableLetters: InputSignal<FontEditorElement['availableLetters'] | undefined> = input<FontEditorElement['availableLetters']>();\n\n    /**\n     * Signal input for the `selectedFont` property.\n     *\n     * @public\n     */\n    public readonly selectedFont: InputSignal<FontEditorElement['selectedFont'] | undefined> = input<FontEditorElement['selectedFont']>();\n\n    /**\n     * Signal input for the `providers` property.\n     *\n     * @public\n     */\n    public readonly providers: InputSignal<FontEditorElement['providers'] | undefined> = input<FontEditorElement['providers']>();\n\n    /**\n     * Signal input for the `collections` property.\n     *\n     * @public\n     */\n    public readonly collections: InputSignal<FontEditorElement['collections'] | undefined> = input<FontEditorElement['collections']>();\n\n    /**\n     * Signal input for the `showPreview` property.\n     *\n     * @public\n     */\n    public readonly showPreview: InputSignal<FontEditorElement['showPreview'] | undefined> = input<FontEditorElement['showPreview']>();\n\n    /**\n     * Signal input for the `showAlphabetFilter` property.\n     *\n     * @public\n     */\n    public readonly showAlphabetFilter: InputSignal<FontEditorElement['showAlphabetFilter'] | undefined> = input<FontEditorElement['showAlphabetFilter']>();\n\n    /**\n     * Signal input for the `showCategoryFilter` property.\n     *\n     * @public\n     */\n    public readonly showCategoryFilter: InputSignal<FontEditorElement['showCategoryFilter'] | undefined> = input<FontEditorElement['showCategoryFilter']>();\n\n    /**\n     * Signal input for the `showSearch` property.\n     *\n     * @public\n     */\n    public readonly showSearch: InputSignal<FontEditorElement['showSearch'] | undefined> = input<FontEditorElement['showSearch']>();\n\n    /**\n     * Signal input for the `showCollections` property.\n     *\n     * @public\n     */\n    public readonly showCollections: InputSignal<FontEditorElement['showCollections'] | undefined> = input<FontEditorElement['showCollections']>();\n\n    /**\n     * Signal input for the `previewText` property.\n     *\n     * @public\n     */\n    public readonly previewText: InputSignal<FontEditorElement['previewText'] | undefined> = input<FontEditorElement['previewText']>();\n\n    /**\n     * Signal input for the `selectedCategory` property.\n     *\n     * @public\n     */\n    public readonly selectedCategory: InputSignal<FontEditorElement['selectedCategory'] | undefined> = input<FontEditorElement['selectedCategory']>();\n\n    /**\n     * Signal input for the `selectedLetter` property.\n     *\n     * @public\n     */\n    public readonly selectedLetter: InputSignal<FontEditorElement['selectedLetter'] | undefined> = input<FontEditorElement['selectedLetter']>();\n\n    /**\n     * Signal input for the `searchText` property.\n     *\n     * @public\n     */\n    public readonly searchText: InputSignal<FontEditorElement['searchText'] | undefined> = input<FontEditorElement['searchText']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FontEditorElement['disabled'] | undefined> = input<FontEditorElement['disabled']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FontEditorElement['themeName'] | undefined> = input<FontEditorElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FontEditorElement['dir'] | undefined> = input<FontEditorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FontEditorElement['lang'] | undefined> = input<FontEditorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const selectedValue = this.selected();\n                if (selectedValue !== undefined) {\n                    (this._element as any).selected = selectedValue;\n                }\n\n                const fontsValue = this.fonts();\n                if (fontsValue !== undefined) {\n                    (this._element as any).fonts = fontsValue;\n                }\n\n                const loadingValue = this.loading();\n                if (loadingValue !== undefined) {\n                    (this._element as any).loading = loadingValue;\n                }\n\n                const availableLettersValue = this.availableLetters();\n                if (availableLettersValue !== undefined) {\n                    (this._element as any).availableLetters = availableLettersValue;\n                }\n\n                const selectedFontValue = this.selectedFont();\n                if (selectedFontValue !== undefined) {\n                    (this._element as any).selectedFont = selectedFontValue;\n                }\n\n                const providersValue = this.providers();\n                if (providersValue !== undefined) {\n                    (this._element as any).providers = providersValue;\n                }\n\n                const collectionsValue = this.collections();\n                if (collectionsValue !== undefined) {\n                    (this._element as any).collections = collectionsValue;\n                }\n\n                const showPreviewValue = this.showPreview();\n                if (showPreviewValue !== undefined) {\n                    (this._element as any).showPreview = showPreviewValue;\n                }\n\n                const showAlphabetFilterValue = this.showAlphabetFilter();\n                if (showAlphabetFilterValue !== undefined) {\n                    (this._element as any).showAlphabetFilter = showAlphabetFilterValue;\n                }\n\n                const showCategoryFilterValue = this.showCategoryFilter();\n                if (showCategoryFilterValue !== undefined) {\n                    (this._element as any).showCategoryFilter = showCategoryFilterValue;\n                }\n\n                const showSearchValue = this.showSearch();\n                if (showSearchValue !== undefined) {\n                    (this._element as any).showSearch = showSearchValue;\n                }\n\n                const showCollectionsValue = this.showCollections();\n                if (showCollectionsValue !== undefined) {\n                    (this._element as any).showCollections = showCollectionsValue;\n                }\n\n                const previewTextValue = this.previewText();\n                if (previewTextValue !== undefined) {\n                    (this._element as any).previewText = previewTextValue;\n                }\n\n                const selectedCategoryValue = this.selectedCategory();\n                if (selectedCategoryValue !== undefined) {\n                    (this._element as any).selectedCategory = selectedCategoryValue;\n                }\n\n                const selectedLetterValue = this.selectedLetter();\n                if (selectedLetterValue !== undefined) {\n                    (this._element as any).selectedLetter = selectedLetterValue;\n                }\n\n                const searchTextValue = this.searchText();\n                if (searchTextValue !== undefined) {\n                    (this._element as any).searchText = searchTextValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `fontSelected` event.\n     *\n     * @public\n     */\n    public readonly fontSelected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `fontChanged` event.\n     *\n     * @public\n     */\n    public readonly fontChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FontEditorMethodNames>(method: TMethod, ...args: Parameters<FontEditorComponentMethods[TMethod]>): ReturnType<FontEditorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FontEditorElement>(property: TProperty, value: FontEditorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FontEditorComponent.\n */\nexport type FontEditorMethodNames = 'addProvider' | 'removeProvider' | 'loadFonts' | 'filterByLetter' | 'filterByCategory' | 'filterBySearch' | 'selectFont' | 'loadFont' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FontEditorComponent.\n */\nexport type FontEditorComponentMethods = MethodMap<FontEditorMethodNames>;\n\n/**\n * @public\n */\nexport function provideFontEditorComponent(config: Partial<FontEditorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FONT_EDITOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FooterItemGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FooterItemGroupComponent.\n * Use this token to provide default properties for the FooterItemGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FOOTER_ITEM_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<FooterItemGroupElement.Props>>('MOSAIK_FOOTER_ITEM_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for FooterItemElement children or other content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-footer-item-group', FooterItemGroupElement),\n    inputs: ['open', 'header', 'themeName', 'dir', 'lang'],\n    methods: ['toggle', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-footer-item-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FooterItemGroupComponent {\n    // #region Fields\n\n    private readonly _element: FooterItemGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FOOTER_ITEM_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `open` property.\n     *\n     * @public\n     */\n    public readonly open: InputSignal<FooterItemGroupElement['open'] | undefined> = input<FooterItemGroupElement['open']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<FooterItemGroupElement['header'] | undefined> = input<FooterItemGroupElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FooterItemGroupElement['themeName'] | undefined> = input<FooterItemGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FooterItemGroupElement['dir'] | undefined> = input<FooterItemGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FooterItemGroupElement['lang'] | undefined> = input<FooterItemGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const openValue = this.open();\n                if (openValue !== undefined) {\n                    (this._element as any).open = openValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FooterItemGroupMethodNames>(method: TMethod, ...args: Parameters<FooterItemGroupComponentMethods[TMethod]>): ReturnType<FooterItemGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FooterItemGroupElement>(property: TProperty, value: FooterItemGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FooterItemGroupComponent.\n */\nexport type FooterItemGroupMethodNames = 'toggle' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FooterItemGroupComponent.\n */\nexport type FooterItemGroupComponentMethods = MethodMap<FooterItemGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideFooterItemGroupComponent(config: Partial<FooterItemGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FOOTER_ITEM_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FooterItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FooterItemComponent.\n * Use this token to provide default properties for the FooterItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FOOTER_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<FooterItemElement.Props>>('MOSAIK_FOOTER_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for link or content (typically an anchor tag)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-footer-item', FooterItemElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-footer-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FooterItemComponent {\n    // #region Fields\n\n    private readonly _element: FooterItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FOOTER_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FooterItemElement['themeName'] | undefined> = input<FooterItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FooterItemElement['dir'] | undefined> = input<FooterItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FooterItemElement['lang'] | undefined> = input<FooterItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FooterItemMethodNames>(method: TMethod, ...args: Parameters<FooterItemComponentMethods[TMethod]>): ReturnType<FooterItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FooterItemElement>(property: TProperty, value: FooterItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FooterItemComponent.\n */\nexport type FooterItemMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FooterItemComponent.\n */\nexport type FooterItemComponentMethods = MethodMap<FooterItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideFooterItemComponent(config: Partial<FooterItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FOOTER_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FooterComponent.\n * Use this token to provide default properties for the FooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<FooterElement.Props>>('MOSAIK_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot bottom - Full-width content area below the main footer section\n * @slot brand - The brand slot.\n * @slot end - Right/end column content (additional links, social media, etc.)\n * @slot start - Left/start column content (navigation links, etc.)\n * @slot top - Full-width content area above the main footer section\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-footer', FooterElement),\n    inputs: ['brand', 'copyright', 'breakpoint', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FooterComponent {\n    // #region Fields\n\n    private readonly _element: FooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `brand` property.\n     *\n     * @public\n     */\n    public readonly brand: InputSignal<FooterElement['brand'] | undefined> = input<FooterElement['brand']>();\n\n    /**\n     * Signal input for the `copyright` property.\n     *\n     * @public\n     */\n    public readonly copyright: InputSignal<FooterElement['copyright'] | undefined> = input<FooterElement['copyright']>();\n\n    /**\n     * Signal input for the `breakpoint` property.\n     *\n     * @public\n     */\n    public readonly breakpoint: InputSignal<FooterElement['breakpoint'] | undefined> = input<FooterElement['breakpoint']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FooterElement['themeName'] | undefined> = input<FooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FooterElement['dir'] | undefined> = input<FooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FooterElement['lang'] | undefined> = input<FooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const brandValue = this.brand();\n                if (brandValue !== undefined) {\n                    (this._element as any).brand = brandValue;\n                }\n\n                const copyrightValue = this.copyright();\n                if (copyrightValue !== undefined) {\n                    (this._element as any).copyright = copyrightValue;\n                }\n\n                const breakpointValue = this.breakpoint();\n                if (breakpointValue !== undefined) {\n                    (this._element as any).breakpoint = breakpointValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FooterMethodNames>(method: TMethod, ...args: Parameters<FooterComponentMethods[TMethod]>): ReturnType<FooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FooterElement>(property: TProperty, value: FooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FooterComponent.\n */\nexport type FooterMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FooterComponent.\n */\nexport type FooterComponentMethods = MethodMap<FooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideFooterComponent(config: Partial<FooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FormFieldElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FormFieldComponent.\n * Use this token to provide default properties for the FormFieldComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FORM_FIELD_DEFAULT_PROPS = new InjectionToken<Partial<FormFieldElement.Props>>('MOSAIK_FORM_FIELD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the form field control.\n * @slot actions - Slot for additional information or helper text.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-form-field', FormFieldElement),\n    inputs: ['hint', 'error', 'info', 'validators', 'accessor', 'required', 'themeName', 'label', 'validity', 'validationMessage', 'willValidate', 'name', 'disabled', 'internals', 'form', 'labels', 'dir', 'lang'],\n    methods: ['checkValidity', 'reportValidity', 'formDisabledCallback', 'formResetCallback', 'formStateRestoreCallback', 'getFormValue', 'onSlotChange', 'formAssociatedCallback', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate', 'getFormState']\n})\n@Component({\n    selector: 'mosaik-form-field',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FormFieldComponent {\n    // #region Fields\n\n    private readonly _element: FormFieldElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('invalid', (e) => this.invalid.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FORM_FIELD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hint` property.\n     *\n     * @public\n     */\n    public readonly hint: InputSignal<FormFieldElement['hint'] | undefined> = input<FormFieldElement['hint']>();\n\n    /**\n     * Signal input for the `error` property.\n     *\n     * @public\n     */\n    public readonly error: InputSignal<FormFieldElement['error'] | undefined> = input<FormFieldElement['error']>();\n\n    /**\n     * Signal input for the `info` property.\n     *\n     * @public\n     */\n    public readonly info: InputSignal<FormFieldElement['info'] | undefined> = input<FormFieldElement['info']>();\n\n    /**\n     * Signal input for the `validators` property.\n     *\n     * @public\n     */\n    public readonly validators: InputSignal<FormFieldElement['validators'] | undefined> = input<FormFieldElement['validators']>();\n\n    /**\n     * Signal input for the `accessor` property.\n     *\n     * @public\n     */\n    public readonly accessor: InputSignal<FormFieldElement['accessor'] | undefined> = input<FormFieldElement['accessor']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<FormFieldElement['required'] | undefined> = input<FormFieldElement['required']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FormFieldElement['themeName'] | undefined> = input<FormFieldElement['themeName']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<FormFieldElement['label'] | undefined> = input<FormFieldElement['label']>();\n\n    /**\n     * Signal input for the `validity` property.\n     *\n     * @public\n     */\n    public readonly validity: InputSignal<FormFieldElement['validity'] | undefined> = input<FormFieldElement['validity']>();\n\n    /**\n     * Signal input for the `validationMessage` property.\n     *\n     * @public\n     */\n    public readonly validationMessage: InputSignal<FormFieldElement['validationMessage'] | undefined> = input<FormFieldElement['validationMessage']>();\n\n    /**\n     * Signal input for the `willValidate` property.\n     *\n     * @public\n     */\n    public readonly willValidate: InputSignal<FormFieldElement['willValidate'] | undefined> = input<FormFieldElement['willValidate']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<FormFieldElement['name'] | undefined> = input<FormFieldElement['name']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<FormFieldElement['disabled'] | undefined> = input<FormFieldElement['disabled']>();\n\n    /**\n     * Signal input for the `internals` property.\n     *\n     * @public\n     */\n    public readonly internals: InputSignal<FormFieldElement['internals'] | undefined> = input<FormFieldElement['internals']>();\n\n    /**\n     * Signal input for the `form` property.\n     *\n     * @public\n     */\n    public readonly form: InputSignal<FormFieldElement['form'] | undefined> = input<FormFieldElement['form']>();\n\n    /**\n     * Signal input for the `labels` property.\n     *\n     * @public\n     */\n    public readonly labels: InputSignal<FormFieldElement['labels'] | undefined> = input<FormFieldElement['labels']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FormFieldElement['dir'] | undefined> = input<FormFieldElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FormFieldElement['lang'] | undefined> = input<FormFieldElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hintValue = this.hint();\n                if (hintValue !== undefined) {\n                    (this._element as any).hint = hintValue;\n                }\n\n                const errorValue = this.error();\n                if (errorValue !== undefined) {\n                    (this._element as any).error = errorValue;\n                }\n\n                const infoValue = this.info();\n                if (infoValue !== undefined) {\n                    (this._element as any).info = infoValue;\n                }\n\n                const validatorsValue = this.validators();\n                if (validatorsValue !== undefined) {\n                    (this._element as any).validators = validatorsValue;\n                }\n\n                const accessorValue = this.accessor();\n                if (accessorValue !== undefined) {\n                    (this._element as any).accessor = accessorValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const validationMessageValue = this.validationMessage();\n                if (validationMessageValue !== undefined) {\n                    (this._element as any).validationMessage = validationMessageValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formValue = this.form();\n                if (formValue !== undefined) {\n                    (this._element as any).form = formValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `invalid` event.\n     *\n     * @public\n     */\n    public readonly invalid: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FormFieldMethodNames>(method: TMethod, ...args: Parameters<FormFieldComponentMethods[TMethod]>): ReturnType<FormFieldComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FormFieldElement>(property: TProperty, value: FormFieldElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FormFieldComponent.\n */\nexport type FormFieldMethodNames = 'checkValidity' | 'reportValidity' | 'formDisabledCallback' | 'formResetCallback' | 'formStateRestoreCallback' | 'getFormValue' | 'onSlotChange' | 'formAssociatedCallback' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate' | 'getFormState';\n\n/**\n * Declares the methods interface for FormFieldComponent.\n */\nexport type FormFieldComponentMethods = MethodMap<FormFieldMethodNames>;\n\n/**\n * @public\n */\nexport function provideFormFieldComponent(config: Partial<FormFieldElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FORM_FIELD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { FormElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the FormComponent.\n * Use this token to provide default properties for the FormComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const FORM_DEFAULT_PROPS = new InjectionToken<Partial<FormElement.Props>>('MOSAIK_FORM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for form controls, form fields, and layout elements\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-form', FormElement),\n    inputs: ['reseted', 'novalidate', 'autocomplete', 'name', 'themeName', 'dir', 'lang'],\n    methods: ['submit', 'reset', 'reportValidity', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-form',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class FormComponent {\n    // #region Fields\n\n    private readonly _element: FormElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('submitted', (e) => this.submitted.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('formReset', (e) => this.formReset.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(FORM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `reseted` property.\n     *\n     * @public\n     */\n    public readonly reseted: InputSignal<FormElement['reseted'] | undefined> = input<FormElement['reseted']>();\n\n    /**\n     * Signal input for the `novalidate` property.\n     *\n     * @public\n     */\n    public readonly novalidate: InputSignal<FormElement['novalidate'] | undefined> = input<FormElement['novalidate']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<FormElement['autocomplete'] | undefined> = input<FormElement['autocomplete']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<FormElement['name'] | undefined> = input<FormElement['name']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<FormElement['themeName'] | undefined> = input<FormElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<FormElement['dir'] | undefined> = input<FormElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<FormElement['lang'] | undefined> = input<FormElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const resetedValue = this.reseted();\n                if (resetedValue !== undefined) {\n                    (this._element as any).reseted = resetedValue;\n                }\n\n                const novalidateValue = this.novalidate();\n                if (novalidateValue !== undefined) {\n                    (this._element as any).novalidate = novalidateValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `submitted` event.\n     *\n     * @public\n     */\n    public readonly submitted: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `formReset` event.\n     *\n     * @public\n     */\n    public readonly formReset: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends FormMethodNames>(method: TMethod, ...args: Parameters<FormComponentMethods[TMethod]>): ReturnType<FormComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof FormElement>(property: TProperty, value: FormElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on FormComponent.\n */\nexport type FormMethodNames = 'submit' | 'reset' | 'reportValidity' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for FormComponent.\n */\nexport type FormComponentMethods = MethodMap<FormMethodNames>;\n\n/**\n * @public\n */\nexport function provideFormComponent(config: Partial<FormElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: FORM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { GhostElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the GhostComponent.\n * Use this token to provide default properties for the GhostComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const GHOST_DEFAULT_PROPS = new InjectionToken<Partial<GhostElement.Props>>('MOSAIK_GHOST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot (typically empty or used for hidden reference content)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-ghost', GhostElement),\n    inputs: ['top', 'left', 'themeName', 'width', 'height', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-ghost',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class GhostComponent {\n    // #region Fields\n\n    private readonly _element: GhostElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(GHOST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `top` property.\n     *\n     * @public\n     */\n    public readonly top: InputSignal<GhostElement['top'] | undefined> = input<GhostElement['top']>();\n\n    /**\n     * Signal input for the `left` property.\n     *\n     * @public\n     */\n    public readonly left: InputSignal<GhostElement['left'] | undefined> = input<GhostElement['left']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<GhostElement['themeName'] | undefined> = input<GhostElement['themeName']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<GhostElement['width'] | undefined> = input<GhostElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<GhostElement['height'] | undefined> = input<GhostElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<GhostElement['dir'] | undefined> = input<GhostElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<GhostElement['lang'] | undefined> = input<GhostElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const topValue = this.top();\n                if (topValue !== undefined) {\n                    (this._element as any).top = topValue;\n                }\n\n                const leftValue = this.left();\n                if (leftValue !== undefined) {\n                    (this._element as any).left = leftValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends GhostMethodNames>(method: TMethod, ...args: Parameters<GhostComponentMethods[TMethod]>): ReturnType<GhostComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof GhostElement>(property: TProperty, value: GhostElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on GhostComponent.\n */\nexport type GhostMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for GhostComponent.\n */\nexport type GhostComponentMethods = MethodMap<GhostMethodNames>;\n\n/**\n * @public\n */\nexport function provideGhostComponent(config: Partial<GhostElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: GHOST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { GridItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the GridItemComponent.\n * Use this token to provide default properties for the GridItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const GRID_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<GridItemElement.Props>>('MOSAIK_GRID_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-grid-item', GridItemElement),\n    inputs: ['column', 'columnSpan', 'row', 'rowSpan', 'themeName', 'dir', 'lang'],\n    methods: ['invalidatePosition', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-grid-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class GridItemComponent {\n    // #region Fields\n\n    private readonly _element: GridItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(GRID_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `column` property.\n     *\n     * @public\n     */\n    public readonly column: InputSignal<GridItemElement['column'] | undefined> = input<GridItemElement['column']>();\n\n    /**\n     * Signal input for the `columnSpan` property.\n     *\n     * @public\n     */\n    public readonly columnSpan: InputSignal<GridItemElement['columnSpan'] | undefined> = input<GridItemElement['columnSpan']>();\n\n    /**\n     * Signal input for the `row` property.\n     *\n     * @public\n     */\n    public readonly row: InputSignal<GridItemElement['row'] | undefined> = input<GridItemElement['row']>();\n\n    /**\n     * Signal input for the `rowSpan` property.\n     *\n     * @public\n     */\n    public readonly rowSpan: InputSignal<GridItemElement['rowSpan'] | undefined> = input<GridItemElement['rowSpan']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<GridItemElement['themeName'] | undefined> = input<GridItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<GridItemElement['dir'] | undefined> = input<GridItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<GridItemElement['lang'] | undefined> = input<GridItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnValue = this.column();\n                if (columnValue !== undefined) {\n                    (this._element as any).column = columnValue;\n                }\n\n                const columnSpanValue = this.columnSpan();\n                if (columnSpanValue !== undefined) {\n                    (this._element as any).columnSpan = columnSpanValue;\n                }\n\n                const rowValue = this.row();\n                if (rowValue !== undefined) {\n                    (this._element as any).row = rowValue;\n                }\n\n                const rowSpanValue = this.rowSpan();\n                if (rowSpanValue !== undefined) {\n                    (this._element as any).rowSpan = rowSpanValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends GridItemMethodNames>(method: TMethod, ...args: Parameters<GridItemComponentMethods[TMethod]>): ReturnType<GridItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof GridItemElement>(property: TProperty, value: GridItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on GridItemComponent.\n */\nexport type GridItemMethodNames = 'invalidatePosition' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for GridItemComponent.\n */\nexport type GridItemComponentMethods = MethodMap<GridItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideGridItemComponent(config: Partial<GridItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: GRID_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { GridElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the GridComponent.\n * Use this token to provide default properties for the GridComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const GRID_DEFAULT_PROPS = new InjectionToken<Partial<GridElement.Props>>('MOSAIK_GRID_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for grid items.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-grid', GridElement),\n    inputs: ['rowDefinitions', 'columnDefinitions', 'gap', 'horizontalAlignment', 'verticalAlignment', 'themeName', 'items', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-grid',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class GridComponent {\n    // #region Fields\n\n    private readonly _element: GridElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(GRID_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `rowDefinitions` property.\n     *\n     * @public\n     */\n    public readonly rowDefinitions: InputSignal<GridElement['rowDefinitions'] | undefined> = input<GridElement['rowDefinitions']>();\n\n    /**\n     * Signal input for the `columnDefinitions` property.\n     *\n     * @public\n     */\n    public readonly columnDefinitions: InputSignal<GridElement['columnDefinitions'] | undefined> = input<GridElement['columnDefinitions']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<GridElement['gap'] | undefined> = input<GridElement['gap']>();\n\n    /**\n     * Signal input for the `horizontalAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalAlignment: InputSignal<GridElement['horizontalAlignment'] | undefined> = input<GridElement['horizontalAlignment']>();\n\n    /**\n     * Signal input for the `verticalAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalAlignment: InputSignal<GridElement['verticalAlignment'] | undefined> = input<GridElement['verticalAlignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<GridElement['themeName'] | undefined> = input<GridElement['themeName']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<GridElement['items'] | undefined> = input<GridElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<GridElement['dir'] | undefined> = input<GridElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<GridElement['lang'] | undefined> = input<GridElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const rowDefinitionsValue = this.rowDefinitions();\n                if (rowDefinitionsValue !== undefined) {\n                    (this._element as any).rowDefinitions = rowDefinitionsValue;\n                }\n\n                const columnDefinitionsValue = this.columnDefinitions();\n                if (columnDefinitionsValue !== undefined) {\n                    (this._element as any).columnDefinitions = columnDefinitionsValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const horizontalAlignmentValue = this.horizontalAlignment();\n                if (horizontalAlignmentValue !== undefined) {\n                    (this._element as any).horizontalAlignment = horizontalAlignmentValue;\n                }\n\n                const verticalAlignmentValue = this.verticalAlignment();\n                if (verticalAlignmentValue !== undefined) {\n                    (this._element as any).verticalAlignment = verticalAlignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends GridMethodNames>(method: TMethod, ...args: Parameters<GridComponentMethods[TMethod]>): ReturnType<GridComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof GridElement>(property: TProperty, value: GridElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on GridComponent.\n */\nexport type GridMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for GridComponent.\n */\nexport type GridComponentMethods = MethodMap<GridMethodNames>;\n\n/**\n * @public\n */\nexport function provideGridComponent(config: Partial<GridElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: GRID_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { HelmetElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the HelmetComponent.\n * Use this token to provide default properties for the HelmetComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const HELMET_DEFAULT_PROPS = new InjectionToken<Partial<HelmetElement.Props>>('MOSAIK_HELMET_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-helmet', HelmetElement),\n    inputs: ['dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-helmet',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class HelmetComponent {\n    // #region Fields\n\n    private readonly _element: HelmetElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(HELMET_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<HelmetElement['dir'] | undefined> = input<HelmetElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<HelmetElement['lang'] | undefined> = input<HelmetElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends HelmetMethodNames>(method: TMethod, ...args: Parameters<HelmetComponentMethods[TMethod]>): ReturnType<HelmetComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof HelmetElement>(property: TProperty, value: HelmetElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on HelmetComponent.\n */\nexport type HelmetMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for HelmetComponent.\n */\nexport type HelmetComponentMethods = MethodMap<HelmetMethodNames>;\n\n/**\n * @public\n */\nexport function provideHelmetComponent(config: Partial<HelmetElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: HELMET_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { HintElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the HintComponent.\n * Use this token to provide default properties for the HintComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const HINT_DEFAULT_PROPS = new InjectionToken<Partial<HintElement.Props>>('MOSAIK_HINT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-hint', HintElement),\n    inputs: ['text', 'textOverflow', 'alignment', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-hint',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class HintComponent {\n    // #region Fields\n\n    private readonly _element: HintElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(HINT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<HintElement['text'] | undefined> = input<HintElement['text']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<HintElement['textOverflow'] | undefined> = input<HintElement['textOverflow']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<HintElement['alignment'] | undefined> = input<HintElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<HintElement['themeName'] | undefined> = input<HintElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<HintElement['formatter'] | undefined> = input<HintElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<HintElement['dir'] | undefined> = input<HintElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<HintElement['lang'] | undefined> = input<HintElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends HintMethodNames>(method: TMethod, ...args: Parameters<HintComponentMethods[TMethod]>): ReturnType<HintComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof HintElement>(property: TProperty, value: HintElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on HintComponent.\n */\nexport type HintMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for HintComponent.\n */\nexport type HintComponentMethods = MethodMap<HintMethodNames>;\n\n/**\n * @public\n */\nexport function provideHintComponent(config: Partial<HintElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: HINT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { IconElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the IconComponent.\n * Use this token to provide default properties for the IconComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const ICON_DEFAULT_PROPS = new InjectionToken<Partial<IconElement.Props>>('MOSAIK_ICON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-icon', IconElement),\n    inputs: ['readonly', 'data', 'angle', 'inline', 'grid', 'themeName', 'variant', 'size', 'appearance', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-icon',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class IconComponent {\n    // #region Fields\n\n    private readonly _element: IconElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(ICON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<IconElement['readonly'] | undefined> = input<IconElement['readonly']>();\n\n    /**\n     * Signal input for the `data` property.\n     *\n     * @public\n     */\n    public readonly data: InputSignal<IconElement['data'] | undefined> = input<IconElement['data']>();\n\n    /**\n     * Signal input for the `angle` property.\n     *\n     * @public\n     */\n    public readonly angle: InputSignal<IconElement['angle'] | undefined> = input<IconElement['angle']>();\n\n    /**\n     * Signal input for the `inline` property.\n     *\n     * @public\n     */\n    public readonly inline: InputSignal<IconElement['inline'] | undefined> = input<IconElement['inline']>();\n\n    /**\n     * Signal input for the `grid` property.\n     *\n     * @public\n     */\n    public readonly grid: InputSignal<IconElement['grid'] | undefined> = input<IconElement['grid']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<IconElement['themeName'] | undefined> = input<IconElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<IconElement['variant'] | undefined> = input<IconElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<IconElement['size'] | undefined> = input<IconElement['size']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<IconElement['appearance'] | undefined> = input<IconElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<IconElement['disabled'] | undefined> = input<IconElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<IconElement['dir'] | undefined> = input<IconElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<IconElement['lang'] | undefined> = input<IconElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const dataValue = this.data();\n                if (dataValue !== undefined) {\n                    (this._element as any).data = dataValue;\n                }\n\n                const angleValue = this.angle();\n                if (angleValue !== undefined) {\n                    (this._element as any).angle = angleValue;\n                }\n\n                const inlineValue = this.inline();\n                if (inlineValue !== undefined) {\n                    (this._element as any).inline = inlineValue;\n                }\n\n                const gridValue = this.grid();\n                if (gridValue !== undefined) {\n                    (this._element as any).grid = gridValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends IconMethodNames>(method: TMethod, ...args: Parameters<IconComponentMethods[TMethod]>): ReturnType<IconComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof IconElement>(property: TProperty, value: IconElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on IconComponent.\n */\nexport type IconMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for IconComponent.\n */\nexport type IconComponentMethods = MethodMap<IconMethodNames>;\n\n/**\n * @public\n */\nexport function provideIconComponent(config: Partial<IconElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: ICON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ImageElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ImageComponent.\n * Use this token to provide default properties for the ImageComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const IMAGE_DEFAULT_PROPS = new InjectionToken<Partial<ImageElement.Props>>('MOSAIK_IMAGE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content overlaid on the image\n * @slot empty - Content shown when no image source is provided\n * @slot failed - Content displayed when image loading fails\n * @slot pending - Content shown while image is loading\n * @slot legend - Caption or description content positioned around the image\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-image', ImageElement),\n    inputs: ['alt', 'src', 'srcset', 'state', 'fit', 'thumbnailSrc', 'showFailed', 'showEmpty', 'showPending', 'legend', 'legendPosition', 'ratio', 'themeName', 'disabled', 'variant', 'width', 'height', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-image',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ImageComponent {\n    // #region Fields\n\n    private readonly _element: ImageElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('imageLoaded', (e) => this.imageLoaded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('imageFailed', (e) => this.imageFailed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(IMAGE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `alt` property.\n     *\n     * @public\n     */\n    public readonly alt: InputSignal<ImageElement['alt'] | undefined> = input<ImageElement['alt']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<ImageElement['src'] | undefined> = input<ImageElement['src']>();\n\n    /**\n     * Signal input for the `srcset` property.\n     *\n     * @public\n     */\n    public readonly srcset: InputSignal<ImageElement['srcset'] | undefined> = input<ImageElement['srcset']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<ImageElement['state'] | undefined> = input<ImageElement['state']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ImageElement['fit'] | undefined> = input<ImageElement['fit']>();\n\n    /**\n     * Signal input for the `thumbnailSrc` property.\n     *\n     * @public\n     */\n    public readonly thumbnailSrc: InputSignal<ImageElement['thumbnailSrc'] | undefined> = input<ImageElement['thumbnailSrc']>();\n\n    /**\n     * Signal input for the `showFailed` property.\n     *\n     * @public\n     */\n    public readonly showFailed: InputSignal<ImageElement['showFailed'] | undefined> = input<ImageElement['showFailed']>();\n\n    /**\n     * Signal input for the `showEmpty` property.\n     *\n     * @public\n     */\n    public readonly showEmpty: InputSignal<ImageElement['showEmpty'] | undefined> = input<ImageElement['showEmpty']>();\n\n    /**\n     * Signal input for the `showPending` property.\n     *\n     * @public\n     */\n    public readonly showPending: InputSignal<ImageElement['showPending'] | undefined> = input<ImageElement['showPending']>();\n\n    /**\n     * Signal input for the `legend` property.\n     *\n     * @public\n     */\n    public readonly legend: InputSignal<ImageElement['legend'] | undefined> = input<ImageElement['legend']>();\n\n    /**\n     * Signal input for the `legendPosition` property.\n     *\n     * @public\n     */\n    public readonly legendPosition: InputSignal<ImageElement['legendPosition'] | undefined> = input<ImageElement['legendPosition']>();\n\n    /**\n     * Signal input for the `ratio` property.\n     *\n     * @public\n     */\n    public readonly ratio: InputSignal<ImageElement['ratio'] | undefined> = input<ImageElement['ratio']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ImageElement['themeName'] | undefined> = input<ImageElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ImageElement['disabled'] | undefined> = input<ImageElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ImageElement['variant'] | undefined> = input<ImageElement['variant']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<ImageElement['width'] | undefined> = input<ImageElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<ImageElement['height'] | undefined> = input<ImageElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ImageElement['dir'] | undefined> = input<ImageElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ImageElement['lang'] | undefined> = input<ImageElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const altValue = this.alt();\n                if (altValue !== undefined) {\n                    (this._element as any).alt = altValue;\n                }\n\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const srcsetValue = this.srcset();\n                if (srcsetValue !== undefined) {\n                    (this._element as any).srcset = srcsetValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const thumbnailSrcValue = this.thumbnailSrc();\n                if (thumbnailSrcValue !== undefined) {\n                    (this._element as any).thumbnailSrc = thumbnailSrcValue;\n                }\n\n                const showFailedValue = this.showFailed();\n                if (showFailedValue !== undefined) {\n                    (this._element as any).showFailed = showFailedValue;\n                }\n\n                const showEmptyValue = this.showEmpty();\n                if (showEmptyValue !== undefined) {\n                    (this._element as any).showEmpty = showEmptyValue;\n                }\n\n                const showPendingValue = this.showPending();\n                if (showPendingValue !== undefined) {\n                    (this._element as any).showPending = showPendingValue;\n                }\n\n                const legendValue = this.legend();\n                if (legendValue !== undefined) {\n                    (this._element as any).legend = legendValue;\n                }\n\n                const legendPositionValue = this.legendPosition();\n                if (legendPositionValue !== undefined) {\n                    (this._element as any).legendPosition = legendPositionValue;\n                }\n\n                const ratioValue = this.ratio();\n                if (ratioValue !== undefined) {\n                    (this._element as any).ratio = ratioValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `imageLoaded` event.\n     *\n     * @public\n     */\n    public readonly imageLoaded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `imageFailed` event.\n     *\n     * @public\n     */\n    public readonly imageFailed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ImageMethodNames>(method: TMethod, ...args: Parameters<ImageComponentMethods[TMethod]>): ReturnType<ImageComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ImageElement>(property: TProperty, value: ImageElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ImageComponent.\n */\nexport type ImageMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ImageComponent.\n */\nexport type ImageComponentMethods = MethodMap<ImageMethodNames>;\n\n/**\n * @public\n */\nexport function provideImageComponent(config: Partial<ImageElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: IMAGE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { IndicatorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the IndicatorComponent.\n * Use this token to provide default properties for the IndicatorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const INDICATOR_DEFAULT_PROPS = new InjectionToken<Partial<IndicatorElement.Props>>('MOSAIK_INDICATOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-indicator', IndicatorElement),\n    inputs: ['total', 'selected', 'themeName', 'disabled', 'variant', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-indicator',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class IndicatorComponent {\n    // #region Fields\n\n    private readonly _element: IndicatorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('indicated', (e) => this.indicated.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(INDICATOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `total` property.\n     *\n     * @public\n     */\n    public readonly total: InputSignal<IndicatorElement['total'] | undefined> = input<IndicatorElement['total']>();\n\n    /**\n     * Signal input for the `selected` property.\n     *\n     * @public\n     */\n    public readonly selected: InputSignal<IndicatorElement['selected'] | undefined> = input<IndicatorElement['selected']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<IndicatorElement['themeName'] | undefined> = input<IndicatorElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<IndicatorElement['disabled'] | undefined> = input<IndicatorElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<IndicatorElement['variant'] | undefined> = input<IndicatorElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<IndicatorElement['orientation'] | undefined> = input<IndicatorElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<IndicatorElement['dir'] | undefined> = input<IndicatorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<IndicatorElement['lang'] | undefined> = input<IndicatorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const totalValue = this.total();\n                if (totalValue !== undefined) {\n                    (this._element as any).total = totalValue;\n                }\n\n                const selectedValue = this.selected();\n                if (selectedValue !== undefined) {\n                    (this._element as any).selected = selectedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `indicated` event.\n     *\n     * @public\n     */\n    public readonly indicated: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends IndicatorMethodNames>(method: TMethod, ...args: Parameters<IndicatorComponentMethods[TMethod]>): ReturnType<IndicatorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof IndicatorElement>(property: TProperty, value: IndicatorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on IndicatorComponent.\n */\nexport type IndicatorMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for IndicatorComponent.\n */\nexport type IndicatorComponentMethods = MethodMap<IndicatorMethodNames>;\n\n/**\n * @public\n */\nexport function provideIndicatorComponent(config: Partial<IndicatorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: INDICATOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { JumbotronHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the JumbotronHeaderComponent.\n * Use this token to provide default properties for the JumbotronHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const JUMBOTRON_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<JumbotronHeaderElement.Props>>('MOSAIK_JUMBOTRON_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for custom header content (overrides text attribute)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-jumbotron-header', JumbotronHeaderElement),\n    inputs: ['text', 'alignment', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-jumbotron-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class JumbotronHeaderComponent {\n    // #region Fields\n\n    private readonly _element: JumbotronHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(JUMBOTRON_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<JumbotronHeaderElement['text'] | undefined> = input<JumbotronHeaderElement['text']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<JumbotronHeaderElement['alignment'] | undefined> = input<JumbotronHeaderElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<JumbotronHeaderElement['themeName'] | undefined> = input<JumbotronHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<JumbotronHeaderElement['formatter'] | undefined> = input<JumbotronHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<JumbotronHeaderElement['dir'] | undefined> = input<JumbotronHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<JumbotronHeaderElement['lang'] | undefined> = input<JumbotronHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends JumbotronHeaderMethodNames>(method: TMethod, ...args: Parameters<JumbotronHeaderComponentMethods[TMethod]>): ReturnType<JumbotronHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof JumbotronHeaderElement>(property: TProperty, value: JumbotronHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on JumbotronHeaderComponent.\n */\nexport type JumbotronHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for JumbotronHeaderComponent.\n */\nexport type JumbotronHeaderComponentMethods = MethodMap<JumbotronHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideJumbotronHeaderComponent(config: Partial<JumbotronHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: JUMBOTRON_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { JumbotronSubHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the JumbotronSubHeaderComponent.\n * Use this token to provide default properties for the JumbotronSubHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const JUMBOTRON_SUB_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<JumbotronSubHeaderElement.Props>>('MOSAIK_JUMBOTRON_SUB_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for custom subheader content (overrides text attribute)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-jumbotron-sub-header', JumbotronSubHeaderElement),\n    inputs: ['text', 'alignment', 'themeName', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-jumbotron-sub-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class JumbotronSubHeaderComponent {\n    // #region Fields\n\n    private readonly _element: JumbotronSubHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(JUMBOTRON_SUB_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<JumbotronSubHeaderElement['text'] | undefined> = input<JumbotronSubHeaderElement['text']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<JumbotronSubHeaderElement['alignment'] | undefined> = input<JumbotronSubHeaderElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<JumbotronSubHeaderElement['themeName'] | undefined> = input<JumbotronSubHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<JumbotronSubHeaderElement['formatter'] | undefined> = input<JumbotronSubHeaderElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<JumbotronSubHeaderElement['dir'] | undefined> = input<JumbotronSubHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<JumbotronSubHeaderElement['lang'] | undefined> = input<JumbotronSubHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends JumbotronSubHeaderMethodNames>(method: TMethod, ...args: Parameters<JumbotronSubHeaderComponentMethods[TMethod]>): ReturnType<JumbotronSubHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof JumbotronSubHeaderElement>(property: TProperty, value: JumbotronSubHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on JumbotronSubHeaderComponent.\n */\nexport type JumbotronSubHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for JumbotronSubHeaderComponent.\n */\nexport type JumbotronSubHeaderComponentMethods = MethodMap<JumbotronSubHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideJumbotronSubHeaderComponent(config: Partial<JumbotronSubHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: JUMBOTRON_SUB_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { JumbotronElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the JumbotronComponent.\n * Use this token to provide default properties for the JumbotronComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const JUMBOTRON_DEFAULT_PROPS = new InjectionToken<Partial<JumbotronElement.Props>>('MOSAIK_JUMBOTRON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot actions - Action buttons or interactive elements\n * @slot header - Main heading content (or use header attribute)\n * @slot hint - Descriptive text or instructions (or use hint attribute)\n * @slot subHeader - Secondary heading content (or use subHeader attribute)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-jumbotron', JumbotronElement),\n    inputs: ['header', 'subHeader', 'hint', 'alignment', 'themeName', 'appearance', 'formatter', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-jumbotron',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class JumbotronComponent {\n    // #region Fields\n\n    private readonly _element: JumbotronElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(JUMBOTRON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<JumbotronElement['header'] | undefined> = input<JumbotronElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<JumbotronElement['subHeader'] | undefined> = input<JumbotronElement['subHeader']>();\n\n    /**\n     * Signal input for the `hint` property.\n     *\n     * @public\n     */\n    public readonly hint: InputSignal<JumbotronElement['hint'] | undefined> = input<JumbotronElement['hint']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<JumbotronElement['alignment'] | undefined> = input<JumbotronElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<JumbotronElement['themeName'] | undefined> = input<JumbotronElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<JumbotronElement['appearance'] | undefined> = input<JumbotronElement['appearance']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<JumbotronElement['formatter'] | undefined> = input<JumbotronElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<JumbotronElement['dir'] | undefined> = input<JumbotronElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<JumbotronElement['lang'] | undefined> = input<JumbotronElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const hintValue = this.hint();\n                if (hintValue !== undefined) {\n                    (this._element as any).hint = hintValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends JumbotronMethodNames>(method: TMethod, ...args: Parameters<JumbotronComponentMethods[TMethod]>): ReturnType<JumbotronComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof JumbotronElement>(property: TProperty, value: JumbotronElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on JumbotronComponent.\n */\nexport type JumbotronMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for JumbotronComponent.\n */\nexport type JumbotronComponentMethods = MethodMap<JumbotronMethodNames>;\n\n/**\n * @public\n */\nexport function provideJumbotronComponent(config: Partial<JumbotronElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: JUMBOTRON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { KbdShortcutElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the KbdShortcutComponent.\n * Use this token to provide default properties for the KbdShortcutComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const KBD_SHORTCUT_DEFAULT_PROPS = new InjectionToken<Partial<KbdShortcutElement.Props>>('MOSAIK_KBD_SHORTCUT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-kbd-shortcut', KbdShortcutElement),\n    inputs: ['gesture', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-kbd-shortcut',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class KbdShortcutComponent {\n    // #region Fields\n\n    private readonly _element: KbdShortcutElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(KBD_SHORTCUT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `gesture` property.\n     *\n     * @public\n     */\n    public readonly gesture: InputSignal<KbdShortcutElement['gesture'] | undefined> = input<KbdShortcutElement['gesture']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<KbdShortcutElement['disabled'] | undefined> = input<KbdShortcutElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<KbdShortcutElement['dir'] | undefined> = input<KbdShortcutElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<KbdShortcutElement['lang'] | undefined> = input<KbdShortcutElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const gestureValue = this.gesture();\n                if (gestureValue !== undefined) {\n                    (this._element as any).gesture = gestureValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends KbdShortcutMethodNames>(method: TMethod, ...args: Parameters<KbdShortcutComponentMethods[TMethod]>): ReturnType<KbdShortcutComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof KbdShortcutElement>(property: TProperty, value: KbdShortcutElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on KbdShortcutComponent.\n */\nexport type KbdShortcutMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for KbdShortcutComponent.\n */\nexport type KbdShortcutComponentMethods = MethodMap<KbdShortcutMethodNames>;\n\n/**\n * @public\n */\nexport function provideKbdShortcutComponent(config: Partial<KbdShortcutElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: KBD_SHORTCUT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { KbdElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the KbdComponent.\n * Use this token to provide default properties for the KbdComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const KBD_DEFAULT_PROPS = new InjectionToken<Partial<KbdElement.Props>>('MOSAIK_KBD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-kbd', KbdElement),\n    inputs: ['themeName', 'value', 'variant', 'dir', 'lang'],\n    methods: ['getModifierSymbol', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-kbd',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class KbdComponent {\n    // #region Fields\n\n    private readonly _element: KbdElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(KBD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<KbdElement['themeName'] | undefined> = input<KbdElement['themeName']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<KbdElement['value'] | undefined> = input<KbdElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<KbdElement['variant'] | undefined> = input<KbdElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<KbdElement['dir'] | undefined> = input<KbdElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<KbdElement['lang'] | undefined> = input<KbdElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends KbdMethodNames>(method: TMethod, ...args: Parameters<KbdComponentMethods[TMethod]>): ReturnType<KbdComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof KbdElement>(property: TProperty, value: KbdElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on KbdComponent.\n */\nexport type KbdMethodNames = 'getModifierSymbol' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for KbdComponent.\n */\nexport type KbdComponentMethods = MethodMap<KbdMethodNames>;\n\n/**\n * @public\n */\nexport function provideKbdComponent(config: Partial<KbdElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: KBD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { LightChainElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the LightChainComponent.\n * Use this token to provide default properties for the LightChainComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LIGHT_CHAIN_DEFAULT_PROPS = new InjectionToken<Partial<LightChainElement.Props>>('MOSAIK_LIGHT_CHAIN_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot (currently unused, lights are generated programmatically)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-light-chain', LightChainElement),\n    inputs: ['count', 'state', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-light-chain',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class LightChainComponent {\n    // #region Fields\n\n    private readonly _element: LightChainElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LIGHT_CHAIN_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `count` property.\n     *\n     * @public\n     */\n    public readonly count: InputSignal<LightChainElement['count'] | undefined> = input<LightChainElement['count']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<LightChainElement['state'] | undefined> = input<LightChainElement['state']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<LightChainElement['themeName'] | undefined> = input<LightChainElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<LightChainElement['disabled'] | undefined> = input<LightChainElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<LightChainElement['dir'] | undefined> = input<LightChainElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<LightChainElement['lang'] | undefined> = input<LightChainElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const countValue = this.count();\n                if (countValue !== undefined) {\n                    (this._element as any).count = countValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends LightChainMethodNames>(method: TMethod, ...args: Parameters<LightChainComponentMethods[TMethod]>): ReturnType<LightChainComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof LightChainElement>(property: TProperty, value: LightChainElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on LightChainComponent.\n */\nexport type LightChainMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for LightChainComponent.\n */\nexport type LightChainComponentMethods = MethodMap<LightChainMethodNames>;\n\n/**\n * @public\n */\nexport function provideLightChainComponent(config: Partial<LightChainElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LIGHT_CHAIN_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ListItemGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListItemGroupComponent.\n * Use this token to provide default properties for the ListItemGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LIST_ITEM_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ListItemGroupElement.Props>>('MOSAIK_LIST_ITEM_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for list items (mosaik-list-item elements)\n * @slot header - Custom header content (overrides the default header text)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-list-item-group', ListItemGroupElement),\n    inputs: ['header', 'themeName', 'isSticky', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-list-item-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ListItemGroupComponent {\n    // #region Fields\n\n    private readonly _element: ListItemGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LIST_ITEM_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ListItemGroupElement['header'] | undefined> = input<ListItemGroupElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListItemGroupElement['themeName'] | undefined> = input<ListItemGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `isSticky` property.\n     *\n     * @public\n     */\n    public readonly isSticky: InputSignal<ListItemGroupElement['isSticky'] | undefined> = input<ListItemGroupElement['isSticky']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListItemGroupElement['disabled'] | undefined> = input<ListItemGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListItemGroupElement['dir'] | undefined> = input<ListItemGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListItemGroupElement['lang'] | undefined> = input<ListItemGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isStickyValue = this.isSticky();\n                if (isStickyValue !== undefined) {\n                    (this._element as any).isSticky = isStickyValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListItemGroupMethodNames>(method: TMethod, ...args: Parameters<ListItemGroupComponentMethods[TMethod]>): ReturnType<ListItemGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListItemGroupElement>(property: TProperty, value: ListItemGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListItemGroupComponent.\n */\nexport type ListItemGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListItemGroupComponent.\n */\nexport type ListItemGroupComponentMethods = MethodMap<ListItemGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideListItemGroupComponent(config: Partial<ListItemGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LIST_ITEM_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ListItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListItemComponent.\n * Use this token to provide default properties for the ListItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LIST_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<ListItemElement.Props>>('MOSAIK_LIST_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the main list item content\n * @slot prefix - Content displayed before the main content (e.g., avatar, icon)\n * @slot suffix - Content displayed after the main content (e.g., badge, action button)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-list-item', ListItemElement),\n    inputs: ['isChecked', 'themeName', 'ripple', 'disabled', 'variant', 'isFocused', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-list-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ListItemComponent {\n    // #region Fields\n\n    private readonly _element: ListItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LIST_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ListItemElement['isChecked'] | undefined> = input<ListItemElement['isChecked']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListItemElement['themeName'] | undefined> = input<ListItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ListItemElement['ripple'] | undefined> = input<ListItemElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListItemElement['disabled'] | undefined> = input<ListItemElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ListItemElement['variant'] | undefined> = input<ListItemElement['variant']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ListItemElement['isFocused'] | undefined> = input<ListItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<ListItemElement['isSelected'] | undefined> = input<ListItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<ListItemElement['index'] | undefined> = input<ListItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<ListItemElement['displayText'] | undefined> = input<ListItemElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ListItemElement['value'] | undefined> = input<ListItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListItemElement['dir'] | undefined> = input<ListItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListItemElement['lang'] | undefined> = input<ListItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListItemMethodNames>(method: TMethod, ...args: Parameters<ListItemComponentMethods[TMethod]>): ReturnType<ListItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListItemElement>(property: TProperty, value: ListItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListItemComponent.\n */\nexport type ListItemMethodNames = 'hasVisibleFocusInTree' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListItemComponent.\n */\nexport type ListItemComponentMethods = MethodMap<ListItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideListItemComponent(config: Partial<ListItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LIST_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ListElement, IElementValueAccessor, listElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListComponent.\n * Use this token to provide default properties for the ListComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LIST_DEFAULT_PROPS = new InjectionToken<Partial<ListElement.Props>>('MOSAIK_LIST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for list items and groups\n * @slot empty - Empty state content when no items are available\n * @slot filter - Filter controls and search functionality area\n * @slot footer - Footer content below the list items\n * @slot header - Header content above the list items\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-list', ListElement),\n    inputs: ['intl', 'selectionMode', 'value', 'themeName', 'disabled', 'showFilter', 'filterMemberPath', 'filter', 'filterPlaceholder', 'orientation', 'inset', 'items', 'selectedItem', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-list',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ListComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ListComponent)\n        }\n    ]\n})\nexport class ListComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ListElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = listElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LIST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<ListElement['intl'] | undefined> = input<ListElement['intl']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<ListElement['selectionMode'] | undefined> = input<ListElement['selectionMode']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ListElement['value'] | undefined> = input<ListElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListElement['themeName'] | undefined> = input<ListElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListElement['disabled'] | undefined> = input<ListElement['disabled']>();\n\n    /**\n     * Signal input for the `showFilter` property.\n     *\n     * @public\n     */\n    public readonly showFilter: InputSignal<ListElement['showFilter'] | undefined> = input<ListElement['showFilter']>();\n\n    /**\n     * Signal input for the `filterMemberPath` property.\n     *\n     * @public\n     */\n    public readonly filterMemberPath: InputSignal<ListElement['filterMemberPath'] | undefined> = input<ListElement['filterMemberPath']>();\n\n    /**\n     * Signal input for the `filter` property.\n     *\n     * @public\n     */\n    public readonly filter: InputSignal<ListElement['filter'] | undefined> = input<ListElement['filter']>();\n\n    /**\n     * Signal input for the `filterPlaceholder` property.\n     *\n     * @public\n     */\n    public readonly filterPlaceholder: InputSignal<ListElement['filterPlaceholder'] | undefined> = input<ListElement['filterPlaceholder']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ListElement['orientation'] | undefined> = input<ListElement['orientation']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<ListElement['inset'] | undefined> = input<ListElement['inset']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<ListElement['items'] | undefined> = input<ListElement['items']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<ListElement['selectedItem'] | undefined> = input<ListElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListElement['dir'] | undefined> = input<ListElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListElement['lang'] | undefined> = input<ListElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const showFilterValue = this.showFilter();\n                if (showFilterValue !== undefined) {\n                    (this._element as any).showFilter = showFilterValue;\n                }\n\n                const filterMemberPathValue = this.filterMemberPath();\n                if (filterMemberPathValue !== undefined) {\n                    (this._element as any).filterMemberPath = filterMemberPathValue;\n                }\n\n                const filterValue = this.filter();\n                if (filterValue !== undefined) {\n                    (this._element as any).filter = filterValue;\n                }\n\n                const filterPlaceholderValue = this.filterPlaceholder();\n                if (filterPlaceholderValue !== undefined) {\n                    (this._element as any).filterPlaceholder = filterPlaceholderValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListMethodNames>(method: TMethod, ...args: Parameters<ListComponentMethods[TMethod]>): ReturnType<ListComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListElement>(property: TProperty, value: ListElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListComponent.\n */\nexport type ListMethodNames = 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListComponent.\n */\nexport type ListComponentMethods = MethodMap<ListMethodNames>;\n\n/**\n * @public\n */\nexport function provideListComponent(config: Partial<ListElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LIST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ListingItemMarkerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListingItemMarkerComponent.\n * Use this token to provide default properties for the ListingItemMarkerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LISTING_ITEM_MARKER_DEFAULT_PROPS = new InjectionToken<Partial<ListingItemMarkerElement.Props>>('MOSAIK_LISTING_ITEM_MARKER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-listing-item-marker', ListingItemMarkerElement),\n    inputs: ['type', 'numberingType', 'bulletType', 'index', 'themeName', 'appearance', 'variant', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['formatIndex', 'getBulletGlyph', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-listing-item-marker',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ListingItemMarkerComponent {\n    // #region Fields\n\n    private readonly _element: ListingItemMarkerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LISTING_ITEM_MARKER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<ListingItemMarkerElement['type'] | undefined> = input<ListingItemMarkerElement['type']>();\n\n    /**\n     * Signal input for the `numberingType` property.\n     *\n     * @public\n     */\n    public readonly numberingType: InputSignal<ListingItemMarkerElement['numberingType'] | undefined> = input<ListingItemMarkerElement['numberingType']>();\n\n    /**\n     * Signal input for the `bulletType` property.\n     *\n     * @public\n     */\n    public readonly bulletType: InputSignal<ListingItemMarkerElement['bulletType'] | undefined> = input<ListingItemMarkerElement['bulletType']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<ListingItemMarkerElement['index'] | undefined> = input<ListingItemMarkerElement['index']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListingItemMarkerElement['themeName'] | undefined> = input<ListingItemMarkerElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ListingItemMarkerElement['appearance'] | undefined> = input<ListingItemMarkerElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ListingItemMarkerElement['variant'] | undefined> = input<ListingItemMarkerElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ListingItemMarkerElement['size'] | undefined> = input<ListingItemMarkerElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListingItemMarkerElement['disabled'] | undefined> = input<ListingItemMarkerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListingItemMarkerElement['dir'] | undefined> = input<ListingItemMarkerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListingItemMarkerElement['lang'] | undefined> = input<ListingItemMarkerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const numberingTypeValue = this.numberingType();\n                if (numberingTypeValue !== undefined) {\n                    (this._element as any).numberingType = numberingTypeValue;\n                }\n\n                const bulletTypeValue = this.bulletType();\n                if (bulletTypeValue !== undefined) {\n                    (this._element as any).bulletType = bulletTypeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListingItemMarkerMethodNames>(method: TMethod, ...args: Parameters<ListingItemMarkerComponentMethods[TMethod]>): ReturnType<ListingItemMarkerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListingItemMarkerElement>(property: TProperty, value: ListingItemMarkerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListingItemMarkerComponent.\n */\nexport type ListingItemMarkerMethodNames = 'formatIndex' | 'getBulletGlyph' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListingItemMarkerComponent.\n */\nexport type ListingItemMarkerComponentMethods = MethodMap<ListingItemMarkerMethodNames>;\n\n/**\n * @public\n */\nexport function provideListingItemMarkerComponent(config: Partial<ListingItemMarkerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LISTING_ITEM_MARKER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ListingItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListingItemComponent.\n * Use this token to provide default properties for the ListingItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LISTING_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<ListingItemElement.Props>>('MOSAIK_LISTING_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for list item content.\n * @slot marker - Slot for a custom marker element. Defaults to an auto-configured `<mosaik-listing-item-marker>`.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-listing-item', ListingItemElement),\n    inputs: ['listType', 'listNumberingType', 'listBulletType', 'header', 'content', 'value', 'themeName', 'formatter', 'appearance', 'variant', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['resolveIndex', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-listing-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ListingItemComponent {\n    // #region Fields\n\n    private readonly _element: ListingItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LISTING_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `listType` property.\n     *\n     * @public\n     */\n    public readonly listType: InputSignal<ListingItemElement['listType'] | undefined> = input<ListingItemElement['listType']>();\n\n    /**\n     * Signal input for the `listNumberingType` property.\n     *\n     * @public\n     */\n    public readonly listNumberingType: InputSignal<ListingItemElement['listNumberingType'] | undefined> = input<ListingItemElement['listNumberingType']>();\n\n    /**\n     * Signal input for the `listBulletType` property.\n     *\n     * @public\n     */\n    public readonly listBulletType: InputSignal<ListingItemElement['listBulletType'] | undefined> = input<ListingItemElement['listBulletType']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<ListingItemElement['header'] | undefined> = input<ListingItemElement['header']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<ListingItemElement['content'] | undefined> = input<ListingItemElement['content']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ListingItemElement['value'] | undefined> = input<ListingItemElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListingItemElement['themeName'] | undefined> = input<ListingItemElement['themeName']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ListingItemElement['formatter'] | undefined> = input<ListingItemElement['formatter']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ListingItemElement['appearance'] | undefined> = input<ListingItemElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ListingItemElement['variant'] | undefined> = input<ListingItemElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ListingItemElement['size'] | undefined> = input<ListingItemElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListingItemElement['disabled'] | undefined> = input<ListingItemElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListingItemElement['dir'] | undefined> = input<ListingItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListingItemElement['lang'] | undefined> = input<ListingItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const listTypeValue = this.listType();\n                if (listTypeValue !== undefined) {\n                    (this._element as any).listType = listTypeValue;\n                }\n\n                const listNumberingTypeValue = this.listNumberingType();\n                if (listNumberingTypeValue !== undefined) {\n                    (this._element as any).listNumberingType = listNumberingTypeValue;\n                }\n\n                const listBulletTypeValue = this.listBulletType();\n                if (listBulletTypeValue !== undefined) {\n                    (this._element as any).listBulletType = listBulletTypeValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListingItemMethodNames>(method: TMethod, ...args: Parameters<ListingItemComponentMethods[TMethod]>): ReturnType<ListingItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListingItemElement>(property: TProperty, value: ListingItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListingItemComponent.\n */\nexport type ListingItemMethodNames = 'resolveIndex' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListingItemComponent.\n */\nexport type ListingItemComponentMethods = MethodMap<ListingItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideListingItemComponent(config: Partial<ListingItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LISTING_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ListingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ListingComponent.\n * Use this token to provide default properties for the ListingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const LISTING_DEFAULT_PROPS = new InjectionToken<Partial<ListingElement.Props>>('MOSAIK_LISTING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for `<mosaik-listing-item>` children.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-listing', ListingElement),\n    inputs: ['type', 'numberingType', 'bulletType', 'reversed', 'start', 'themeName', 'appearance', 'variant', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-listing',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ListingComponent {\n    // #region Fields\n\n    private readonly _element: ListingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(LISTING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<ListingElement['type'] | undefined> = input<ListingElement['type']>();\n\n    /**\n     * Signal input for the `numberingType` property.\n     *\n     * @public\n     */\n    public readonly numberingType: InputSignal<ListingElement['numberingType'] | undefined> = input<ListingElement['numberingType']>();\n\n    /**\n     * Signal input for the `bulletType` property.\n     *\n     * @public\n     */\n    public readonly bulletType: InputSignal<ListingElement['bulletType'] | undefined> = input<ListingElement['bulletType']>();\n\n    /**\n     * Signal input for the `reversed` property.\n     *\n     * @public\n     */\n    public readonly reversed: InputSignal<ListingElement['reversed'] | undefined> = input<ListingElement['reversed']>();\n\n    /**\n     * Signal input for the `start` property.\n     *\n     * @public\n     */\n    public readonly start: InputSignal<ListingElement['start'] | undefined> = input<ListingElement['start']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ListingElement['themeName'] | undefined> = input<ListingElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ListingElement['appearance'] | undefined> = input<ListingElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ListingElement['variant'] | undefined> = input<ListingElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ListingElement['size'] | undefined> = input<ListingElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ListingElement['disabled'] | undefined> = input<ListingElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ListingElement['dir'] | undefined> = input<ListingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ListingElement['lang'] | undefined> = input<ListingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const numberingTypeValue = this.numberingType();\n                if (numberingTypeValue !== undefined) {\n                    (this._element as any).numberingType = numberingTypeValue;\n                }\n\n                const bulletTypeValue = this.bulletType();\n                if (bulletTypeValue !== undefined) {\n                    (this._element as any).bulletType = bulletTypeValue;\n                }\n\n                const reversedValue = this.reversed();\n                if (reversedValue !== undefined) {\n                    (this._element as any).reversed = reversedValue;\n                }\n\n                const startValue = this.start();\n                if (startValue !== undefined) {\n                    (this._element as any).start = startValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ListingMethodNames>(method: TMethod, ...args: Parameters<ListingComponentMethods[TMethod]>): ReturnType<ListingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ListingElement>(property: TProperty, value: ListingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ListingComponent.\n */\nexport type ListingMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ListingComponent.\n */\nexport type ListingComponentMethods = MethodMap<ListingMethodNames>;\n\n/**\n * @public\n */\nexport function provideListingComponent(config: Partial<ListingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: LISTING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MapElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MapComponent.\n * Use this token to provide default properties for the MapComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MAP_DEFAULT_PROPS = new InjectionToken<Partial<MapElement.Props>>('MOSAIK_MAP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-map', MapElement),\n    inputs: ['latitude', 'longitude', 'zoom', 'provider', 'label', 'themeName', 'width', 'height', 'disabled', 'dir', 'lang'],\n    methods: ['getEmbedUrl', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-map',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MapComponent {\n    // #region Fields\n\n    private readonly _element: MapElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MAP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `latitude` property.\n     *\n     * @public\n     */\n    public readonly latitude: InputSignal<MapElement['latitude'] | undefined> = input<MapElement['latitude']>();\n\n    /**\n     * Signal input for the `longitude` property.\n     *\n     * @public\n     */\n    public readonly longitude: InputSignal<MapElement['longitude'] | undefined> = input<MapElement['longitude']>();\n\n    /**\n     * Signal input for the `zoom` property.\n     *\n     * @public\n     */\n    public readonly zoom: InputSignal<MapElement['zoom'] | undefined> = input<MapElement['zoom']>();\n\n    /**\n     * Signal input for the `provider` property.\n     *\n     * @public\n     */\n    public readonly provider: InputSignal<MapElement['provider'] | undefined> = input<MapElement['provider']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<MapElement['label'] | undefined> = input<MapElement['label']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MapElement['themeName'] | undefined> = input<MapElement['themeName']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<MapElement['width'] | undefined> = input<MapElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<MapElement['height'] | undefined> = input<MapElement['height']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MapElement['disabled'] | undefined> = input<MapElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MapElement['dir'] | undefined> = input<MapElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MapElement['lang'] | undefined> = input<MapElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const latitudeValue = this.latitude();\n                if (latitudeValue !== undefined) {\n                    (this._element as any).latitude = latitudeValue;\n                }\n\n                const longitudeValue = this.longitude();\n                if (longitudeValue !== undefined) {\n                    (this._element as any).longitude = longitudeValue;\n                }\n\n                const zoomValue = this.zoom();\n                if (zoomValue !== undefined) {\n                    (this._element as any).zoom = zoomValue;\n                }\n\n                const providerValue = this.provider();\n                if (providerValue !== undefined) {\n                    (this._element as any).provider = providerValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MapMethodNames>(method: TMethod, ...args: Parameters<MapComponentMethods[TMethod]>): ReturnType<MapComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MapElement>(property: TProperty, value: MapElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MapComponent.\n */\nexport type MapMethodNames = 'getEmbedUrl' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MapComponent.\n */\nexport type MapComponentMethods = MethodMap<MapMethodNames>;\n\n/**\n * @public\n */\nexport function provideMapComponent(config: Partial<MapElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MAP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MarqueeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MarqueeComponent.\n * Use this token to provide default properties for the MarqueeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MARQUEE_DEFAULT_PROPS = new InjectionToken<Partial<MarqueeElement.Props>>('MOSAIK_MARQUEE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-marquee', MarqueeElement),\n    inputs: ['speed', 'themeName', 'reverse', 'orientation', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-marquee',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MarqueeComponent {\n    // #region Fields\n\n    private readonly _element: MarqueeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MARQUEE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `speed` property.\n     *\n     * @public\n     */\n    public readonly speed: InputSignal<MarqueeElement['speed'] | undefined> = input<MarqueeElement['speed']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MarqueeElement['themeName'] | undefined> = input<MarqueeElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<MarqueeElement['reverse'] | undefined> = input<MarqueeElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<MarqueeElement['orientation'] | undefined> = input<MarqueeElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MarqueeElement['dir'] | undefined> = input<MarqueeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MarqueeElement['lang'] | undefined> = input<MarqueeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const speedValue = this.speed();\n                if (speedValue !== undefined) {\n                    (this._element as any).speed = speedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MarqueeMethodNames>(method: TMethod, ...args: Parameters<MarqueeComponentMethods[TMethod]>): ReturnType<MarqueeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MarqueeElement>(property: TProperty, value: MarqueeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MarqueeComponent.\n */\nexport type MarqueeMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MarqueeComponent.\n */\nexport type MarqueeComponentMethods = MethodMap<MarqueeMethodNames>;\n\n/**\n * @public\n */\nexport function provideMarqueeComponent(config: Partial<MarqueeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MARQUEE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MasonryElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MasonryComponent.\n * Use this token to provide default properties for the MasonryComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MASONRY_DEFAULT_PROPS = new InjectionToken<Partial<MasonryElement.Props>>('MOSAIK_MASONRY_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for elements to be arranged in masonry layout.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-masonry', MasonryElement),\n    inputs: ['columns', 'themeName', 'fit', 'gap', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-masonry',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MasonryComponent {\n    // #region Fields\n\n    private readonly _element: MasonryElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MASONRY_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `columns` property.\n     *\n     * @public\n     */\n    public readonly columns: InputSignal<MasonryElement['columns'] | undefined> = input<MasonryElement['columns']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MasonryElement['themeName'] | undefined> = input<MasonryElement['themeName']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<MasonryElement['fit'] | undefined> = input<MasonryElement['fit']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<MasonryElement['gap'] | undefined> = input<MasonryElement['gap']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MasonryElement['dir'] | undefined> = input<MasonryElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MasonryElement['lang'] | undefined> = input<MasonryElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnsValue = this.columns();\n                if (columnsValue !== undefined) {\n                    (this._element as any).columns = columnsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MasonryMethodNames>(method: TMethod, ...args: Parameters<MasonryComponentMethods[TMethod]>): ReturnType<MasonryComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MasonryElement>(property: TProperty, value: MasonryElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MasonryComponent.\n */\nexport type MasonryMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MasonryComponent.\n */\nexport type MasonryComponentMethods = MethodMap<MasonryMethodNames>;\n\n/**\n * @public\n */\nexport function provideMasonryComponent(config: Partial<MasonryElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MASONRY_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MenuItemGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MenuItemGroupComponent.\n * Use this token to provide default properties for the MenuItemGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MENU_ITEM_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<MenuItemGroupElement.Props>>('MOSAIK_MENU_ITEM_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for menu items (mosaik-menu-item elements)\n * @slot header - Custom header content (overrides the default header text)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-menu-item-group', MenuItemGroupElement),\n    inputs: ['textOverflow', 'header', 'themeName', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-menu-item-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MenuItemGroupComponent {\n    // #region Fields\n\n    private readonly _element: MenuItemGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MENU_ITEM_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<MenuItemGroupElement['textOverflow'] | undefined> = input<MenuItemGroupElement['textOverflow']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<MenuItemGroupElement['header'] | undefined> = input<MenuItemGroupElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MenuItemGroupElement['themeName'] | undefined> = input<MenuItemGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<MenuItemGroupElement['orientation'] | undefined> = input<MenuItemGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MenuItemGroupElement['dir'] | undefined> = input<MenuItemGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MenuItemGroupElement['lang'] | undefined> = input<MenuItemGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MenuItemGroupMethodNames>(method: TMethod, ...args: Parameters<MenuItemGroupComponentMethods[TMethod]>): ReturnType<MenuItemGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MenuItemGroupElement>(property: TProperty, value: MenuItemGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MenuItemGroupComponent.\n */\nexport type MenuItemGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MenuItemGroupComponent.\n */\nexport type MenuItemGroupComponentMethods = MethodMap<MenuItemGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideMenuItemGroupComponent(config: Partial<MenuItemGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MENU_ITEM_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MenuItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MenuItemComponent.\n * Use this token to provide default properties for the MenuItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MENU_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<MenuItemElement.Props>>('MOSAIK_MENU_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot end - Content displayed at the end (after label)\n * @slot icon - The icon displayed for this menu item\n * @slot label - The primary label text\n * @slot start - Content displayed at the start (before icon)\n * @slot subLabel - Secondary descriptive text below the label\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-menu-item', MenuItemElement),\n    inputs: ['hasChildren', 'subLabel', 'icon', 'isActive', 'isChecked', 'isExpanded', 'menuMode', 'textOverflow', 'themeName', 'ripple', 'disabled', 'value', 'variant', 'appearance', 'isFocused', 'label', 'dir', 'lang'],\n    methods: ['expand', 'collapse', 'toggle', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-menu-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MenuItemComponent {\n    // #region Fields\n\n    private readonly _element: MenuItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('activated', (e) => this.activated.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MENU_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasChildren` property.\n     *\n     * @public\n     */\n    public readonly hasChildren: InputSignal<MenuItemElement['hasChildren'] | undefined> = input<MenuItemElement['hasChildren']>();\n\n    /**\n     * Signal input for the `subLabel` property.\n     *\n     * @public\n     */\n    public readonly subLabel: InputSignal<MenuItemElement['subLabel'] | undefined> = input<MenuItemElement['subLabel']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<MenuItemElement['icon'] | undefined> = input<MenuItemElement['icon']>();\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<MenuItemElement['isActive'] | undefined> = input<MenuItemElement['isActive']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<MenuItemElement['isChecked'] | undefined> = input<MenuItemElement['isChecked']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<MenuItemElement['isExpanded'] | undefined> = input<MenuItemElement['isExpanded']>();\n\n    /**\n     * Signal input for the `menuMode` property.\n     *\n     * @public\n     */\n    public readonly menuMode: InputSignal<MenuItemElement['menuMode'] | undefined> = input<MenuItemElement['menuMode']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<MenuItemElement['textOverflow'] | undefined> = input<MenuItemElement['textOverflow']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MenuItemElement['themeName'] | undefined> = input<MenuItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<MenuItemElement['ripple'] | undefined> = input<MenuItemElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MenuItemElement['disabled'] | undefined> = input<MenuItemElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<MenuItemElement['value'] | undefined> = input<MenuItemElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MenuItemElement['variant'] | undefined> = input<MenuItemElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<MenuItemElement['appearance'] | undefined> = input<MenuItemElement['appearance']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<MenuItemElement['isFocused'] | undefined> = input<MenuItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<MenuItemElement['label'] | undefined> = input<MenuItemElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MenuItemElement['dir'] | undefined> = input<MenuItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MenuItemElement['lang'] | undefined> = input<MenuItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasChildrenValue = this.hasChildren();\n                if (hasChildrenValue !== undefined) {\n                    (this._element as any).hasChildren = hasChildrenValue;\n                }\n\n                const subLabelValue = this.subLabel();\n                if (subLabelValue !== undefined) {\n                    (this._element as any).subLabel = subLabelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const menuModeValue = this.menuMode();\n                if (menuModeValue !== undefined) {\n                    (this._element as any).menuMode = menuModeValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `activated` event.\n     *\n     * @public\n     */\n    public readonly activated: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MenuItemMethodNames>(method: TMethod, ...args: Parameters<MenuItemComponentMethods[TMethod]>): ReturnType<MenuItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MenuItemElement>(property: TProperty, value: MenuItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MenuItemComponent.\n */\nexport type MenuItemMethodNames = 'expand' | 'collapse' | 'toggle' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MenuItemComponent.\n */\nexport type MenuItemComponentMethods = MethodMap<MenuItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideMenuItemComponent(config: Partial<MenuItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MENU_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MenuElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MenuComponent.\n * Use this token to provide default properties for the MenuComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MENU_DEFAULT_PROPS = new InjectionToken<Partial<MenuElement.Props>>('MOSAIK_MENU_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-menu', MenuElement),\n    inputs: ['themeName', 'disabled', 'inset', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-menu',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MenuComponent {\n    // #region Fields\n\n    private readonly _element: MenuElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('activated', (e) => this.activated.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MENU_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MenuElement['themeName'] | undefined> = input<MenuElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MenuElement['disabled'] | undefined> = input<MenuElement['disabled']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<MenuElement['inset'] | undefined> = input<MenuElement['inset']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MenuElement['dir'] | undefined> = input<MenuElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MenuElement['lang'] | undefined> = input<MenuElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `activated` event.\n     *\n     * @public\n     */\n    public readonly activated: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MenuMethodNames>(method: TMethod, ...args: Parameters<MenuComponentMethods[TMethod]>): ReturnType<MenuComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MenuElement>(property: TProperty, value: MenuElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MenuComponent.\n */\nexport type MenuMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MenuComponent.\n */\nexport type MenuComponentMethods = MethodMap<MenuMethodNames>;\n\n/**\n * @public\n */\nexport function provideMenuComponent(config: Partial<MenuElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MENU_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MessageContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MessageContentComponent.\n * Use this token to provide default properties for the MessageContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MESSAGE_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<MessageContentElement.Props>>('MOSAIK_MESSAGE_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing custom content instead of the text property.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-message-content', MessageContentElement),\n    inputs: ['text', 'collapsedLines', 'isExpanded', 'disabled', 'variant', 'formatter', 'hasContent', 'themeName', 'dir', 'lang'],\n    methods: ['expand', 'collapse', 'toggle', 'onIsExpandedChanged', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-message-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MessageContentComponent {\n    // #region Fields\n\n    private readonly _element: MessageContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('expanded', (e) => this.expanded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('collapsed', (e) => this.collapsed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('contentChanged', (e) => this.contentChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MESSAGE_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<MessageContentElement['text'] | undefined> = input<MessageContentElement['text']>();\n\n    /**\n     * Signal input for the `collapsedLines` property.\n     *\n     * @public\n     */\n    public readonly collapsedLines: InputSignal<MessageContentElement['collapsedLines'] | undefined> = input<MessageContentElement['collapsedLines']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<MessageContentElement['isExpanded'] | undefined> = input<MessageContentElement['isExpanded']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MessageContentElement['disabled'] | undefined> = input<MessageContentElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MessageContentElement['variant'] | undefined> = input<MessageContentElement['variant']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<MessageContentElement['formatter'] | undefined> = input<MessageContentElement['formatter']>();\n\n    /**\n     * Signal input for the `hasContent` property.\n     *\n     * @public\n     */\n    public readonly hasContent: InputSignal<MessageContentElement['hasContent'] | undefined> = input<MessageContentElement['hasContent']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MessageContentElement['themeName'] | undefined> = input<MessageContentElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MessageContentElement['dir'] | undefined> = input<MessageContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MessageContentElement['lang'] | undefined> = input<MessageContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const collapsedLinesValue = this.collapsedLines();\n                if (collapsedLinesValue !== undefined) {\n                    (this._element as any).collapsedLines = collapsedLinesValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const hasContentValue = this.hasContent();\n                if (hasContentValue !== undefined) {\n                    (this._element as any).hasContent = hasContentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `expanded` event.\n     *\n     * @public\n     */\n    public readonly expanded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `collapsed` event.\n     *\n     * @public\n     */\n    public readonly collapsed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `contentChanged` event.\n     *\n     * @public\n     */\n    public readonly contentChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MessageContentMethodNames>(method: TMethod, ...args: Parameters<MessageContentComponentMethods[TMethod]>): ReturnType<MessageContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MessageContentElement>(property: TProperty, value: MessageContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MessageContentComponent.\n */\nexport type MessageContentMethodNames = 'expand' | 'collapse' | 'toggle' | 'onIsExpandedChanged' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MessageContentComponent.\n */\nexport type MessageContentComponentMethods = MethodMap<MessageContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideMessageContentComponent(config: Partial<MessageContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MESSAGE_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MessageElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MessageComponent.\n * Use this token to provide default properties for the MessageComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const MESSAGE_DEFAULT_PROPS = new InjectionToken<Partial<MessageElement.Props>>('MOSAIK_MESSAGE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing rich content inside the message (only used when expandable).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-message', MessageElement),\n    inputs: ['icon', 'iconSize', 'header', 'content', 'expandable', 'themeName', 'isExpanded', 'animationTarget', 'enter', 'exit', 'closeable', 'disabled', 'variant', 'appearance', 'fit', 'formatter', 'dir', 'lang'],\n    methods: ['close', 'toggle', 'expand', 'collapse', 'onIsExpandedChanged', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'play', 'onEnterAnimation', 'onExitAnimation', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-message',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MessageComponent {\n    // #region Fields\n\n    private readonly _element: MessageElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('expanded', (e) => this.expanded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('collapsed', (e) => this.collapsed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(MESSAGE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<MessageElement['icon'] | undefined> = input<MessageElement['icon']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<MessageElement['iconSize'] | undefined> = input<MessageElement['iconSize']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<MessageElement['header'] | undefined> = input<MessageElement['header']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<MessageElement['content'] | undefined> = input<MessageElement['content']>();\n\n    /**\n     * Signal input for the `expandable` property.\n     *\n     * @public\n     */\n    public readonly expandable: InputSignal<MessageElement['expandable'] | undefined> = input<MessageElement['expandable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MessageElement['themeName'] | undefined> = input<MessageElement['themeName']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<MessageElement['isExpanded'] | undefined> = input<MessageElement['isExpanded']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<MessageElement['animationTarget'] | undefined> = input<MessageElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<MessageElement['enter'] | undefined> = input<MessageElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<MessageElement['exit'] | undefined> = input<MessageElement['exit']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<MessageElement['closeable'] | undefined> = input<MessageElement['closeable']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MessageElement['disabled'] | undefined> = input<MessageElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MessageElement['variant'] | undefined> = input<MessageElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<MessageElement['appearance'] | undefined> = input<MessageElement['appearance']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<MessageElement['fit'] | undefined> = input<MessageElement['fit']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<MessageElement['formatter'] | undefined> = input<MessageElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MessageElement['dir'] | undefined> = input<MessageElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MessageElement['lang'] | undefined> = input<MessageElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const expandableValue = this.expandable();\n                if (expandableValue !== undefined) {\n                    (this._element as any).expandable = expandableValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `expanded` event.\n     *\n     * @public\n     */\n    public readonly expanded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `collapsed` event.\n     *\n     * @public\n     */\n    public readonly collapsed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MessageMethodNames>(method: TMethod, ...args: Parameters<MessageComponentMethods[TMethod]>): ReturnType<MessageComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MessageElement>(property: TProperty, value: MessageElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MessageComponent.\n */\nexport type MessageMethodNames = 'close' | 'toggle' | 'expand' | 'collapse' | 'onIsExpandedChanged' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MessageComponent.\n */\nexport type MessageComponentMethods = MethodMap<MessageMethodNames>;\n\n/**\n * @public\n */\nexport function provideMessageComponent(config: Partial<MessageElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: MESSAGE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MeterBarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MeterBarComponent.\n * Use this token to provide default properties for the MeterBarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const METER_BAR_DEFAULT_PROPS = new InjectionToken<Partial<MeterBarElement.Props>>('MOSAIK_METER_BAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot hint - Secondary text content area for additional meter information or status\n * @slot label - Text label content area for meter description or value display\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-meter-bar', MeterBarElement),\n    inputs: ['percent', 'segments', 'thickness', 'high', 'low', 'optimum', 'range', 'scale', 'themeName', 'variant', 'orientation', 'disabled', 'label', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-meter-bar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MeterBarComponent {\n    // #region Fields\n\n    private readonly _element: MeterBarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(METER_BAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `percent` property.\n     *\n     * @public\n     */\n    public readonly percent: InputSignal<MeterBarElement['percent'] | undefined> = input<MeterBarElement['percent']>();\n\n    /**\n     * Signal input for the `segments` property.\n     *\n     * @public\n     */\n    public readonly segments: InputSignal<MeterBarElement['segments'] | undefined> = input<MeterBarElement['segments']>();\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<MeterBarElement['thickness'] | undefined> = input<MeterBarElement['thickness']>();\n\n    /**\n     * Signal input for the `high` property.\n     *\n     * @public\n     */\n    public readonly high: InputSignal<MeterBarElement['high'] | undefined> = input<MeterBarElement['high']>();\n\n    /**\n     * Signal input for the `low` property.\n     *\n     * @public\n     */\n    public readonly low: InputSignal<MeterBarElement['low'] | undefined> = input<MeterBarElement['low']>();\n\n    /**\n     * Signal input for the `optimum` property.\n     *\n     * @public\n     */\n    public readonly optimum: InputSignal<MeterBarElement['optimum'] | undefined> = input<MeterBarElement['optimum']>();\n\n    /**\n     * Signal input for the `range` property.\n     *\n     * @public\n     */\n    public readonly range: InputSignal<MeterBarElement['range'] | undefined> = input<MeterBarElement['range']>();\n\n    /**\n     * Signal input for the `scale` property.\n     *\n     * @public\n     */\n    public readonly scale: InputSignal<MeterBarElement['scale'] | undefined> = input<MeterBarElement['scale']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MeterBarElement['themeName'] | undefined> = input<MeterBarElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MeterBarElement['variant'] | undefined> = input<MeterBarElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<MeterBarElement['orientation'] | undefined> = input<MeterBarElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MeterBarElement['disabled'] | undefined> = input<MeterBarElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<MeterBarElement['label'] | undefined> = input<MeterBarElement['label']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<MeterBarElement['min'] | undefined> = input<MeterBarElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<MeterBarElement['max'] | undefined> = input<MeterBarElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<MeterBarElement['value'] | undefined> = input<MeterBarElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MeterBarElement['dir'] | undefined> = input<MeterBarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MeterBarElement['lang'] | undefined> = input<MeterBarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const highValue = this.high();\n                if (highValue !== undefined) {\n                    (this._element as any).high = highValue;\n                }\n\n                const lowValue = this.low();\n                if (lowValue !== undefined) {\n                    (this._element as any).low = lowValue;\n                }\n\n                const optimumValue = this.optimum();\n                if (optimumValue !== undefined) {\n                    (this._element as any).optimum = optimumValue;\n                }\n\n                const rangeValue = this.range();\n                if (rangeValue !== undefined) {\n                    (this._element as any).range = rangeValue;\n                }\n\n                const scaleValue = this.scale();\n                if (scaleValue !== undefined) {\n                    (this._element as any).scale = scaleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MeterBarMethodNames>(method: TMethod, ...args: Parameters<MeterBarComponentMethods[TMethod]>): ReturnType<MeterBarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MeterBarElement>(property: TProperty, value: MeterBarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MeterBarComponent.\n */\nexport type MeterBarMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MeterBarComponent.\n */\nexport type MeterBarComponentMethods = MethodMap<MeterBarMethodNames>;\n\n/**\n * @public\n */\nexport function provideMeterBarComponent(config: Partial<MeterBarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: METER_BAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { MeterRingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the MeterRingComponent.\n * Use this token to provide default properties for the MeterRingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const METER_RING_DEFAULT_PROPS = new InjectionToken<Partial<MeterRingElement.Props>>('MOSAIK_METER_RING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot hint - Secondary text content area for additional meter information or status\n * @slot label - Text label content area for meter description or value display\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-meter-ring', MeterRingElement),\n    inputs: ['segments', 'effectiveRadius', 'radius', 'thickness', 'high', 'low', 'optimum', 'range', 'scale', 'themeName', 'variant', 'orientation', 'disabled', 'label', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-meter-ring',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class MeterRingComponent {\n    // #region Fields\n\n    private readonly _element: MeterRingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(METER_RING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `segments` property.\n     *\n     * @public\n     */\n    public readonly segments: InputSignal<MeterRingElement['segments'] | undefined> = input<MeterRingElement['segments']>();\n\n    /**\n     * Signal input for the `effectiveRadius` property.\n     *\n     * @public\n     */\n    public readonly effectiveRadius: InputSignal<MeterRingElement['effectiveRadius'] | undefined> = input<MeterRingElement['effectiveRadius']>();\n\n    /**\n     * Signal input for the `radius` property.\n     *\n     * @public\n     */\n    public readonly radius: InputSignal<MeterRingElement['radius'] | undefined> = input<MeterRingElement['radius']>();\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<MeterRingElement['thickness'] | undefined> = input<MeterRingElement['thickness']>();\n\n    /**\n     * Signal input for the `high` property.\n     *\n     * @public\n     */\n    public readonly high: InputSignal<MeterRingElement['high'] | undefined> = input<MeterRingElement['high']>();\n\n    /**\n     * Signal input for the `low` property.\n     *\n     * @public\n     */\n    public readonly low: InputSignal<MeterRingElement['low'] | undefined> = input<MeterRingElement['low']>();\n\n    /**\n     * Signal input for the `optimum` property.\n     *\n     * @public\n     */\n    public readonly optimum: InputSignal<MeterRingElement['optimum'] | undefined> = input<MeterRingElement['optimum']>();\n\n    /**\n     * Signal input for the `range` property.\n     *\n     * @public\n     */\n    public readonly range: InputSignal<MeterRingElement['range'] | undefined> = input<MeterRingElement['range']>();\n\n    /**\n     * Signal input for the `scale` property.\n     *\n     * @public\n     */\n    public readonly scale: InputSignal<MeterRingElement['scale'] | undefined> = input<MeterRingElement['scale']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<MeterRingElement['themeName'] | undefined> = input<MeterRingElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<MeterRingElement['variant'] | undefined> = input<MeterRingElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<MeterRingElement['orientation'] | undefined> = input<MeterRingElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<MeterRingElement['disabled'] | undefined> = input<MeterRingElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<MeterRingElement['label'] | undefined> = input<MeterRingElement['label']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<MeterRingElement['min'] | undefined> = input<MeterRingElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<MeterRingElement['max'] | undefined> = input<MeterRingElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<MeterRingElement['value'] | undefined> = input<MeterRingElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<MeterRingElement['dir'] | undefined> = input<MeterRingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<MeterRingElement['lang'] | undefined> = input<MeterRingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const radiusValue = this.radius();\n                if (radiusValue !== undefined) {\n                    (this._element as any).radius = radiusValue;\n                }\n\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const highValue = this.high();\n                if (highValue !== undefined) {\n                    (this._element as any).high = highValue;\n                }\n\n                const lowValue = this.low();\n                if (lowValue !== undefined) {\n                    (this._element as any).low = lowValue;\n                }\n\n                const optimumValue = this.optimum();\n                if (optimumValue !== undefined) {\n                    (this._element as any).optimum = optimumValue;\n                }\n\n                const rangeValue = this.range();\n                if (rangeValue !== undefined) {\n                    (this._element as any).range = rangeValue;\n                }\n\n                const scaleValue = this.scale();\n                if (scaleValue !== undefined) {\n                    (this._element as any).scale = scaleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends MeterRingMethodNames>(method: TMethod, ...args: Parameters<MeterRingComponentMethods[TMethod]>): ReturnType<MeterRingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof MeterRingElement>(property: TProperty, value: MeterRingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on MeterRingComponent.\n */\nexport type MeterRingMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for MeterRingComponent.\n */\nexport type MeterRingComponentMethods = MethodMap<MeterRingMethodNames>;\n\n/**\n * @public\n */\nexport function provideMeterRingComponent(config: Partial<MeterRingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: METER_RING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { NumberCounterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the NumberCounterComponent.\n * Use this token to provide default properties for the NumberCounterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const NUMBER_COUNTER_DEFAULT_PROPS = new InjectionToken<Partial<NumberCounterElement.Props>>('MOSAIK_NUMBER_COUNTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-number-counter', NumberCounterElement),\n    inputs: ['from', 'to', 'duration', 'readonly', 'alignment', 'themeName', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-number-counter',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class NumberCounterComponent {\n    // #region Fields\n\n    private readonly _element: NumberCounterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(NUMBER_COUNTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `from` property.\n     *\n     * @public\n     */\n    public readonly from: InputSignal<NumberCounterElement['from'] | undefined> = input<NumberCounterElement['from']>();\n\n    /**\n     * Signal input for the `to` property.\n     *\n     * @public\n     */\n    public readonly to: InputSignal<NumberCounterElement['to'] | undefined> = input<NumberCounterElement['to']>();\n\n    /**\n     * Signal input for the `duration` property.\n     *\n     * @public\n     */\n    public readonly duration: InputSignal<NumberCounterElement['duration'] | undefined> = input<NumberCounterElement['duration']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<NumberCounterElement['readonly'] | undefined> = input<NumberCounterElement['readonly']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<NumberCounterElement['alignment'] | undefined> = input<NumberCounterElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<NumberCounterElement['themeName'] | undefined> = input<NumberCounterElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<NumberCounterElement['variant'] | undefined> = input<NumberCounterElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<NumberCounterElement['disabled'] | undefined> = input<NumberCounterElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<NumberCounterElement['dir'] | undefined> = input<NumberCounterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<NumberCounterElement['lang'] | undefined> = input<NumberCounterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const fromValue = this.from();\n                if (fromValue !== undefined) {\n                    (this._element as any).from = fromValue;\n                }\n\n                const toValue = this.to();\n                if (toValue !== undefined) {\n                    (this._element as any).to = toValue;\n                }\n\n                const durationValue = this.duration();\n                if (durationValue !== undefined) {\n                    (this._element as any).duration = durationValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends NumberCounterMethodNames>(method: TMethod, ...args: Parameters<NumberCounterComponentMethods[TMethod]>): ReturnType<NumberCounterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof NumberCounterElement>(property: TProperty, value: NumberCounterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on NumberCounterComponent.\n */\nexport type NumberCounterMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for NumberCounterComponent.\n */\nexport type NumberCounterComponentMethods = MethodMap<NumberCounterMethodNames>;\n\n/**\n * @public\n */\nexport function provideNumberCounterComponent(config: Partial<NumberCounterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: NUMBER_COUNTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { NumberElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the NumberComponent.\n * Use this token to provide default properties for the NumberComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const NUMBER_DEFAULT_PROPS = new InjectionToken<Partial<NumberElement.Props>>('MOSAIK_NUMBER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot number - The number slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-number', NumberElement),\n    inputs: ['number', 'readonly', 'alignment', 'themeName', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-number',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class NumberComponent {\n    // #region Fields\n\n    private readonly _element: NumberElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(NUMBER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `number` property.\n     *\n     * @public\n     */\n    public readonly number: InputSignal<NumberElement['number'] | undefined> = input<NumberElement['number']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<NumberElement['readonly'] | undefined> = input<NumberElement['readonly']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<NumberElement['alignment'] | undefined> = input<NumberElement['alignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<NumberElement['themeName'] | undefined> = input<NumberElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<NumberElement['variant'] | undefined> = input<NumberElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<NumberElement['disabled'] | undefined> = input<NumberElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<NumberElement['dir'] | undefined> = input<NumberElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<NumberElement['lang'] | undefined> = input<NumberElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const numberValue = this.number();\n                if (numberValue !== undefined) {\n                    (this._element as any).number = numberValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends NumberMethodNames>(method: TMethod, ...args: Parameters<NumberComponentMethods[TMethod]>): ReturnType<NumberComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof NumberElement>(property: TProperty, value: NumberElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on NumberComponent.\n */\nexport type NumberMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for NumberComponent.\n */\nexport type NumberComponentMethods = MethodMap<NumberMethodNames>;\n\n/**\n * @public\n */\nexport function provideNumberComponent(config: Partial<NumberElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: NUMBER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NumberBoxElement, IElementValueAccessor, numberBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the NumberBoxComponent.\n * Use this token to provide default properties for the NumberBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const NUMBER_BOX_DEFAULT_PROPS = new InjectionToken<Partial<NumberBoxElement.Props>>('MOSAIK_NUMBER_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input field.\n * @slot suffix - Content placed after the input field.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-numberbox', NumberBoxElement),\n    inputs: ['readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'keyboard', 'spinPosition', 'spinner', 'textAlign', 'themeName', 'isClearable', 'appearance', 'invalid', 'value', 'variant', 'label', 'isBusy', 'step', 'decimalPlaces', 'min', 'max', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-numberbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => NumberBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => NumberBoxComponent)\n        }\n    ]\n})\nexport class NumberBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: NumberBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = numberBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('focus', (e) => this.focus.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('blur', (e) => this.blur.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(NUMBER_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<NumberBoxElement['readonly'] | undefined> = input<NumberBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<NumberBoxElement['required'] | undefined> = input<NumberBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<NumberBoxElement['autofocus'] | undefined> = input<NumberBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<NumberBoxElement['name'] | undefined> = input<NumberBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<NumberBoxElement['pattern'] | undefined> = input<NumberBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<NumberBoxElement['placeholder'] | undefined> = input<NumberBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<NumberBoxElement['autocomplete'] | undefined> = input<NumberBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `keyboard` property.\n     *\n     * @public\n     */\n    public readonly keyboard: InputSignal<NumberBoxElement['keyboard'] | undefined> = input<NumberBoxElement['keyboard']>();\n\n    /**\n     * Signal input for the `spinPosition` property.\n     *\n     * @public\n     */\n    public readonly spinPosition: InputSignal<NumberBoxElement['spinPosition'] | undefined> = input<NumberBoxElement['spinPosition']>();\n\n    /**\n     * Signal input for the `spinner` property.\n     *\n     * @public\n     */\n    public readonly spinner: InputSignal<NumberBoxElement['spinner'] | undefined> = input<NumberBoxElement['spinner']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<NumberBoxElement['textAlign'] | undefined> = input<NumberBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<NumberBoxElement['themeName'] | undefined> = input<NumberBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<NumberBoxElement['isClearable'] | undefined> = input<NumberBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<NumberBoxElement['appearance'] | undefined> = input<NumberBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<NumberBoxElement['invalid'] | undefined> = input<NumberBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<NumberBoxElement['value'] | undefined> = input<NumberBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<NumberBoxElement['variant'] | undefined> = input<NumberBoxElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<NumberBoxElement['label'] | undefined> = input<NumberBoxElement['label']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<NumberBoxElement['isBusy'] | undefined> = input<NumberBoxElement['isBusy']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<NumberBoxElement['step'] | undefined> = input<NumberBoxElement['step']>();\n\n    /**\n     * Signal input for the `decimalPlaces` property.\n     *\n     * @public\n     */\n    public readonly decimalPlaces: InputSignal<NumberBoxElement['decimalPlaces'] | undefined> = input<NumberBoxElement['decimalPlaces']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<NumberBoxElement['min'] | undefined> = input<NumberBoxElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<NumberBoxElement['max'] | undefined> = input<NumberBoxElement['max']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<NumberBoxElement['disabled'] | undefined> = input<NumberBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<NumberBoxElement['state'] | undefined> = input<NumberBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<NumberBoxElement['formatter'] | undefined> = input<NumberBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<NumberBoxElement['parser'] | undefined> = input<NumberBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<NumberBoxElement['isFocused'] | undefined> = input<NumberBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<NumberBoxElement['dir'] | undefined> = input<NumberBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<NumberBoxElement['lang'] | undefined> = input<NumberBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const keyboardValue = this.keyboard();\n                if (keyboardValue !== undefined) {\n                    (this._element as any).keyboard = keyboardValue;\n                }\n\n                const spinPositionValue = this.spinPosition();\n                if (spinPositionValue !== undefined) {\n                    (this._element as any).spinPosition = spinPositionValue;\n                }\n\n                const spinnerValue = this.spinner();\n                if (spinnerValue !== undefined) {\n                    (this._element as any).spinner = spinnerValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const decimalPlacesValue = this.decimalPlaces();\n                if (decimalPlacesValue !== undefined) {\n                    (this._element as any).decimalPlaces = decimalPlacesValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `focus` event.\n     *\n     * @public\n     */\n    public readonly focus: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `blur` event.\n     *\n     * @public\n     */\n    public readonly blur: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends NumberBoxMethodNames>(method: TMethod, ...args: Parameters<NumberBoxComponentMethods[TMethod]>): ReturnType<NumberBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof NumberBoxElement>(property: TProperty, value: NumberBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on NumberBoxComponent.\n */\nexport type NumberBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for NumberBoxComponent.\n */\nexport type NumberBoxComponentMethods = MethodMap<NumberBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideNumberBoxComponent(config: Partial<NumberBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: NUMBER_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PageContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PageContentComponent.\n * Use this token to provide default properties for the PageContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<PageContentElement.Props>>('MOSAIK_PAGE_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for placing child elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-page-content', PageContentElement),\n    inputs: ['fullWidth', 'themeName', 'inset', 'horizontalAlignment', 'verticalAlignment', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-page-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PageContentComponent {\n    // #region Fields\n\n    private readonly _element: PageContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `fullWidth` property.\n     *\n     * @public\n     */\n    public readonly fullWidth: InputSignal<PageContentElement['fullWidth'] | undefined> = input<PageContentElement['fullWidth']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PageContentElement['themeName'] | undefined> = input<PageContentElement['themeName']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<PageContentElement['inset'] | undefined> = input<PageContentElement['inset']>();\n\n    /**\n     * Signal input for the `horizontalAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalAlignment: InputSignal<PageContentElement['horizontalAlignment'] | undefined> = input<PageContentElement['horizontalAlignment']>();\n\n    /**\n     * Signal input for the `verticalAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalAlignment: InputSignal<PageContentElement['verticalAlignment'] | undefined> = input<PageContentElement['verticalAlignment']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PageContentElement['dir'] | undefined> = input<PageContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PageContentElement['lang'] | undefined> = input<PageContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const fullWidthValue = this.fullWidth();\n                if (fullWidthValue !== undefined) {\n                    (this._element as any).fullWidth = fullWidthValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const horizontalAlignmentValue = this.horizontalAlignment();\n                if (horizontalAlignmentValue !== undefined) {\n                    (this._element as any).horizontalAlignment = horizontalAlignmentValue;\n                }\n\n                const verticalAlignmentValue = this.verticalAlignment();\n                if (verticalAlignmentValue !== undefined) {\n                    (this._element as any).verticalAlignment = verticalAlignmentValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PageContentMethodNames>(method: TMethod, ...args: Parameters<PageContentComponentMethods[TMethod]>): ReturnType<PageContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PageContentElement>(property: TProperty, value: PageContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PageContentComponent.\n */\nexport type PageContentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PageContentComponent.\n */\nexport type PageContentComponentMethods = MethodMap<PageContentMethodNames>;\n\n/**\n * @public\n */\nexport function providePageContentComponent(config: Partial<PageContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PageHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PageHeaderComponent.\n * Use this token to provide default properties for the PageHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<PageHeaderElement.Props>>('MOSAIK_PAGE_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot additionalHeader - The additionalHeader slot.\n * @slot header - The header content.\n * @slot prefix - The prefix slot.\n * @slot subHeader - The subHeader slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-page-header', PageHeaderElement),\n    inputs: ['text', 'subText', 'additionalText', 'themeName', 'inset', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-page-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PageHeaderComponent {\n    // #region Fields\n\n    private readonly _element: PageHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<PageHeaderElement['text'] | undefined> = input<PageHeaderElement['text']>();\n\n    /**\n     * Signal input for the `subText` property.\n     *\n     * @public\n     */\n    public readonly subText: InputSignal<PageHeaderElement['subText'] | undefined> = input<PageHeaderElement['subText']>();\n\n    /**\n     * Signal input for the `additionalText` property.\n     *\n     * @public\n     */\n    public readonly additionalText: InputSignal<PageHeaderElement['additionalText'] | undefined> = input<PageHeaderElement['additionalText']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PageHeaderElement['themeName'] | undefined> = input<PageHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<PageHeaderElement['inset'] | undefined> = input<PageHeaderElement['inset']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PageHeaderElement['dir'] | undefined> = input<PageHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PageHeaderElement['lang'] | undefined> = input<PageHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const subTextValue = this.subText();\n                if (subTextValue !== undefined) {\n                    (this._element as any).subText = subTextValue;\n                }\n\n                const additionalTextValue = this.additionalText();\n                if (additionalTextValue !== undefined) {\n                    (this._element as any).additionalText = additionalTextValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PageHeaderMethodNames>(method: TMethod, ...args: Parameters<PageHeaderComponentMethods[TMethod]>): ReturnType<PageHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PageHeaderElement>(property: TProperty, value: PageHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PageHeaderComponent.\n */\nexport type PageHeaderMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PageHeaderComponent.\n */\nexport type PageHeaderComponentMethods = MethodMap<PageHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function providePageHeaderComponent(config: Partial<PageHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PagePreContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PagePreContentComponent.\n * Use this token to provide default properties for the PagePreContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_PRE_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<PagePreContentElement.Props>>('MOSAIK_PAGE_PRE_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-page-pre-content', PagePreContentElement),\n    inputs: ['themeName', 'inset', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-page-pre-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PagePreContentComponent {\n    // #region Fields\n\n    private readonly _element: PagePreContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_PRE_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PagePreContentElement['themeName'] | undefined> = input<PagePreContentElement['themeName']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<PagePreContentElement['inset'] | undefined> = input<PagePreContentElement['inset']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PagePreContentElement['dir'] | undefined> = input<PagePreContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PagePreContentElement['lang'] | undefined> = input<PagePreContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PagePreContentMethodNames>(method: TMethod, ...args: Parameters<PagePreContentComponentMethods[TMethod]>): ReturnType<PagePreContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PagePreContentElement>(property: TProperty, value: PagePreContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PagePreContentComponent.\n */\nexport type PagePreContentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PagePreContentComponent.\n */\nexport type PagePreContentComponentMethods = MethodMap<PagePreContentMethodNames>;\n\n/**\n * @public\n */\nexport function providePagePreContentComponent(config: Partial<PagePreContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_PRE_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PagePreHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PagePreHeaderComponent.\n * Use this token to provide default properties for the PagePreHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_PRE_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<PagePreHeaderElement.Props>>('MOSAIK_PAGE_PRE_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-page-pre-header', PagePreHeaderElement),\n    inputs: ['themeName', 'inset', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-page-pre-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PagePreHeaderComponent {\n    // #region Fields\n\n    private readonly _element: PagePreHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_PRE_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PagePreHeaderElement['themeName'] | undefined> = input<PagePreHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<PagePreHeaderElement['inset'] | undefined> = input<PagePreHeaderElement['inset']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PagePreHeaderElement['dir'] | undefined> = input<PagePreHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PagePreHeaderElement['lang'] | undefined> = input<PagePreHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PagePreHeaderMethodNames>(method: TMethod, ...args: Parameters<PagePreHeaderComponentMethods[TMethod]>): ReturnType<PagePreHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PagePreHeaderElement>(property: TProperty, value: PagePreHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PagePreHeaderComponent.\n */\nexport type PagePreHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PagePreHeaderComponent.\n */\nexport type PagePreHeaderComponentMethods = MethodMap<PagePreHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function providePagePreHeaderComponent(config: Partial<PagePreHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_PRE_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PageElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PageComponent.\n * Use this token to provide default properties for the PageComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_DEFAULT_PROPS = new InjectionToken<Partial<PageElement.Props>>('MOSAIK_PAGE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - Main page content area\n * @slot footer - Page footer content (e.g., copyright, links)\n * @slot header - Primary page header content (e.g., navigation, title, actions)\n * @slot preContent - Content between header and main content (e.g., breadcrumbs, filters)\n * @slot preHeader - Content displayed before the main header (e.g., notifications, alerts)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-page', PageElement),\n    inputs: ['breakpoint', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-page',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PageComponent {\n    // #region Fields\n\n    private readonly _element: PageElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `breakpoint` property.\n     *\n     * @public\n     */\n    public readonly breakpoint: InputSignal<PageElement['breakpoint'] | undefined> = input<PageElement['breakpoint']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PageElement['themeName'] | undefined> = input<PageElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PageElement['dir'] | undefined> = input<PageElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PageElement['lang'] | undefined> = input<PageElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const breakpointValue = this.breakpoint();\n                if (breakpointValue !== undefined) {\n                    (this._element as any).breakpoint = breakpointValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PageMethodNames>(method: TMethod, ...args: Parameters<PageComponentMethods[TMethod]>): ReturnType<PageComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PageElement>(property: TProperty, value: PageElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PageComponent.\n */\nexport type PageMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PageComponent.\n */\nexport type PageComponentMethods = MethodMap<PageMethodNames>;\n\n/**\n * @public\n */\nexport function providePageComponent(config: Partial<PageElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PageMenuElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PageMenuComponent.\n * Use this token to provide default properties for the PageMenuComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGE_MENU_DEFAULT_PROPS = new InjectionToken<Partial<PageMenuElement.Props>>('MOSAIK_PAGE_MENU_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The content of the page menu.\n * @slot end - The end content of the page menu.\n * @slot start - The start content of the page menu.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-pagemenu', PageMenuElement),\n    inputs: ['breakpoint', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-pagemenu',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PageMenuComponent {\n    // #region Fields\n\n    private readonly _element: PageMenuElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGE_MENU_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `breakpoint` property.\n     *\n     * @public\n     */\n    public readonly breakpoint: InputSignal<PageMenuElement['breakpoint'] | undefined> = input<PageMenuElement['breakpoint']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PageMenuElement['themeName'] | undefined> = input<PageMenuElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PageMenuElement['dir'] | undefined> = input<PageMenuElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PageMenuElement['lang'] | undefined> = input<PageMenuElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const breakpointValue = this.breakpoint();\n                if (breakpointValue !== undefined) {\n                    (this._element as any).breakpoint = breakpointValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PageMenuMethodNames>(method: TMethod, ...args: Parameters<PageMenuComponentMethods[TMethod]>): ReturnType<PageMenuComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PageMenuElement>(property: TProperty, value: PageMenuElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PageMenuComponent.\n */\nexport type PageMenuMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PageMenuComponent.\n */\nexport type PageMenuComponentMethods = MethodMap<PageMenuMethodNames>;\n\n/**\n * @public\n */\nexport function providePageMenuComponent(config: Partial<PageMenuElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGE_MENU_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PaginatorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PaginatorComponent.\n * Use this token to provide default properties for the PaginatorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PAGINATOR_DEFAULT_PROPS = new InjectionToken<Partial<PaginatorElement.Props>>('MOSAIK_PAGINATOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-paginator', PaginatorElement),\n    inputs: ['intl', 'totalPages', 'rangeStart', 'rangeEnd', 'hasPreviousPage', 'hasNextPage', 'total', 'size', 'sizes', 'showSizes', 'currentPage', 'showFirstLastButtons', 'themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['goToFirstPage', 'goToLastPage', 'goToNextPage', 'goToPreviousPage', 'goToPage', 'changePageSize', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-paginator',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PaginatorComponent {\n    // #region Fields\n\n    private readonly _element: PaginatorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('pageChanged', (e) => this.pageChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('pageSizeChanged', (e) => this.pageSizeChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PAGINATOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<PaginatorElement['intl'] | undefined> = input<PaginatorElement['intl']>();\n\n    /**\n     * Signal input for the `totalPages` property.\n     *\n     * @public\n     */\n    public readonly totalPages: InputSignal<PaginatorElement['totalPages'] | undefined> = input<PaginatorElement['totalPages']>();\n\n    /**\n     * Signal input for the `rangeStart` property.\n     *\n     * @public\n     */\n    public readonly rangeStart: InputSignal<PaginatorElement['rangeStart'] | undefined> = input<PaginatorElement['rangeStart']>();\n\n    /**\n     * Signal input for the `rangeEnd` property.\n     *\n     * @public\n     */\n    public readonly rangeEnd: InputSignal<PaginatorElement['rangeEnd'] | undefined> = input<PaginatorElement['rangeEnd']>();\n\n    /**\n     * Signal input for the `hasPreviousPage` property.\n     *\n     * @public\n     */\n    public readonly hasPreviousPage: InputSignal<PaginatorElement['hasPreviousPage'] | undefined> = input<PaginatorElement['hasPreviousPage']>();\n\n    /**\n     * Signal input for the `hasNextPage` property.\n     *\n     * @public\n     */\n    public readonly hasNextPage: InputSignal<PaginatorElement['hasNextPage'] | undefined> = input<PaginatorElement['hasNextPage']>();\n\n    /**\n     * Signal input for the `total` property.\n     *\n     * @public\n     */\n    public readonly total: InputSignal<PaginatorElement['total'] | undefined> = input<PaginatorElement['total']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<PaginatorElement['size'] | undefined> = input<PaginatorElement['size']>();\n\n    /**\n     * Signal input for the `sizes` property.\n     *\n     * @public\n     */\n    public readonly sizes: InputSignal<PaginatorElement['sizes'] | undefined> = input<PaginatorElement['sizes']>();\n\n    /**\n     * Signal input for the `showSizes` property.\n     *\n     * @public\n     */\n    public readonly showSizes: InputSignal<PaginatorElement['showSizes'] | undefined> = input<PaginatorElement['showSizes']>();\n\n    /**\n     * Signal input for the `currentPage` property.\n     *\n     * @public\n     */\n    public readonly currentPage: InputSignal<PaginatorElement['currentPage'] | undefined> = input<PaginatorElement['currentPage']>();\n\n    /**\n     * Signal input for the `showFirstLastButtons` property.\n     *\n     * @public\n     */\n    public readonly showFirstLastButtons: InputSignal<PaginatorElement['showFirstLastButtons'] | undefined> = input<PaginatorElement['showFirstLastButtons']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PaginatorElement['themeName'] | undefined> = input<PaginatorElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PaginatorElement['disabled'] | undefined> = input<PaginatorElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PaginatorElement['variant'] | undefined> = input<PaginatorElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PaginatorElement['appearance'] | undefined> = input<PaginatorElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PaginatorElement['dir'] | undefined> = input<PaginatorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PaginatorElement['lang'] | undefined> = input<PaginatorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const totalPagesValue = this.totalPages();\n                if (totalPagesValue !== undefined) {\n                    (this._element as any).totalPages = totalPagesValue;\n                }\n\n                const rangeStartValue = this.rangeStart();\n                if (rangeStartValue !== undefined) {\n                    (this._element as any).rangeStart = rangeStartValue;\n                }\n\n                const rangeEndValue = this.rangeEnd();\n                if (rangeEndValue !== undefined) {\n                    (this._element as any).rangeEnd = rangeEndValue;\n                }\n\n                const hasPreviousPageValue = this.hasPreviousPage();\n                if (hasPreviousPageValue !== undefined) {\n                    (this._element as any).hasPreviousPage = hasPreviousPageValue;\n                }\n\n                const hasNextPageValue = this.hasNextPage();\n                if (hasNextPageValue !== undefined) {\n                    (this._element as any).hasNextPage = hasNextPageValue;\n                }\n\n                const totalValue = this.total();\n                if (totalValue !== undefined) {\n                    (this._element as any).total = totalValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const sizesValue = this.sizes();\n                if (sizesValue !== undefined) {\n                    (this._element as any).sizes = sizesValue;\n                }\n\n                const showSizesValue = this.showSizes();\n                if (showSizesValue !== undefined) {\n                    (this._element as any).showSizes = showSizesValue;\n                }\n\n                const currentPageValue = this.currentPage();\n                if (currentPageValue !== undefined) {\n                    (this._element as any).currentPage = currentPageValue;\n                }\n\n                const showFirstLastButtonsValue = this.showFirstLastButtons();\n                if (showFirstLastButtonsValue !== undefined) {\n                    (this._element as any).showFirstLastButtons = showFirstLastButtonsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `pageChanged` event.\n     *\n     * @public\n     */\n    public readonly pageChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `pageSizeChanged` event.\n     *\n     * @public\n     */\n    public readonly pageSizeChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PaginatorMethodNames>(method: TMethod, ...args: Parameters<PaginatorComponentMethods[TMethod]>): ReturnType<PaginatorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PaginatorElement>(property: TProperty, value: PaginatorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PaginatorComponent.\n */\nexport type PaginatorMethodNames = 'goToFirstPage' | 'goToLastPage' | 'goToNextPage' | 'goToPreviousPage' | 'goToPage' | 'changePageSize' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PaginatorComponent.\n */\nexport type PaginatorComponentMethods = MethodMap<PaginatorMethodNames>;\n\n/**\n * @public\n */\nexport function providePaginatorComponent(config: Partial<PaginatorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PAGINATOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PasswordBoxElement, IElementValueAccessor, passwordBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PasswordBoxComponent.\n * Use this token to provide default properties for the PasswordBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PASSWORD_BOX_DEFAULT_PROPS = new InjectionToken<Partial<PasswordBoxElement.Props>>('MOSAIK_PASSWORD_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input field.\n * @slot suffix - Content placed after the input field.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-passwordbox', PasswordBoxElement),\n    inputs: ['readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'revealable', 'isReveal', 'textAlign', 'themeName', 'isClearable', 'invalid', 'value', 'variant', 'label', 'appearance', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'reveal', 'conceal', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-passwordbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => PasswordBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => PasswordBoxComponent)\n        }\n    ]\n})\nexport class PasswordBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: PasswordBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = passwordBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('passwordRevealed', (e) => this.passwordRevealed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('passwordConcealed', (e) => this.passwordConcealed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PASSWORD_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<PasswordBoxElement['readonly'] | undefined> = input<PasswordBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<PasswordBoxElement['required'] | undefined> = input<PasswordBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<PasswordBoxElement['autofocus'] | undefined> = input<PasswordBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<PasswordBoxElement['name'] | undefined> = input<PasswordBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<PasswordBoxElement['pattern'] | undefined> = input<PasswordBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<PasswordBoxElement['placeholder'] | undefined> = input<PasswordBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<PasswordBoxElement['autocomplete'] | undefined> = input<PasswordBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `revealable` property.\n     *\n     * @public\n     */\n    public readonly revealable: InputSignal<PasswordBoxElement['revealable'] | undefined> = input<PasswordBoxElement['revealable']>();\n\n    /**\n     * Signal input for the `isReveal` property.\n     *\n     * @public\n     */\n    public readonly isReveal: InputSignal<PasswordBoxElement['isReveal'] | undefined> = input<PasswordBoxElement['isReveal']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<PasswordBoxElement['textAlign'] | undefined> = input<PasswordBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PasswordBoxElement['themeName'] | undefined> = input<PasswordBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<PasswordBoxElement['isClearable'] | undefined> = input<PasswordBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<PasswordBoxElement['invalid'] | undefined> = input<PasswordBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<PasswordBoxElement['value'] | undefined> = input<PasswordBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PasswordBoxElement['variant'] | undefined> = input<PasswordBoxElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<PasswordBoxElement['label'] | undefined> = input<PasswordBoxElement['label']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PasswordBoxElement['appearance'] | undefined> = input<PasswordBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PasswordBoxElement['disabled'] | undefined> = input<PasswordBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<PasswordBoxElement['state'] | undefined> = input<PasswordBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<PasswordBoxElement['formatter'] | undefined> = input<PasswordBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<PasswordBoxElement['parser'] | undefined> = input<PasswordBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<PasswordBoxElement['isFocused'] | undefined> = input<PasswordBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PasswordBoxElement['dir'] | undefined> = input<PasswordBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PasswordBoxElement['lang'] | undefined> = input<PasswordBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const revealableValue = this.revealable();\n                if (revealableValue !== undefined) {\n                    (this._element as any).revealable = revealableValue;\n                }\n\n                const isRevealValue = this.isReveal();\n                if (isRevealValue !== undefined) {\n                    (this._element as any).isReveal = isRevealValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `passwordRevealed` event.\n     *\n     * @public\n     */\n    public readonly passwordRevealed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `passwordConcealed` event.\n     *\n     * @public\n     */\n    public readonly passwordConcealed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PasswordBoxMethodNames>(method: TMethod, ...args: Parameters<PasswordBoxComponentMethods[TMethod]>): ReturnType<PasswordBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PasswordBoxElement>(property: TProperty, value: PasswordBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PasswordBoxComponent.\n */\nexport type PasswordBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'reveal' | 'conceal' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PasswordBoxComponent.\n */\nexport type PasswordBoxComponentMethods = MethodMap<PasswordBoxMethodNames>;\n\n/**\n * @public\n */\nexport function providePasswordBoxComponent(config: Partial<PasswordBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PASSWORD_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PatternElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PatternComponent.\n * Use this token to provide default properties for the PatternComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PATTERN_DEFAULT_PROPS = new InjectionToken<Partial<PatternElement.Props>>('MOSAIK_PATTERN_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-pattern', PatternElement),\n    inputs: ['mouseX', 'mouseY', 'themeName', 'variant', 'disabled', 'for', 'control', 'dir', 'lang'],\n    methods: ['attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-pattern',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PatternComponent {\n    // #region Fields\n\n    private readonly _element: PatternElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PATTERN_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `mouseX` property.\n     *\n     * @public\n     */\n    public readonly mouseX: InputSignal<PatternElement['mouseX'] | undefined> = input<PatternElement['mouseX']>();\n\n    /**\n     * Signal input for the `mouseY` property.\n     *\n     * @public\n     */\n    public readonly mouseY: InputSignal<PatternElement['mouseY'] | undefined> = input<PatternElement['mouseY']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PatternElement['themeName'] | undefined> = input<PatternElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PatternElement['variant'] | undefined> = input<PatternElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PatternElement['disabled'] | undefined> = input<PatternElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<PatternElement['for'] | undefined> = input<PatternElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<PatternElement['control'] | undefined> = input<PatternElement['control']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PatternElement['dir'] | undefined> = input<PatternElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PatternElement['lang'] | undefined> = input<PatternElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const mouseXValue = this.mouseX();\n                if (mouseXValue !== undefined) {\n                    (this._element as any).mouseX = mouseXValue;\n                }\n\n                const mouseYValue = this.mouseY();\n                if (mouseYValue !== undefined) {\n                    (this._element as any).mouseY = mouseYValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PatternMethodNames>(method: TMethod, ...args: Parameters<PatternComponentMethods[TMethod]>): ReturnType<PatternComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PatternElement>(property: TProperty, value: PatternElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PatternComponent.\n */\nexport type PatternMethodNames = 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PatternComponent.\n */\nexport type PatternComponentMethods = MethodMap<PatternMethodNames>;\n\n/**\n * @public\n */\nexport function providePatternComponent(config: Partial<PatternElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PATTERN_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PersonaElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PersonaComponent.\n * Use this token to provide default properties for the PersonaComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PERSONA_DEFAULT_PROPS = new InjectionToken<Partial<PersonaElement.Props>>('MOSAIK_PERSONA_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content for avatar display (overrides automatic text/icon generation)\n * @slot badge - Status indicator or notification badge positioned on the avatar\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-persona', PersonaElement),\n    inputs: ['primaryText', 'secondaryText', 'tertiaryText', 'quaternaryText', 'presence', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'hasBadge', 'text', 'textAccessor', 'icon', 'src', 'displayMode', 'themeName', 'size', 'appearance', 'variant', 'disabled', 'dir', 'lang'],\n    methods: ['changeTextAccessor', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-persona',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PersonaComponent {\n    // #region Fields\n\n    private readonly _element: PersonaElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PERSONA_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `primaryText` property.\n     *\n     * @public\n     */\n    public readonly primaryText: InputSignal<PersonaElement['primaryText'] | undefined> = input<PersonaElement['primaryText']>();\n\n    /**\n     * Signal input for the `secondaryText` property.\n     *\n     * @public\n     */\n    public readonly secondaryText: InputSignal<PersonaElement['secondaryText'] | undefined> = input<PersonaElement['secondaryText']>();\n\n    /**\n     * Signal input for the `tertiaryText` property.\n     *\n     * @public\n     */\n    public readonly tertiaryText: InputSignal<PersonaElement['tertiaryText'] | undefined> = input<PersonaElement['tertiaryText']>();\n\n    /**\n     * Signal input for the `quaternaryText` property.\n     *\n     * @public\n     */\n    public readonly quaternaryText: InputSignal<PersonaElement['quaternaryText'] | undefined> = input<PersonaElement['quaternaryText']>();\n\n    /**\n     * Signal input for the `presence` property.\n     *\n     * @public\n     */\n    public readonly presence: InputSignal<PersonaElement['presence'] | undefined> = input<PersonaElement['presence']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<PersonaElement['orientation'] | undefined> = input<PersonaElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<PersonaElement['horizontalContentAlignment'] | undefined> = input<PersonaElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<PersonaElement['verticalContentAlignment'] | undefined> = input<PersonaElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `hasBadge` property.\n     *\n     * @public\n     */\n    public readonly hasBadge: InputSignal<PersonaElement['hasBadge'] | undefined> = input<PersonaElement['hasBadge']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<PersonaElement['text'] | undefined> = input<PersonaElement['text']>();\n\n    /**\n     * Signal input for the `textAccessor` property.\n     *\n     * @public\n     */\n    public readonly textAccessor: InputSignal<PersonaElement['textAccessor'] | undefined> = input<PersonaElement['textAccessor']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<PersonaElement['icon'] | undefined> = input<PersonaElement['icon']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<PersonaElement['src'] | undefined> = input<PersonaElement['src']>();\n\n    /**\n     * Signal input for the `displayMode` property.\n     *\n     * @public\n     */\n    public readonly displayMode: InputSignal<PersonaElement['displayMode'] | undefined> = input<PersonaElement['displayMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PersonaElement['themeName'] | undefined> = input<PersonaElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<PersonaElement['size'] | undefined> = input<PersonaElement['size']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PersonaElement['appearance'] | undefined> = input<PersonaElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PersonaElement['variant'] | undefined> = input<PersonaElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PersonaElement['disabled'] | undefined> = input<PersonaElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PersonaElement['dir'] | undefined> = input<PersonaElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PersonaElement['lang'] | undefined> = input<PersonaElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const primaryTextValue = this.primaryText();\n                if (primaryTextValue !== undefined) {\n                    (this._element as any).primaryText = primaryTextValue;\n                }\n\n                const secondaryTextValue = this.secondaryText();\n                if (secondaryTextValue !== undefined) {\n                    (this._element as any).secondaryText = secondaryTextValue;\n                }\n\n                const tertiaryTextValue = this.tertiaryText();\n                if (tertiaryTextValue !== undefined) {\n                    (this._element as any).tertiaryText = tertiaryTextValue;\n                }\n\n                const quaternaryTextValue = this.quaternaryText();\n                if (quaternaryTextValue !== undefined) {\n                    (this._element as any).quaternaryText = quaternaryTextValue;\n                }\n\n                const presenceValue = this.presence();\n                if (presenceValue !== undefined) {\n                    (this._element as any).presence = presenceValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const textAccessorValue = this.textAccessor();\n                if (textAccessorValue !== undefined) {\n                    (this._element as any).textAccessor = textAccessorValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const displayModeValue = this.displayMode();\n                if (displayModeValue !== undefined) {\n                    (this._element as any).displayMode = displayModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PersonaMethodNames>(method: TMethod, ...args: Parameters<PersonaComponentMethods[TMethod]>): ReturnType<PersonaComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PersonaElement>(property: TProperty, value: PersonaElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PersonaComponent.\n */\nexport type PersonaMethodNames = 'changeTextAccessor' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PersonaComponent.\n */\nexport type PersonaComponentMethods = MethodMap<PersonaMethodNames>;\n\n/**\n * @public\n */\nexport function providePersonaComponent(config: Partial<PersonaElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PERSONA_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PerspectiveElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PerspectiveComponent.\n * Use this token to provide default properties for the PerspectiveComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PERSPECTIVE_DEFAULT_PROPS = new InjectionToken<Partial<PerspectiveElement.Props>>('MOSAIK_PERSPECTIVE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-perspective', PerspectiveElement),\n    inputs: ['duration', 'factor', 'themeName', 'disabled', 'for', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-perspective',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PerspectiveComponent {\n    // #region Fields\n\n    private readonly _element: PerspectiveElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PERSPECTIVE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `duration` property.\n     *\n     * @public\n     */\n    public readonly duration: InputSignal<PerspectiveElement['duration'] | undefined> = input<PerspectiveElement['duration']>();\n\n    /**\n     * Signal input for the `factor` property.\n     *\n     * @public\n     */\n    public readonly factor: InputSignal<PerspectiveElement['factor'] | undefined> = input<PerspectiveElement['factor']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PerspectiveElement['themeName'] | undefined> = input<PerspectiveElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PerspectiveElement['disabled'] | undefined> = input<PerspectiveElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<PerspectiveElement['for'] | undefined> = input<PerspectiveElement['for']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PerspectiveElement['dir'] | undefined> = input<PerspectiveElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PerspectiveElement['lang'] | undefined> = input<PerspectiveElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const durationValue = this.duration();\n                if (durationValue !== undefined) {\n                    (this._element as any).duration = durationValue;\n                }\n\n                const factorValue = this.factor();\n                if (factorValue !== undefined) {\n                    (this._element as any).factor = factorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PerspectiveMethodNames>(method: TMethod, ...args: Parameters<PerspectiveComponentMethods[TMethod]>): ReturnType<PerspectiveComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PerspectiveElement>(property: TProperty, value: PerspectiveElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PerspectiveComponent.\n */\nexport type PerspectiveMethodNames = 'onApplyTemplate' | 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PerspectiveComponent.\n */\nexport type PerspectiveComponentMethods = MethodMap<PerspectiveMethodNames>;\n\n/**\n * @public\n */\nexport function providePerspectiveComponent(config: Partial<PerspectiveElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PERSPECTIVE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PinBoxElement, IElementValueAccessor, pinBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PinBoxComponent.\n * Use this token to provide default properties for the PinBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PIN_BOX_DEFAULT_PROPS = new InjectionToken<Partial<PinBoxElement.Props>>('MOSAIK_PIN_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-pinbox', PinBoxElement),\n    inputs: ['readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'length', 'mode', 'themeName', 'invalid', 'value', 'variant', 'appearance', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'clear', 'reset', 'checkValidity', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-pinbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => PinBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => PinBoxComponent)\n        }\n    ]\n})\nexport class PinBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: PinBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = pinBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PIN_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<PinBoxElement['readonly'] | undefined> = input<PinBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<PinBoxElement['required'] | undefined> = input<PinBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<PinBoxElement['autofocus'] | undefined> = input<PinBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<PinBoxElement['name'] | undefined> = input<PinBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<PinBoxElement['pattern'] | undefined> = input<PinBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<PinBoxElement['placeholder'] | undefined> = input<PinBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<PinBoxElement['autocomplete'] | undefined> = input<PinBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `length` property.\n     *\n     * @public\n     */\n    public readonly length: InputSignal<PinBoxElement['length'] | undefined> = input<PinBoxElement['length']>();\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<PinBoxElement['mode'] | undefined> = input<PinBoxElement['mode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PinBoxElement['themeName'] | undefined> = input<PinBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<PinBoxElement['invalid'] | undefined> = input<PinBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<PinBoxElement['value'] | undefined> = input<PinBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PinBoxElement['variant'] | undefined> = input<PinBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PinBoxElement['appearance'] | undefined> = input<PinBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PinBoxElement['disabled'] | undefined> = input<PinBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<PinBoxElement['state'] | undefined> = input<PinBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<PinBoxElement['formatter'] | undefined> = input<PinBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<PinBoxElement['parser'] | undefined> = input<PinBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<PinBoxElement['isFocused'] | undefined> = input<PinBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PinBoxElement['dir'] | undefined> = input<PinBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PinBoxElement['lang'] | undefined> = input<PinBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PinBoxMethodNames>(method: TMethod, ...args: Parameters<PinBoxComponentMethods[TMethod]>): ReturnType<PinBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PinBoxElement>(property: TProperty, value: PinBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PinBoxComponent.\n */\nexport type PinBoxMethodNames = 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PinBoxComponent.\n */\nexport type PinBoxComponentMethods = MethodMap<PinBoxMethodNames>;\n\n/**\n * @public\n */\nexport function providePinBoxComponent(config: Partial<PinBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PIN_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PipElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PipComponent.\n * Use this token to provide default properties for the PipComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PIP_DEFAULT_PROPS = new InjectionToken<Partial<PipElement.Props>>('MOSAIK_PIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-pip', PipElement),\n    inputs: ['text', 'icon', 'iconSize', 'themeName', 'appearance', 'variant', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-pip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PipComponent {\n    // #region Fields\n\n    private readonly _element: PipElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<PipElement['text'] | undefined> = input<PipElement['text']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<PipElement['icon'] | undefined> = input<PipElement['icon']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<PipElement['iconSize'] | undefined> = input<PipElement['iconSize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PipElement['themeName'] | undefined> = input<PipElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PipElement['appearance'] | undefined> = input<PipElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PipElement['variant'] | undefined> = input<PipElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<PipElement['size'] | undefined> = input<PipElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PipElement['disabled'] | undefined> = input<PipElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PipElement['dir'] | undefined> = input<PipElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PipElement['lang'] | undefined> = input<PipElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PipMethodNames>(method: TMethod, ...args: Parameters<PipComponentMethods[TMethod]>): ReturnType<PipComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PipElement>(property: TProperty, value: PipElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PipComponent.\n */\nexport type PipMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PipComponent.\n */\nexport type PipComponentMethods = MethodMap<PipMethodNames>;\n\n/**\n * @public\n */\nexport function providePipComponent(config: Partial<PipElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PlaceholderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PlaceholderComponent.\n * Use this token to provide default properties for the PlaceholderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PLACEHOLDER_DEFAULT_PROPS = new InjectionToken<Partial<PlaceholderElement.Props>>('MOSAIK_PLACEHOLDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot for placeholder content (text, icons, or instructions)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-placeholder', PlaceholderElement),\n    inputs: ['themeName', 'width', 'height', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-placeholder',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PlaceholderComponent {\n    // #region Fields\n\n    private readonly _element: PlaceholderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PLACEHOLDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PlaceholderElement['themeName'] | undefined> = input<PlaceholderElement['themeName']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<PlaceholderElement['width'] | undefined> = input<PlaceholderElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<PlaceholderElement['height'] | undefined> = input<PlaceholderElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PlaceholderElement['dir'] | undefined> = input<PlaceholderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PlaceholderElement['lang'] | undefined> = input<PlaceholderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PlaceholderMethodNames>(method: TMethod, ...args: Parameters<PlaceholderComponentMethods[TMethod]>): ReturnType<PlaceholderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PlaceholderElement>(property: TProperty, value: PlaceholderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PlaceholderComponent.\n */\nexport type PlaceholderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PlaceholderComponent.\n */\nexport type PlaceholderComponentMethods = MethodMap<PlaceholderMethodNames>;\n\n/**\n * @public\n */\nexport function providePlaceholderComponent(config: Partial<PlaceholderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PLACEHOLDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PopupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PopupComponent.\n * Use this token to provide default properties for the PopupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const POPUP_DEFAULT_PROPS = new InjectionToken<Partial<PopupElement.Props>>('MOSAIK_POPUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for the trigger/anchor element.\n * @slot content - The popup content to display.\n * @slot footer - Optional footer content for the popup.\n * @slot header - Optional header content for the popup.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-popup', PopupElement),\n    inputs: ['anchorElement', 'isFloatingActive', 'hasSlottedContent', 'placement', 'placements', 'distance', 'skidding', 'trigger', 'showDelay', 'hideDelay', 'staysOpen', 'closeOnScroll', 'interactive', 'flip', 'shift', 'trapFocus', 'themeName', 'animationTarget', 'enter', 'exit', 'for', 'control', 'elevation', 'variant', 'appearance', 'disabled', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['open', 'close', 'toggle', 'play', 'onEnterAnimation', 'onExitAnimation', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-popup',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PopupComponent {\n    // #region Fields\n\n    private readonly _element: PopupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(POPUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `anchorElement` property.\n     *\n     * @public\n     */\n    public readonly anchorElement: InputSignal<PopupElement['anchorElement'] | undefined> = input<PopupElement['anchorElement']>();\n\n    /**\n     * Signal input for the `isFloatingActive` property.\n     *\n     * @public\n     */\n    public readonly isFloatingActive: InputSignal<PopupElement['isFloatingActive'] | undefined> = input<PopupElement['isFloatingActive']>();\n\n    /**\n     * Signal input for the `hasSlottedContent` property.\n     *\n     * @public\n     */\n    public readonly hasSlottedContent: InputSignal<PopupElement['hasSlottedContent'] | undefined> = input<PopupElement['hasSlottedContent']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<PopupElement['placement'] | undefined> = input<PopupElement['placement']>();\n\n    /**\n     * Signal input for the `placements` property.\n     *\n     * @public\n     */\n    public readonly placements: InputSignal<PopupElement['placements'] | undefined> = input<PopupElement['placements']>();\n\n    /**\n     * Signal input for the `distance` property.\n     *\n     * @public\n     */\n    public readonly distance: InputSignal<PopupElement['distance'] | undefined> = input<PopupElement['distance']>();\n\n    /**\n     * Signal input for the `skidding` property.\n     *\n     * @public\n     */\n    public readonly skidding: InputSignal<PopupElement['skidding'] | undefined> = input<PopupElement['skidding']>();\n\n    /**\n     * Signal input for the `trigger` property.\n     *\n     * @public\n     */\n    public readonly trigger: InputSignal<PopupElement['trigger'] | undefined> = input<PopupElement['trigger']>();\n\n    /**\n     * Signal input for the `showDelay` property.\n     *\n     * @public\n     */\n    public readonly showDelay: InputSignal<PopupElement['showDelay'] | undefined> = input<PopupElement['showDelay']>();\n\n    /**\n     * Signal input for the `hideDelay` property.\n     *\n     * @public\n     */\n    public readonly hideDelay: InputSignal<PopupElement['hideDelay'] | undefined> = input<PopupElement['hideDelay']>();\n\n    /**\n     * Signal input for the `staysOpen` property.\n     *\n     * @public\n     */\n    public readonly staysOpen: InputSignal<PopupElement['staysOpen'] | undefined> = input<PopupElement['staysOpen']>();\n\n    /**\n     * Signal input for the `closeOnScroll` property.\n     *\n     * @public\n     */\n    public readonly closeOnScroll: InputSignal<PopupElement['closeOnScroll'] | undefined> = input<PopupElement['closeOnScroll']>();\n\n    /**\n     * Signal input for the `interactive` property.\n     *\n     * @public\n     */\n    public readonly interactive: InputSignal<PopupElement['interactive'] | undefined> = input<PopupElement['interactive']>();\n\n    /**\n     * Signal input for the `flip` property.\n     *\n     * @public\n     */\n    public readonly flip: InputSignal<PopupElement['flip'] | undefined> = input<PopupElement['flip']>();\n\n    /**\n     * Signal input for the `shift` property.\n     *\n     * @public\n     */\n    public readonly shift: InputSignal<PopupElement['shift'] | undefined> = input<PopupElement['shift']>();\n\n    /**\n     * Signal input for the `trapFocus` property.\n     *\n     * @public\n     */\n    public readonly trapFocus: InputSignal<PopupElement['trapFocus'] | undefined> = input<PopupElement['trapFocus']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PopupElement['themeName'] | undefined> = input<PopupElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<PopupElement['animationTarget'] | undefined> = input<PopupElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<PopupElement['enter'] | undefined> = input<PopupElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<PopupElement['exit'] | undefined> = input<PopupElement['exit']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<PopupElement['for'] | undefined> = input<PopupElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<PopupElement['control'] | undefined> = input<PopupElement['control']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<PopupElement['elevation'] | undefined> = input<PopupElement['elevation']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PopupElement['variant'] | undefined> = input<PopupElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PopupElement['appearance'] | undefined> = input<PopupElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PopupElement['disabled'] | undefined> = input<PopupElement['disabled']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<PopupElement['isOpen'] | undefined> = input<PopupElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<PopupElement['hasBackdrop'] | undefined> = input<PopupElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<PopupElement['pressEscapeToClose'] | undefined> = input<PopupElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<PopupElement['clickOutsideToClose'] | undefined> = input<PopupElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<PopupElement['closeable'] | undefined> = input<PopupElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PopupElement['dir'] | undefined> = input<PopupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PopupElement['lang'] | undefined> = input<PopupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const anchorElementValue = this.anchorElement();\n                if (anchorElementValue !== undefined) {\n                    (this._element as any).anchorElement = anchorElementValue;\n                }\n\n                const isFloatingActiveValue = this.isFloatingActive();\n                if (isFloatingActiveValue !== undefined) {\n                    (this._element as any).isFloatingActive = isFloatingActiveValue;\n                }\n\n                const hasSlottedContentValue = this.hasSlottedContent();\n                if (hasSlottedContentValue !== undefined) {\n                    (this._element as any).hasSlottedContent = hasSlottedContentValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const placementsValue = this.placements();\n                if (placementsValue !== undefined) {\n                    (this._element as any).placements = placementsValue;\n                }\n\n                const distanceValue = this.distance();\n                if (distanceValue !== undefined) {\n                    (this._element as any).distance = distanceValue;\n                }\n\n                const skiddingValue = this.skidding();\n                if (skiddingValue !== undefined) {\n                    (this._element as any).skidding = skiddingValue;\n                }\n\n                const triggerValue = this.trigger();\n                if (triggerValue !== undefined) {\n                    (this._element as any).trigger = triggerValue;\n                }\n\n                const showDelayValue = this.showDelay();\n                if (showDelayValue !== undefined) {\n                    (this._element as any).showDelay = showDelayValue;\n                }\n\n                const hideDelayValue = this.hideDelay();\n                if (hideDelayValue !== undefined) {\n                    (this._element as any).hideDelay = hideDelayValue;\n                }\n\n                const staysOpenValue = this.staysOpen();\n                if (staysOpenValue !== undefined) {\n                    (this._element as any).staysOpen = staysOpenValue;\n                }\n\n                const closeOnScrollValue = this.closeOnScroll();\n                if (closeOnScrollValue !== undefined) {\n                    (this._element as any).closeOnScroll = closeOnScrollValue;\n                }\n\n                const interactiveValue = this.interactive();\n                if (interactiveValue !== undefined) {\n                    (this._element as any).interactive = interactiveValue;\n                }\n\n                const flipValue = this.flip();\n                if (flipValue !== undefined) {\n                    (this._element as any).flip = flipValue;\n                }\n\n                const shiftValue = this.shift();\n                if (shiftValue !== undefined) {\n                    (this._element as any).shift = shiftValue;\n                }\n\n                const trapFocusValue = this.trapFocus();\n                if (trapFocusValue !== undefined) {\n                    (this._element as any).trapFocus = trapFocusValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PopupMethodNames>(method: TMethod, ...args: Parameters<PopupComponentMethods[TMethod]>): ReturnType<PopupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PopupElement>(property: TProperty, value: PopupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PopupComponent.\n */\nexport type PopupMethodNames = 'open' | 'close' | 'toggle' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PopupComponent.\n */\nexport type PopupComponentMethods = MethodMap<PopupMethodNames>;\n\n/**\n * @public\n */\nexport function providePopupComponent(config: Partial<PopupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: POPUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PortalHostElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PortalHostComponent.\n * Use this token to provide default properties for the PortalHostComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PORTAL_HOST_DEFAULT_PROPS = new InjectionToken<Partial<PortalHostElement.Props>>('MOSAIK_PORTAL_HOST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The container where portal projections will be rendered\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-portal-host', PortalHostElement),\n    inputs: ['name', 'themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-portal-host',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PortalHostComponent {\n    // #region Fields\n\n    private readonly _element: PortalHostElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PORTAL_HOST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<PortalHostElement['name'] | undefined> = input<PortalHostElement['name']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PortalHostElement['themeName'] | undefined> = input<PortalHostElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PortalHostElement['dir'] | undefined> = input<PortalHostElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PortalHostElement['lang'] | undefined> = input<PortalHostElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PortalHostMethodNames>(method: TMethod, ...args: Parameters<PortalHostComponentMethods[TMethod]>): ReturnType<PortalHostComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PortalHostElement>(property: TProperty, value: PortalHostElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PortalHostComponent.\n */\nexport type PortalHostMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PortalHostComponent.\n */\nexport type PortalHostComponentMethods = MethodMap<PortalHostMethodNames>;\n\n/**\n * @public\n */\nexport function providePortalHostComponent(config: Partial<PortalHostElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PORTAL_HOST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PortalProjectionElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PortalProjectionComponent.\n * Use this token to provide default properties for the PortalProjectionComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PORTAL_PROJECTION_DEFAULT_PROPS = new InjectionToken<Partial<PortalProjectionElement.Props>>('MOSAIK_PORTAL_PROJECTION_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The projected content from the source portal\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-portal-projection', PortalProjectionElement),\n    inputs: ['portal', 'themeName', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['assign', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-portal-projection',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PortalProjectionComponent {\n    // #region Fields\n\n    private readonly _element: PortalProjectionElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PORTAL_PROJECTION_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `portal` property.\n     *\n     * @public\n     */\n    public readonly portal: InputSignal<PortalProjectionElement['portal'] | undefined> = input<PortalProjectionElement['portal']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PortalProjectionElement['themeName'] | undefined> = input<PortalProjectionElement['themeName']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<PortalProjectionElement['isOpen'] | undefined> = input<PortalProjectionElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<PortalProjectionElement['hasBackdrop'] | undefined> = input<PortalProjectionElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<PortalProjectionElement['pressEscapeToClose'] | undefined> = input<PortalProjectionElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<PortalProjectionElement['clickOutsideToClose'] | undefined> = input<PortalProjectionElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<PortalProjectionElement['closeable'] | undefined> = input<PortalProjectionElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PortalProjectionElement['dir'] | undefined> = input<PortalProjectionElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PortalProjectionElement['lang'] | undefined> = input<PortalProjectionElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PortalProjectionMethodNames>(method: TMethod, ...args: Parameters<PortalProjectionComponentMethods[TMethod]>): ReturnType<PortalProjectionComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PortalProjectionElement>(property: TProperty, value: PortalProjectionElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PortalProjectionComponent.\n */\nexport type PortalProjectionMethodNames = 'assign' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PortalProjectionComponent.\n */\nexport type PortalProjectionComponentMethods = MethodMap<PortalProjectionMethodNames>;\n\n/**\n * @public\n */\nexport function providePortalProjectionComponent(config: Partial<PortalProjectionElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PORTAL_PROJECTION_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PortalElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PortalComponent.\n * Use this token to provide default properties for the PortalComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PORTAL_DEFAULT_PROPS = new InjectionToken<Partial<PortalElement.Props>>('MOSAIK_PORTAL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The content to be portaled to the destination\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-portal', PortalElement),\n    inputs: ['isProjected', 'projection', 'attached', 'detached', 'destination', 'adoptedStyles', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-portal',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PortalComponent {\n    // #region Fields\n\n    private readonly _element: PortalElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('portalAttached', (e) => this.portalAttached.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('portalDetached', (e) => this.portalDetached.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PORTAL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isProjected` property.\n     *\n     * @public\n     */\n    public readonly isProjected: InputSignal<PortalElement['isProjected'] | undefined> = input<PortalElement['isProjected']>();\n\n    /**\n     * Signal input for the `projection` property.\n     *\n     * @public\n     */\n    public readonly projection: InputSignal<PortalElement['projection'] | undefined> = input<PortalElement['projection']>();\n\n    /**\n     * Signal input for the `attached` property.\n     *\n     * @public\n     */\n    public readonly attached: InputSignal<PortalElement['attached'] | undefined> = input<PortalElement['attached']>();\n\n    /**\n     * Signal input for the `detached` property.\n     *\n     * @public\n     */\n    public readonly detached: InputSignal<PortalElement['detached'] | undefined> = input<PortalElement['detached']>();\n\n    /**\n     * Signal input for the `destination` property.\n     *\n     * @public\n     */\n    public readonly destination: InputSignal<PortalElement['destination'] | undefined> = input<PortalElement['destination']>();\n\n    /**\n     * Signal input for the `adoptedStyles` property.\n     *\n     * @public\n     */\n    public readonly adoptedStyles: InputSignal<PortalElement['adoptedStyles'] | undefined> = input<PortalElement['adoptedStyles']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PortalElement['dir'] | undefined> = input<PortalElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PortalElement['lang'] | undefined> = input<PortalElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const destinationValue = this.destination();\n                if (destinationValue !== undefined) {\n                    (this._element as any).destination = destinationValue;\n                }\n\n                const adoptedStylesValue = this.adoptedStyles();\n                if (adoptedStylesValue !== undefined) {\n                    (this._element as any).adoptedStyles = adoptedStylesValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `portalAttached` event.\n     *\n     * @public\n     */\n    public readonly portalAttached: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `portalDetached` event.\n     *\n     * @public\n     */\n    public readonly portalDetached: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PortalMethodNames>(method: TMethod, ...args: Parameters<PortalComponentMethods[TMethod]>): ReturnType<PortalComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PortalElement>(property: TProperty, value: PortalElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PortalComponent.\n */\nexport type PortalMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PortalComponent.\n */\nexport type PortalComponentMethods = MethodMap<PortalMethodNames>;\n\n/**\n * @public\n */\nexport function providePortalComponent(config: Partial<PortalElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PORTAL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { PressButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the PressButtonComponent.\n * Use this token to provide default properties for the PressButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PRESS_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<PressButtonElement.Props>>('MOSAIK_PRESS_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - The icon slot for placing an icon inside the button.\n * @slot label - The label slot for text or labels inside the button.\n * @slot overlay - The overlay slot (useful for badges or additional visual elements).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-press-button', PressButtonElement),\n    inputs: ['isPressing', 'duration', 'themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-press-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class PressButtonComponent {\n    // #region Fields\n\n    private readonly _element: PressButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('pressed', (e) => this.pressed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PRESS_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isPressing` property.\n     *\n     * @public\n     */\n    public readonly isPressing: InputSignal<PressButtonElement['isPressing'] | undefined> = input<PressButtonElement['isPressing']>();\n\n    /**\n     * Signal input for the `duration` property.\n     *\n     * @public\n     */\n    public readonly duration: InputSignal<PressButtonElement['duration'] | undefined> = input<PressButtonElement['duration']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<PressButtonElement['themeName'] | undefined> = input<PressButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<PressButtonElement['reverse'] | undefined> = input<PressButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<PressButtonElement['orientation'] | undefined> = input<PressButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<PressButtonElement['horizontalContentAlignment'] | undefined> = input<PressButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<PressButtonElement['verticalContentAlignment'] | undefined> = input<PressButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<PressButtonElement['fit'] | undefined> = input<PressButtonElement['fit']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<PressButtonElement['isBusy'] | undefined> = input<PressButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<PressButtonElement['label'] | undefined> = input<PressButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<PressButtonElement['icon'] | undefined> = input<PressButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<PressButtonElement['iconPosition'] | undefined> = input<PressButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<PressButtonElement['iconSize'] | undefined> = input<PressButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<PressButtonElement['type'] | undefined> = input<PressButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<PressButtonElement['ripple'] | undefined> = input<PressButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<PressButtonElement['variant'] | undefined> = input<PressButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<PressButtonElement['appearance'] | undefined> = input<PressButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<PressButtonElement['size'] | undefined> = input<PressButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<PressButtonElement['value'] | undefined> = input<PressButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<PressButtonElement['disabled'] | undefined> = input<PressButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<PressButtonElement['isFocused'] | undefined> = input<PressButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<PressButtonElement['dir'] | undefined> = input<PressButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<PressButtonElement['lang'] | undefined> = input<PressButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isPressingValue = this.isPressing();\n                if (isPressingValue !== undefined) {\n                    (this._element as any).isPressing = isPressingValue;\n                }\n\n                const durationValue = this.duration();\n                if (durationValue !== undefined) {\n                    (this._element as any).duration = durationValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `pressed` event.\n     *\n     * @public\n     */\n    public readonly pressed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends PressButtonMethodNames>(method: TMethod, ...args: Parameters<PressButtonComponentMethods[TMethod]>): ReturnType<PressButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof PressButtonElement>(property: TProperty, value: PressButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on PressButtonComponent.\n */\nexport type PressButtonMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for PressButtonComponent.\n */\nexport type PressButtonComponentMethods = MethodMap<PressButtonMethodNames>;\n\n/**\n * @public\n */\nexport function providePressButtonComponent(config: Partial<PressButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PRESS_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ProgressBarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ProgressBarComponent.\n * Use this token to provide default properties for the ProgressBarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const PROGRESS_BAR_DEFAULT_PROPS = new InjectionToken<Partial<ProgressBarElement.Props>>('MOSAIK_PROGRESS_BAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot hint - Secondary text content area for additional progress information or details\n * @slot label - Text label content area for progress description or status\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-progress-bar', ProgressBarElement),\n    inputs: ['thickness', 'isIndeterminate', 'segments', 'themeName', 'variant', 'orientation', 'disabled', 'label', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-progress-bar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ProgressBarComponent {\n    // #region Fields\n\n    private readonly _element: ProgressBarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(PROGRESS_BAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<ProgressBarElement['thickness'] | undefined> = input<ProgressBarElement['thickness']>();\n\n    /**\n     * Signal input for the `isIndeterminate` property.\n     *\n     * @public\n     */\n    public readonly isIndeterminate: InputSignal<ProgressBarElement['isIndeterminate'] | undefined> = input<ProgressBarElement['isIndeterminate']>();\n\n    /**\n     * Signal input for the `segments` property.\n     *\n     * @public\n     */\n    public readonly segments: InputSignal<ProgressBarElement['segments'] | undefined> = input<ProgressBarElement['segments']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ProgressBarElement['themeName'] | undefined> = input<ProgressBarElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ProgressBarElement['variant'] | undefined> = input<ProgressBarElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ProgressBarElement['orientation'] | undefined> = input<ProgressBarElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ProgressBarElement['disabled'] | undefined> = input<ProgressBarElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ProgressBarElement['label'] | undefined> = input<ProgressBarElement['label']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<ProgressBarElement['min'] | undefined> = input<ProgressBarElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<ProgressBarElement['max'] | undefined> = input<ProgressBarElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ProgressBarElement['value'] | undefined> = input<ProgressBarElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ProgressBarElement['dir'] | undefined> = input<ProgressBarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ProgressBarElement['lang'] | undefined> = input<ProgressBarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const isIndeterminateValue = this.isIndeterminate();\n                if (isIndeterminateValue !== undefined) {\n                    (this._element as any).isIndeterminate = isIndeterminateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ProgressBarMethodNames>(method: TMethod, ...args: Parameters<ProgressBarComponentMethods[TMethod]>): ReturnType<ProgressBarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ProgressBarElement>(property: TProperty, value: ProgressBarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ProgressBarComponent.\n */\nexport type ProgressBarMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ProgressBarComponent.\n */\nexport type ProgressBarComponentMethods = MethodMap<ProgressBarMethodNames>;\n\n/**\n * @public\n */\nexport function provideProgressBarComponent(config: Partial<ProgressBarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: PROGRESS_BAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { QRCodeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the QRCodeComponent.\n * Use this token to provide default properties for the QRCodeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const QRCODE_DEFAULT_PROPS = new InjectionToken<Partial<QRCodeElement.Props>>('MOSAIK_QRCODE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-qrcode', QRCodeElement),\n    inputs: ['text', 'radius', 'dimension', 'errorCorrection', 'backgroundColor', 'foregroundColor', 'themeName', 'dir', 'lang'],\n    methods: ['toDataURL', 'toBlob', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-qrcode',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class QRCodeComponent {\n    // #region Fields\n\n    private readonly _element: QRCodeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(QRCODE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<QRCodeElement['text'] | undefined> = input<QRCodeElement['text']>();\n\n    /**\n     * Signal input for the `radius` property.\n     *\n     * @public\n     */\n    public readonly radius: InputSignal<QRCodeElement['radius'] | undefined> = input<QRCodeElement['radius']>();\n\n    /**\n     * Signal input for the `dimension` property.\n     *\n     * @public\n     */\n    public readonly dimension: InputSignal<QRCodeElement['dimension'] | undefined> = input<QRCodeElement['dimension']>();\n\n    /**\n     * Signal input for the `errorCorrection` property.\n     *\n     * @public\n     */\n    public readonly errorCorrection: InputSignal<QRCodeElement['errorCorrection'] | undefined> = input<QRCodeElement['errorCorrection']>();\n\n    /**\n     * Signal input for the `backgroundColor` property.\n     *\n     * @public\n     */\n    public readonly backgroundColor: InputSignal<QRCodeElement['backgroundColor'] | undefined> = input<QRCodeElement['backgroundColor']>();\n\n    /**\n     * Signal input for the `foregroundColor` property.\n     *\n     * @public\n     */\n    public readonly foregroundColor: InputSignal<QRCodeElement['foregroundColor'] | undefined> = input<QRCodeElement['foregroundColor']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<QRCodeElement['themeName'] | undefined> = input<QRCodeElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<QRCodeElement['dir'] | undefined> = input<QRCodeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<QRCodeElement['lang'] | undefined> = input<QRCodeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const radiusValue = this.radius();\n                if (radiusValue !== undefined) {\n                    (this._element as any).radius = radiusValue;\n                }\n\n                const dimensionValue = this.dimension();\n                if (dimensionValue !== undefined) {\n                    (this._element as any).dimension = dimensionValue;\n                }\n\n                const errorCorrectionValue = this.errorCorrection();\n                if (errorCorrectionValue !== undefined) {\n                    (this._element as any).errorCorrection = errorCorrectionValue;\n                }\n\n                const backgroundColorValue = this.backgroundColor();\n                if (backgroundColorValue !== undefined) {\n                    (this._element as any).backgroundColor = backgroundColorValue;\n                }\n\n                const foregroundColorValue = this.foregroundColor();\n                if (foregroundColorValue !== undefined) {\n                    (this._element as any).foregroundColor = foregroundColorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends QRCodeMethodNames>(method: TMethod, ...args: Parameters<QRCodeComponentMethods[TMethod]>): ReturnType<QRCodeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof QRCodeElement>(property: TProperty, value: QRCodeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on QRCodeComponent.\n */\nexport type QRCodeMethodNames = 'toDataURL' | 'toBlob' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for QRCodeComponent.\n */\nexport type QRCodeComponentMethods = MethodMap<QRCodeMethodNames>;\n\n/**\n * @public\n */\nexport function provideQRCodeComponent(config: Partial<QRCodeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: QRCODE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RadioGroupElement, IElementValueAccessor, radioGroupElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RadioGroupComponent.\n * Use this token to provide default properties for the RadioGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RADIO_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<RadioGroupElement.Props>>('MOSAIK_RADIO_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-radio-group', RadioGroupElement),\n    inputs: ['name', 'required', 'themeName', 'invalid', 'disabled', 'orientation', 'value', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'checkValidity', 'reset', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-radio-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RadioGroupComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => RadioGroupComponent)\n        }\n    ]\n})\nexport class RadioGroupComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: RadioGroupElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = radioGroupElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('radioChanged', (e) => this.radioChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RADIO_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<RadioGroupElement['name'] | undefined> = input<RadioGroupElement['name']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<RadioGroupElement['required'] | undefined> = input<RadioGroupElement['required']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RadioGroupElement['themeName'] | undefined> = input<RadioGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<RadioGroupElement['invalid'] | undefined> = input<RadioGroupElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RadioGroupElement['disabled'] | undefined> = input<RadioGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<RadioGroupElement['orientation'] | undefined> = input<RadioGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<RadioGroupElement['value'] | undefined> = input<RadioGroupElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<RadioGroupElement['appearance'] | undefined> = input<RadioGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RadioGroupElement['variant'] | undefined> = input<RadioGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RadioGroupElement['dir'] | undefined> = input<RadioGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RadioGroupElement['lang'] | undefined> = input<RadioGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `radioChanged` event.\n     *\n     * @public\n     */\n    public readonly radioChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RadioGroupMethodNames>(method: TMethod, ...args: Parameters<RadioGroupComponentMethods[TMethod]>): ReturnType<RadioGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RadioGroupElement>(property: TProperty, value: RadioGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RadioGroupComponent.\n */\nexport type RadioGroupMethodNames = 'onSlotChanges' | 'checkValidity' | 'reset' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RadioGroupComponent.\n */\nexport type RadioGroupComponentMethods = MethodMap<RadioGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideRadioGroupComponent(config: Partial<RadioGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RADIO_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RadioElement, IElementValueAccessor, radioElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RadioComponent.\n * Use this token to provide default properties for the RadioComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RADIO_DEFAULT_PROPS = new InjectionToken<Partial<RadioElement.Props>>('MOSAIK_RADIO_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot checkmark - The checkmark slot.\n * @slot label - The label slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-radio', RadioElement),\n    inputs: ['labelPosition', 'required', 'name', 'themeName', 'invalid', 'value', 'variant', 'appearance', 'disabled', 'label', 'formatter', 'isChecked', 'isThreeState', 'isFocused', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-radio',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RadioComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => RadioComponent)\n        }\n    ]\n})\nexport class RadioComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: RadioElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = radioElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('indeterminate', (e) => this.indeterminate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RADIO_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `labelPosition` property.\n     *\n     * @public\n     */\n    public readonly labelPosition: InputSignal<RadioElement['labelPosition'] | undefined> = input<RadioElement['labelPosition']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<RadioElement['required'] | undefined> = input<RadioElement['required']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<RadioElement['name'] | undefined> = input<RadioElement['name']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RadioElement['themeName'] | undefined> = input<RadioElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<RadioElement['invalid'] | undefined> = input<RadioElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<RadioElement['value'] | undefined> = input<RadioElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RadioElement['variant'] | undefined> = input<RadioElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<RadioElement['appearance'] | undefined> = input<RadioElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RadioElement['disabled'] | undefined> = input<RadioElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<RadioElement['label'] | undefined> = input<RadioElement['label']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<RadioElement['formatter'] | undefined> = input<RadioElement['formatter']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<RadioElement['isChecked'] | undefined> = input<RadioElement['isChecked']>();\n\n    /**\n     * Signal input for the `isThreeState` property.\n     *\n     * @public\n     */\n    public readonly isThreeState: InputSignal<RadioElement['isThreeState'] | undefined> = input<RadioElement['isThreeState']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<RadioElement['isFocused'] | undefined> = input<RadioElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RadioElement['dir'] | undefined> = input<RadioElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RadioElement['lang'] | undefined> = input<RadioElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const labelPositionValue = this.labelPosition();\n                if (labelPositionValue !== undefined) {\n                    (this._element as any).labelPosition = labelPositionValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const isThreeStateValue = this.isThreeState();\n                if (isThreeStateValue !== undefined) {\n                    (this._element as any).isThreeState = isThreeStateValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `indeterminate` event.\n     *\n     * @public\n     */\n    public readonly indeterminate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RadioMethodNames>(method: TMethod, ...args: Parameters<RadioComponentMethods[TMethod]>): ReturnType<RadioComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RadioElement>(property: TProperty, value: RadioElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RadioComponent.\n */\nexport type RadioMethodNames = 'reset' | 'checkValidity' | 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RadioComponent.\n */\nexport type RadioComponentMethods = MethodMap<RadioMethodNames>;\n\n/**\n * @public\n */\nexport function provideRadioComponent(config: Partial<RadioElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RADIO_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RatingElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RatingComponent.\n * Use this token to provide default properties for the RatingComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RATING_DEFAULT_PROPS = new InjectionToken<Partial<RatingElement.Props>>('MOSAIK_RATING_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-rating', RatingElement),\n    inputs: ['hoverValue', 'isHovering', 'length', 'precision', 'readonly', 'symbol', 'symbolAccessor', 'themeName', 'disabled', 'value', 'label', 'orientation', 'size', 'variant', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-rating',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RatingComponent {\n    // #region Fields\n\n    private readonly _element: RatingElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RATING_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hoverValue` property.\n     *\n     * @public\n     */\n    public readonly hoverValue: InputSignal<RatingElement['hoverValue'] | undefined> = input<RatingElement['hoverValue']>();\n\n    /**\n     * Signal input for the `isHovering` property.\n     *\n     * @public\n     */\n    public readonly isHovering: InputSignal<RatingElement['isHovering'] | undefined> = input<RatingElement['isHovering']>();\n\n    /**\n     * Signal input for the `length` property.\n     *\n     * @public\n     */\n    public readonly length: InputSignal<RatingElement['length'] | undefined> = input<RatingElement['length']>();\n\n    /**\n     * Signal input for the `precision` property.\n     *\n     * @public\n     */\n    public readonly precision: InputSignal<RatingElement['precision'] | undefined> = input<RatingElement['precision']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<RatingElement['readonly'] | undefined> = input<RatingElement['readonly']>();\n\n    /**\n     * Signal input for the `symbol` property.\n     *\n     * @public\n     */\n    public readonly symbol: InputSignal<RatingElement['symbol'] | undefined> = input<RatingElement['symbol']>();\n\n    /**\n     * Signal input for the `symbolAccessor` property.\n     *\n     * @public\n     */\n    public readonly symbolAccessor: InputSignal<RatingElement['symbolAccessor'] | undefined> = input<RatingElement['symbolAccessor']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RatingElement['themeName'] | undefined> = input<RatingElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RatingElement['disabled'] | undefined> = input<RatingElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<RatingElement['value'] | undefined> = input<RatingElement['value']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<RatingElement['label'] | undefined> = input<RatingElement['label']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<RatingElement['orientation'] | undefined> = input<RatingElement['orientation']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<RatingElement['size'] | undefined> = input<RatingElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RatingElement['variant'] | undefined> = input<RatingElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RatingElement['dir'] | undefined> = input<RatingElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RatingElement['lang'] | undefined> = input<RatingElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hoverValueValue = this.hoverValue();\n                if (hoverValueValue !== undefined) {\n                    (this._element as any).hoverValue = hoverValueValue;\n                }\n\n                const isHoveringValue = this.isHovering();\n                if (isHoveringValue !== undefined) {\n                    (this._element as any).isHovering = isHoveringValue;\n                }\n\n                const precisionValue = this.precision();\n                if (precisionValue !== undefined) {\n                    (this._element as any).precision = precisionValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const symbolValue = this.symbol();\n                if (symbolValue !== undefined) {\n                    (this._element as any).symbol = symbolValue;\n                }\n\n                const symbolAccessorValue = this.symbolAccessor();\n                if (symbolAccessorValue !== undefined) {\n                    (this._element as any).symbolAccessor = symbolAccessorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RatingMethodNames>(method: TMethod, ...args: Parameters<RatingComponentMethods[TMethod]>): ReturnType<RatingComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RatingElement>(property: TProperty, value: RatingElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RatingComponent.\n */\nexport type RatingMethodNames = 'focus' | 'blur' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RatingComponent.\n */\nexport type RatingComponentMethods = MethodMap<RatingMethodNames>;\n\n/**\n * @public\n */\nexport function provideRatingComponent(config: Partial<RatingElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RATING_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ReactionChatToolElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ReactionChatToolComponent.\n * Use this token to provide default properties for the ReactionChatToolComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const REACTION_CHAT_TOOL_DEFAULT_PROPS = new InjectionToken<Partial<ReactionChatToolElement.Props>>('MOSAIK_REACTION_CHAT_TOOL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-reaction-chat-tool', ReactionChatToolElement),\n    inputs: ['reactions', 'themeName', 'dock', 'disabled', 'dir', 'lang'],\n    methods: ['execute', 'attach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-reaction-chat-tool',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ReactionChatToolComponent {\n    // #region Fields\n\n    private readonly _element: ReactionChatToolElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(REACTION_CHAT_TOOL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `reactions` property.\n     *\n     * @public\n     */\n    public readonly reactions: InputSignal<ReactionChatToolElement['reactions'] | undefined> = input<ReactionChatToolElement['reactions']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ReactionChatToolElement['themeName'] | undefined> = input<ReactionChatToolElement['themeName']>();\n\n    /**\n     * Signal input for the `dock` property.\n     *\n     * @public\n     */\n    public readonly dock: InputSignal<ReactionChatToolElement['dock'] | undefined> = input<ReactionChatToolElement['dock']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ReactionChatToolElement['disabled'] | undefined> = input<ReactionChatToolElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ReactionChatToolElement['dir'] | undefined> = input<ReactionChatToolElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ReactionChatToolElement['lang'] | undefined> = input<ReactionChatToolElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const reactionsValue = this.reactions();\n                if (reactionsValue !== undefined) {\n                    (this._element as any).reactions = reactionsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dockValue = this.dock();\n                if (dockValue !== undefined) {\n                    (this._element as any).dock = dockValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ReactionChatToolMethodNames>(method: TMethod, ...args: Parameters<ReactionChatToolComponentMethods[TMethod]>): ReturnType<ReactionChatToolComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ReactionChatToolElement>(property: TProperty, value: ReactionChatToolElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ReactionChatToolComponent.\n */\nexport type ReactionChatToolMethodNames = 'execute' | 'attach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ReactionChatToolComponent.\n */\nexport type ReactionChatToolComponentMethods = MethodMap<ReactionChatToolMethodNames>;\n\n/**\n * @public\n */\nexport function provideReactionChatToolComponent(config: Partial<ReactionChatToolElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: REACTION_CHAT_TOOL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RegionViewElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RegionViewComponent.\n * Use this token to provide default properties for the RegionViewComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const REGION_VIEW_DEFAULT_PROPS = new InjectionToken<Partial<RegionViewElement.Props>>('MOSAIK_REGION_VIEW_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The content to be rendered when this view becomes active in its parent region\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-region-view', RegionViewElement),\n    inputs: ['name', 'default', 'active', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-region-view',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RegionViewComponent {\n    // #region Fields\n\n    private readonly _element: RegionViewElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(REGION_VIEW_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<RegionViewElement['name'] | undefined> = input<RegionViewElement['name']>();\n\n    /**\n     * Signal input for the `default` property.\n     *\n     * @public\n     */\n    public readonly default: InputSignal<RegionViewElement['default'] | undefined> = input<RegionViewElement['default']>();\n\n    /**\n     * Signal input for the `active` property.\n     *\n     * @public\n     */\n    public readonly active: InputSignal<RegionViewElement['active'] | undefined> = input<RegionViewElement['active']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RegionViewElement['themeName'] | undefined> = input<RegionViewElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RegionViewElement['dir'] | undefined> = input<RegionViewElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RegionViewElement['lang'] | undefined> = input<RegionViewElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const defaultValue = this.default();\n                if (defaultValue !== undefined) {\n                    (this._element as any).default = defaultValue;\n                }\n\n                const activeValue = this.active();\n                if (activeValue !== undefined) {\n                    (this._element as any).active = activeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RegionViewMethodNames>(method: TMethod, ...args: Parameters<RegionViewComponentMethods[TMethod]>): ReturnType<RegionViewComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RegionViewElement>(property: TProperty, value: RegionViewElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RegionViewComponent.\n */\nexport type RegionViewMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RegionViewComponent.\n */\nexport type RegionViewComponentMethods = MethodMap<RegionViewMethodNames>;\n\n/**\n * @public\n */\nexport function provideRegionViewComponent(config: Partial<RegionViewElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: REGION_VIEW_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RegionElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RegionComponent.\n * Use this token to provide default properties for the RegionComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const REGION_DEFAULT_PROPS = new InjectionToken<Partial<RegionElement.Props>>('MOSAIK_REGION_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Contains mosaik-region-view definitions to be managed by the region\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-region', RegionElement),\n    inputs: ['active', 'themeName', 'dir', 'lang'],\n    methods: ['firstUpdated', 'updated', 'activate', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-region',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RegionComponent {\n    // #region Fields\n\n    private readonly _element: RegionElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('activeChanged', (e) => this.activeChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(REGION_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `active` property.\n     *\n     * @public\n     */\n    public readonly active: InputSignal<RegionElement['active'] | undefined> = input<RegionElement['active']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RegionElement['themeName'] | undefined> = input<RegionElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RegionElement['dir'] | undefined> = input<RegionElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RegionElement['lang'] | undefined> = input<RegionElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const activeValue = this.active();\n                if (activeValue !== undefined) {\n                    (this._element as any).active = activeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `activeChanged` event.\n     *\n     * @public\n     */\n    public readonly activeChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RegionMethodNames>(method: TMethod, ...args: Parameters<RegionComponentMethods[TMethod]>): ReturnType<RegionComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RegionElement>(property: TProperty, value: RegionElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RegionComponent.\n */\nexport type RegionMethodNames = 'firstUpdated' | 'updated' | 'activate' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RegionComponent.\n */\nexport type RegionComponentMethods = MethodMap<RegionMethodNames>;\n\n/**\n * @public\n */\nexport function provideRegionComponent(config: Partial<RegionElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: REGION_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RepeatButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RepeatButtonComponent.\n * Use this token to provide default properties for the RepeatButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const REPEAT_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<RepeatButtonElement.Props>>('MOSAIK_REPEAT_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - The icon slot for placing an icon inside the button.\n * @slot label - The label slot for text or labels inside the button.\n * @slot overlay - The overlay slot (useful for badges or additional visual elements).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-repeat-button', RepeatButtonElement),\n    inputs: ['isRepeating', 'delay', 'interval', 'themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-repeat-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RepeatButtonComponent {\n    // #region Fields\n\n    private readonly _element: RepeatButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('repeated', (e) => this.repeated.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(REPEAT_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isRepeating` property.\n     *\n     * @public\n     */\n    public readonly isRepeating: InputSignal<RepeatButtonElement['isRepeating'] | undefined> = input<RepeatButtonElement['isRepeating']>();\n\n    /**\n     * Signal input for the `delay` property.\n     *\n     * @public\n     */\n    public readonly delay: InputSignal<RepeatButtonElement['delay'] | undefined> = input<RepeatButtonElement['delay']>();\n\n    /**\n     * Signal input for the `interval` property.\n     *\n     * @public\n     */\n    public readonly interval: InputSignal<RepeatButtonElement['interval'] | undefined> = input<RepeatButtonElement['interval']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RepeatButtonElement['themeName'] | undefined> = input<RepeatButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<RepeatButtonElement['reverse'] | undefined> = input<RepeatButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<RepeatButtonElement['orientation'] | undefined> = input<RepeatButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<RepeatButtonElement['horizontalContentAlignment'] | undefined> = input<RepeatButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<RepeatButtonElement['verticalContentAlignment'] | undefined> = input<RepeatButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<RepeatButtonElement['fit'] | undefined> = input<RepeatButtonElement['fit']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<RepeatButtonElement['isBusy'] | undefined> = input<RepeatButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<RepeatButtonElement['label'] | undefined> = input<RepeatButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<RepeatButtonElement['icon'] | undefined> = input<RepeatButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<RepeatButtonElement['iconPosition'] | undefined> = input<RepeatButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<RepeatButtonElement['iconSize'] | undefined> = input<RepeatButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<RepeatButtonElement['type'] | undefined> = input<RepeatButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<RepeatButtonElement['ripple'] | undefined> = input<RepeatButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RepeatButtonElement['variant'] | undefined> = input<RepeatButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<RepeatButtonElement['appearance'] | undefined> = input<RepeatButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<RepeatButtonElement['size'] | undefined> = input<RepeatButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<RepeatButtonElement['value'] | undefined> = input<RepeatButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RepeatButtonElement['disabled'] | undefined> = input<RepeatButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<RepeatButtonElement['isFocused'] | undefined> = input<RepeatButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RepeatButtonElement['dir'] | undefined> = input<RepeatButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RepeatButtonElement['lang'] | undefined> = input<RepeatButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isRepeatingValue = this.isRepeating();\n                if (isRepeatingValue !== undefined) {\n                    (this._element as any).isRepeating = isRepeatingValue;\n                }\n\n                const delayValue = this.delay();\n                if (delayValue !== undefined) {\n                    (this._element as any).delay = delayValue;\n                }\n\n                const intervalValue = this.interval();\n                if (intervalValue !== undefined) {\n                    (this._element as any).interval = intervalValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `repeated` event.\n     *\n     * @public\n     */\n    public readonly repeated: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RepeatButtonMethodNames>(method: TMethod, ...args: Parameters<RepeatButtonComponentMethods[TMethod]>): ReturnType<RepeatButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RepeatButtonElement>(property: TProperty, value: RepeatButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RepeatButtonComponent.\n */\nexport type RepeatButtonMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RepeatButtonComponent.\n */\nexport type RepeatButtonComponentMethods = MethodMap<RepeatButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideRepeatButtonComponent(config: Partial<RepeatButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: REPEAT_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ResizeAdornerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ResizeAdornerComponent.\n * Use this token to provide default properties for the ResizeAdornerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RESIZE_ADORNER_DEFAULT_PROPS = new InjectionToken<Partial<ResizeAdornerElement.Props>>('MOSAIK_RESIZE_ADORNER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The content of the resize adorner.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-resize-adorner', ResizeAdornerElement),\n    inputs: ['angle', 'transformOrigin', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-resize-adorner',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ResizeAdornerComponent {\n    // #region Fields\n\n    private readonly _element: ResizeAdornerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RESIZE_ADORNER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `angle` property.\n     *\n     * @public\n     */\n    public readonly angle: InputSignal<ResizeAdornerElement['angle'] | undefined> = input<ResizeAdornerElement['angle']>();\n\n    /**\n     * Signal input for the `transformOrigin` property.\n     *\n     * @public\n     */\n    public readonly transformOrigin: InputSignal<ResizeAdornerElement['transformOrigin'] | undefined> = input<ResizeAdornerElement['transformOrigin']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ResizeAdornerElement['themeName'] | undefined> = input<ResizeAdornerElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ResizeAdornerElement['disabled'] | undefined> = input<ResizeAdornerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ResizeAdornerElement['dir'] | undefined> = input<ResizeAdornerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ResizeAdornerElement['lang'] | undefined> = input<ResizeAdornerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const angleValue = this.angle();\n                if (angleValue !== undefined) {\n                    (this._element as any).angle = angleValue;\n                }\n\n                const transformOriginValue = this.transformOrigin();\n                if (transformOriginValue !== undefined) {\n                    (this._element as any).transformOrigin = transformOriginValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ResizeAdornerMethodNames>(method: TMethod, ...args: Parameters<ResizeAdornerComponentMethods[TMethod]>): ReturnType<ResizeAdornerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ResizeAdornerElement>(property: TProperty, value: ResizeAdornerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ResizeAdornerComponent.\n */\nexport type ResizeAdornerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ResizeAdornerComponent.\n */\nexport type ResizeAdornerComponentMethods = MethodMap<ResizeAdornerMethodNames>;\n\n/**\n * @public\n */\nexport function provideResizeAdornerComponent(config: Partial<ResizeAdornerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RESIZE_ADORNER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ResizeThumbElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ResizeThumbComponent.\n * Use this token to provide default properties for the ResizeThumbComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RESIZE_THUMB_DEFAULT_PROPS = new InjectionToken<Partial<ResizeThumbElement.Props>>('MOSAIK_RESIZE_THUMB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-resize-thumb', ResizeThumbElement),\n    inputs: ['isResizing', 'direction', 'allowedDirections', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'autoApply', 'themeName', 'disabled', 'for', 'control', 'dir', 'lang'],\n    methods: ['attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-resize-thumb',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ResizeThumbComponent {\n    // #region Fields\n\n    private readonly _element: ResizeThumbElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('resizeStart', (e) => this.resizeStart.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('resizing', (e) => this.resizing.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('resizeEnd', (e) => this.resizeEnd.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RESIZE_THUMB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isResizing` property.\n     *\n     * @public\n     */\n    public readonly isResizing: InputSignal<ResizeThumbElement['isResizing'] | undefined> = input<ResizeThumbElement['isResizing']>();\n\n    /**\n     * Signal input for the `direction` property.\n     *\n     * @public\n     */\n    public readonly direction: InputSignal<ResizeThumbElement['direction'] | undefined> = input<ResizeThumbElement['direction']>();\n\n    /**\n     * Signal input for the `allowedDirections` property.\n     *\n     * @public\n     */\n    public readonly allowedDirections: InputSignal<ResizeThumbElement['allowedDirections'] | undefined> = input<ResizeThumbElement['allowedDirections']>();\n\n    /**\n     * Signal input for the `minWidth` property.\n     *\n     * @public\n     */\n    public readonly minWidth: InputSignal<ResizeThumbElement['minWidth'] | undefined> = input<ResizeThumbElement['minWidth']>();\n\n    /**\n     * Signal input for the `minHeight` property.\n     *\n     * @public\n     */\n    public readonly minHeight: InputSignal<ResizeThumbElement['minHeight'] | undefined> = input<ResizeThumbElement['minHeight']>();\n\n    /**\n     * Signal input for the `maxWidth` property.\n     *\n     * @public\n     */\n    public readonly maxWidth: InputSignal<ResizeThumbElement['maxWidth'] | undefined> = input<ResizeThumbElement['maxWidth']>();\n\n    /**\n     * Signal input for the `maxHeight` property.\n     *\n     * @public\n     */\n    public readonly maxHeight: InputSignal<ResizeThumbElement['maxHeight'] | undefined> = input<ResizeThumbElement['maxHeight']>();\n\n    /**\n     * Signal input for the `autoApply` property.\n     *\n     * @public\n     */\n    public readonly autoApply: InputSignal<ResizeThumbElement['autoApply'] | undefined> = input<ResizeThumbElement['autoApply']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ResizeThumbElement['themeName'] | undefined> = input<ResizeThumbElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ResizeThumbElement['disabled'] | undefined> = input<ResizeThumbElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<ResizeThumbElement['for'] | undefined> = input<ResizeThumbElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<ResizeThumbElement['control'] | undefined> = input<ResizeThumbElement['control']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ResizeThumbElement['dir'] | undefined> = input<ResizeThumbElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ResizeThumbElement['lang'] | undefined> = input<ResizeThumbElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const directionValue = this.direction();\n                if (directionValue !== undefined) {\n                    (this._element as any).direction = directionValue;\n                }\n\n                const allowedDirectionsValue = this.allowedDirections();\n                if (allowedDirectionsValue !== undefined) {\n                    (this._element as any).allowedDirections = allowedDirectionsValue;\n                }\n\n                const minWidthValue = this.minWidth();\n                if (minWidthValue !== undefined) {\n                    (this._element as any).minWidth = minWidthValue;\n                }\n\n                const minHeightValue = this.minHeight();\n                if (minHeightValue !== undefined) {\n                    (this._element as any).minHeight = minHeightValue;\n                }\n\n                const maxWidthValue = this.maxWidth();\n                if (maxWidthValue !== undefined) {\n                    (this._element as any).maxWidth = maxWidthValue;\n                }\n\n                const maxHeightValue = this.maxHeight();\n                if (maxHeightValue !== undefined) {\n                    (this._element as any).maxHeight = maxHeightValue;\n                }\n\n                const autoApplyValue = this.autoApply();\n                if (autoApplyValue !== undefined) {\n                    (this._element as any).autoApply = autoApplyValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `resizeStart` event.\n     *\n     * @public\n     */\n    public readonly resizeStart: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `resizing` event.\n     *\n     * @public\n     */\n    public readonly resizing: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `resizeEnd` event.\n     *\n     * @public\n     */\n    public readonly resizeEnd: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ResizeThumbMethodNames>(method: TMethod, ...args: Parameters<ResizeThumbComponentMethods[TMethod]>): ReturnType<ResizeThumbComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ResizeThumbElement>(property: TProperty, value: ResizeThumbElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ResizeThumbComponent.\n */\nexport type ResizeThumbMethodNames = 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ResizeThumbComponent.\n */\nexport type ResizeThumbComponentMethods = MethodMap<ResizeThumbMethodNames>;\n\n/**\n * @public\n */\nexport function provideResizeThumbComponent(config: Partial<ResizeThumbElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RESIZE_THUMB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ResizeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ResizeComponent.\n * Use this token to provide default properties for the ResizeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RESIZE_DEFAULT_PROPS = new InjectionToken<Partial<ResizeElement.Props>>('MOSAIK_RESIZE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the content to be resized.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-resize', ResizeElement),\n    inputs: ['ghostFactory', 'mode', 'active', 'themeName', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-resize',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ResizeComponent {\n    // #region Fields\n\n    private readonly _element: ResizeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('resizeResizeStarted', (e) => this.resizeResizeStarted.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('resizeResized', (e) => this.resizeResized.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('resizeResizeEnded', (e) => this.resizeResizeEnded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('resizeResizeCanceled', (e) => this.resizeResizeCanceled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RESIZE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `ghostFactory` property.\n     *\n     * @public\n     */\n    public readonly ghostFactory: InputSignal<ResizeElement['ghostFactory'] | undefined> = input<ResizeElement['ghostFactory']>();\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<ResizeElement['mode'] | undefined> = input<ResizeElement['mode']>();\n\n    /**\n     * Signal input for the `active` property.\n     *\n     * @public\n     */\n    public readonly active: InputSignal<ResizeElement['active'] | undefined> = input<ResizeElement['active']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ResizeElement['themeName'] | undefined> = input<ResizeElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ResizeElement['dir'] | undefined> = input<ResizeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ResizeElement['lang'] | undefined> = input<ResizeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const ghostFactoryValue = this.ghostFactory();\n                if (ghostFactoryValue !== undefined) {\n                    (this._element as any).ghostFactory = ghostFactoryValue;\n                }\n\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const activeValue = this.active();\n                if (activeValue !== undefined) {\n                    (this._element as any).active = activeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `resizeResizeStarted` event.\n     *\n     * @public\n     */\n    public readonly resizeResizeStarted: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `resizeResized` event.\n     *\n     * @public\n     */\n    public readonly resizeResized: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `resizeResizeEnded` event.\n     *\n     * @public\n     */\n    public readonly resizeResizeEnded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `resizeResizeCanceled` event.\n     *\n     * @public\n     */\n    public readonly resizeResizeCanceled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ResizeMethodNames>(method: TMethod, ...args: Parameters<ResizeComponentMethods[TMethod]>): ReturnType<ResizeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ResizeElement>(property: TProperty, value: ResizeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ResizeComponent.\n */\nexport type ResizeMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ResizeComponent.\n */\nexport type ResizeComponentMethods = MethodMap<ResizeMethodNames>;\n\n/**\n * @public\n */\nexport function provideResizeComponent(config: Partial<ResizeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RESIZE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RibbonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RibbonComponent.\n * Use this token to provide default properties for the RibbonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RIBBON_DEFAULT_PROPS = new InjectionToken<Partial<RibbonElement.Props>>('MOSAIK_RIBBON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-ribbon', RibbonElement),\n    inputs: ['icon', 'iconSize', 'themeName', 'size', 'variant', 'disabled', 'label', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-ribbon',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RibbonComponent {\n    // #region Fields\n\n    private readonly _element: RibbonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RIBBON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<RibbonElement['icon'] | undefined> = input<RibbonElement['icon']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<RibbonElement['iconSize'] | undefined> = input<RibbonElement['iconSize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RibbonElement['themeName'] | undefined> = input<RibbonElement['themeName']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<RibbonElement['size'] | undefined> = input<RibbonElement['size']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RibbonElement['variant'] | undefined> = input<RibbonElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RibbonElement['disabled'] | undefined> = input<RibbonElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<RibbonElement['label'] | undefined> = input<RibbonElement['label']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RibbonElement['dir'] | undefined> = input<RibbonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RibbonElement['lang'] | undefined> = input<RibbonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RibbonMethodNames>(method: TMethod, ...args: Parameters<RibbonComponentMethods[TMethod]>): ReturnType<RibbonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RibbonElement>(property: TProperty, value: RibbonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RibbonComponent.\n */\nexport type RibbonMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RibbonComponent.\n */\nexport type RibbonComponentMethods = MethodMap<RibbonMethodNames>;\n\n/**\n * @public\n */\nexport function provideRibbonComponent(config: Partial<RibbonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RIBBON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RichTextBoxElement, IElementValueAccessor, richTextBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RichTextBoxComponent.\n * Use this token to provide default properties for the RichTextBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RICH_TEXT_BOX_DEFAULT_PROPS = new InjectionToken<Partial<RichTextBoxElement.Props>>('MOSAIK_RICH_TEXT_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-richtextbox', RichTextBoxElement),\n    inputs: ['intl', 'readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'minlength', 'maxlength', 'multilineRows', 'resize', 'showToolbar', 'themeName', 'isClearable', 'appearance', 'variant', 'invalid', 'value', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['command', 'focus', 'blur', 'reset', 'clear', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-richtextbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RichTextBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => RichTextBoxComponent)\n        }\n    ]\n})\nexport class RichTextBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: RichTextBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = richTextBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RICH_TEXT_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<RichTextBoxElement['intl'] | undefined> = input<RichTextBoxElement['intl']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<RichTextBoxElement['readonly'] | undefined> = input<RichTextBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<RichTextBoxElement['required'] | undefined> = input<RichTextBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<RichTextBoxElement['autofocus'] | undefined> = input<RichTextBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<RichTextBoxElement['name'] | undefined> = input<RichTextBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<RichTextBoxElement['pattern'] | undefined> = input<RichTextBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<RichTextBoxElement['placeholder'] | undefined> = input<RichTextBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<RichTextBoxElement['autocomplete'] | undefined> = input<RichTextBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `minlength` property.\n     *\n     * @public\n     */\n    public readonly minlength: InputSignal<RichTextBoxElement['minlength'] | undefined> = input<RichTextBoxElement['minlength']>();\n\n    /**\n     * Signal input for the `maxlength` property.\n     *\n     * @public\n     */\n    public readonly maxlength: InputSignal<RichTextBoxElement['maxlength'] | undefined> = input<RichTextBoxElement['maxlength']>();\n\n    /**\n     * Signal input for the `multilineRows` property.\n     *\n     * @public\n     */\n    public readonly multilineRows: InputSignal<RichTextBoxElement['multilineRows'] | undefined> = input<RichTextBoxElement['multilineRows']>();\n\n    /**\n     * Signal input for the `resize` property.\n     *\n     * @public\n     */\n    public readonly resize: InputSignal<RichTextBoxElement['resize'] | undefined> = input<RichTextBoxElement['resize']>();\n\n    /**\n     * Signal input for the `showToolbar` property.\n     *\n     * @public\n     */\n    public readonly showToolbar: InputSignal<RichTextBoxElement['showToolbar'] | undefined> = input<RichTextBoxElement['showToolbar']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RichTextBoxElement['themeName'] | undefined> = input<RichTextBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<RichTextBoxElement['isClearable'] | undefined> = input<RichTextBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<RichTextBoxElement['appearance'] | undefined> = input<RichTextBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RichTextBoxElement['variant'] | undefined> = input<RichTextBoxElement['variant']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<RichTextBoxElement['invalid'] | undefined> = input<RichTextBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<RichTextBoxElement['value'] | undefined> = input<RichTextBoxElement['value']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<RichTextBoxElement['label'] | undefined> = input<RichTextBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RichTextBoxElement['disabled'] | undefined> = input<RichTextBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<RichTextBoxElement['state'] | undefined> = input<RichTextBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<RichTextBoxElement['formatter'] | undefined> = input<RichTextBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<RichTextBoxElement['parser'] | undefined> = input<RichTextBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<RichTextBoxElement['isFocused'] | undefined> = input<RichTextBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RichTextBoxElement['dir'] | undefined> = input<RichTextBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RichTextBoxElement['lang'] | undefined> = input<RichTextBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const minlengthValue = this.minlength();\n                if (minlengthValue !== undefined) {\n                    (this._element as any).minlength = minlengthValue;\n                }\n\n                const maxlengthValue = this.maxlength();\n                if (maxlengthValue !== undefined) {\n                    (this._element as any).maxlength = maxlengthValue;\n                }\n\n                const multilineRowsValue = this.multilineRows();\n                if (multilineRowsValue !== undefined) {\n                    (this._element as any).multilineRows = multilineRowsValue;\n                }\n\n                const resizeValue = this.resize();\n                if (resizeValue !== undefined) {\n                    (this._element as any).resize = resizeValue;\n                }\n\n                const showToolbarValue = this.showToolbar();\n                if (showToolbarValue !== undefined) {\n                    (this._element as any).showToolbar = showToolbarValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RichTextBoxMethodNames>(method: TMethod, ...args: Parameters<RichTextBoxComponentMethods[TMethod]>): ReturnType<RichTextBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RichTextBoxElement>(property: TProperty, value: RichTextBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RichTextBoxComponent.\n */\nexport type RichTextBoxMethodNames = 'command' | 'focus' | 'blur' | 'reset' | 'clear' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RichTextBoxComponent.\n */\nexport type RichTextBoxComponentMethods = MethodMap<RichTextBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideRichTextBoxComponent(config: Partial<RichTextBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RICH_TEXT_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { RippleElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the RippleComponent.\n * Use this token to provide default properties for the RippleComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const RIPPLE_DEFAULT_PROPS = new InjectionToken<Partial<RippleElement.Props>>('MOSAIK_RIPPLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-ripple', RippleElement),\n    inputs: ['centered', 'duration', 'themeName', 'variant', 'disabled', 'for', 'control', 'dir', 'lang'],\n    methods: ['attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-ripple',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class RippleComponent {\n    // #region Fields\n\n    private readonly _element: RippleElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(RIPPLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `centered` property.\n     *\n     * @public\n     */\n    public readonly centered: InputSignal<RippleElement['centered'] | undefined> = input<RippleElement['centered']>();\n\n    /**\n     * Signal input for the `duration` property.\n     *\n     * @public\n     */\n    public readonly duration: InputSignal<RippleElement['duration'] | undefined> = input<RippleElement['duration']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<RippleElement['themeName'] | undefined> = input<RippleElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<RippleElement['variant'] | undefined> = input<RippleElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<RippleElement['disabled'] | undefined> = input<RippleElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<RippleElement['for'] | undefined> = input<RippleElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<RippleElement['control'] | undefined> = input<RippleElement['control']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<RippleElement['dir'] | undefined> = input<RippleElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<RippleElement['lang'] | undefined> = input<RippleElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const centeredValue = this.centered();\n                if (centeredValue !== undefined) {\n                    (this._element as any).centered = centeredValue;\n                }\n\n                const durationValue = this.duration();\n                if (durationValue !== undefined) {\n                    (this._element as any).duration = durationValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends RippleMethodNames>(method: TMethod, ...args: Parameters<RippleComponentMethods[TMethod]>): ReturnType<RippleComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof RippleElement>(property: TProperty, value: RippleElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on RippleComponent.\n */\nexport type RippleMethodNames = 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for RippleComponent.\n */\nexport type RippleComponentMethods = MethodMap<RippleMethodNames>;\n\n/**\n * @public\n */\nexport function provideRippleComponent(config: Partial<RippleElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: RIPPLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ScaleElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ScaleComponent.\n * Use this token to provide default properties for the ScaleComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SCALE_DEFAULT_PROPS = new InjectionToken<Partial<ScaleElement.Props>>('MOSAIK_SCALE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-scale', ScaleElement),\n    inputs: ['mode', 'factor', 'duration', 'themeName', 'disabled', 'for', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'attach', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-scale',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ScaleComponent {\n    // #region Fields\n\n    private readonly _element: ScaleElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SCALE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<ScaleElement['mode'] | undefined> = input<ScaleElement['mode']>();\n\n    /**\n     * Signal input for the `factor` property.\n     *\n     * @public\n     */\n    public readonly factor: InputSignal<ScaleElement['factor'] | undefined> = input<ScaleElement['factor']>();\n\n    /**\n     * Signal input for the `duration` property.\n     *\n     * @public\n     */\n    public readonly duration: InputSignal<ScaleElement['duration'] | undefined> = input<ScaleElement['duration']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ScaleElement['themeName'] | undefined> = input<ScaleElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ScaleElement['disabled'] | undefined> = input<ScaleElement['disabled']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<ScaleElement['for'] | undefined> = input<ScaleElement['for']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ScaleElement['dir'] | undefined> = input<ScaleElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ScaleElement['lang'] | undefined> = input<ScaleElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const factorValue = this.factor();\n                if (factorValue !== undefined) {\n                    (this._element as any).factor = factorValue;\n                }\n\n                const durationValue = this.duration();\n                if (durationValue !== undefined) {\n                    (this._element as any).duration = durationValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ScaleMethodNames>(method: TMethod, ...args: Parameters<ScaleComponentMethods[TMethod]>): ReturnType<ScaleComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ScaleElement>(property: TProperty, value: ScaleElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ScaleComponent.\n */\nexport type ScaleMethodNames = 'onApplyTemplate' | 'attach' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ScaleComponent.\n */\nexport type ScaleComponentMethods = MethodMap<ScaleMethodNames>;\n\n/**\n * @public\n */\nexport function provideScaleComponent(config: Partial<ScaleElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SCALE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SchedulerEventElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SchedulerEventComponent.\n * Use this token to provide default properties for the SchedulerEventComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SCHEDULER_EVENT_DEFAULT_PROPS = new InjectionToken<Partial<SchedulerEventElement.Props>>('MOSAIK_SCHEDULER_EVENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - The content of the event (timeGrid and agenda layouts)\n * @slot footer - Footer content (timeGrid layout only)\n * @slot title - The title content of the event (all layouts)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-scheduler-event', SchedulerEventElement),\n    inputs: ['view', 'schedulerEventChange', 'eventKey', 'allDay', 'status', 'themeName', 'ripple', 'isFocused', 'disabled', 'variant', 'value', 'appearance', 'start', 'end', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-scheduler-event',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SchedulerEventComponent {\n    // #region Fields\n\n    private readonly _element: SchedulerEventElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SCHEDULER_EVENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<SchedulerEventElement['view'] | undefined> = input<SchedulerEventElement['view']>();\n\n    /**\n     * Signal input for the `schedulerEventChange` property.\n     *\n     * @public\n     */\n    public readonly schedulerEventChange: InputSignal<SchedulerEventElement['schedulerEventChange'] | undefined> = input<SchedulerEventElement['schedulerEventChange']>();\n\n    /**\n     * Signal input for the `eventKey` property.\n     *\n     * @public\n     */\n    public readonly eventKey: InputSignal<SchedulerEventElement['eventKey'] | undefined> = input<SchedulerEventElement['eventKey']>();\n\n    /**\n     * Signal input for the `allDay` property.\n     *\n     * @public\n     */\n    public readonly allDay: InputSignal<SchedulerEventElement['allDay'] | undefined> = input<SchedulerEventElement['allDay']>();\n\n    /**\n     * Signal input for the `status` property.\n     *\n     * @public\n     */\n    public readonly status: InputSignal<SchedulerEventElement['status'] | undefined> = input<SchedulerEventElement['status']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SchedulerEventElement['themeName'] | undefined> = input<SchedulerEventElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<SchedulerEventElement['ripple'] | undefined> = input<SchedulerEventElement['ripple']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SchedulerEventElement['isFocused'] | undefined> = input<SchedulerEventElement['isFocused']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SchedulerEventElement['disabled'] | undefined> = input<SchedulerEventElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SchedulerEventElement['variant'] | undefined> = input<SchedulerEventElement['variant']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SchedulerEventElement['value'] | undefined> = input<SchedulerEventElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SchedulerEventElement['appearance'] | undefined> = input<SchedulerEventElement['appearance']>();\n\n    /**\n     * Signal input for the `start` property.\n     *\n     * @public\n     */\n    public readonly start: InputSignal<SchedulerEventElement['start'] | undefined> = input<SchedulerEventElement['start']>();\n\n    /**\n     * Signal input for the `end` property.\n     *\n     * @public\n     */\n    public readonly end: InputSignal<SchedulerEventElement['end'] | undefined> = input<SchedulerEventElement['end']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SchedulerEventElement['dir'] | undefined> = input<SchedulerEventElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SchedulerEventElement['lang'] | undefined> = input<SchedulerEventElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const schedulerEventChangeValue = this.schedulerEventChange();\n                if (schedulerEventChangeValue !== undefined) {\n                    (this._element as any).schedulerEventChange = schedulerEventChangeValue;\n                }\n\n                const eventKeyValue = this.eventKey();\n                if (eventKeyValue !== undefined) {\n                    (this._element as any).eventKey = eventKeyValue;\n                }\n\n                const allDayValue = this.allDay();\n                if (allDayValue !== undefined) {\n                    (this._element as any).allDay = allDayValue;\n                }\n\n                const statusValue = this.status();\n                if (statusValue !== undefined) {\n                    (this._element as any).status = statusValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const startValue = this.start();\n                if (startValue !== undefined) {\n                    (this._element as any).start = startValue;\n                }\n\n                const endValue = this.end();\n                if (endValue !== undefined) {\n                    (this._element as any).end = endValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SchedulerEventMethodNames>(method: TMethod, ...args: Parameters<SchedulerEventComponentMethods[TMethod]>): ReturnType<SchedulerEventComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SchedulerEventElement>(property: TProperty, value: SchedulerEventElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SchedulerEventComponent.\n */\nexport type SchedulerEventMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SchedulerEventComponent.\n */\nexport type SchedulerEventComponentMethods = MethodMap<SchedulerEventMethodNames>;\n\n/**\n * @public\n */\nexport function provideSchedulerEventComponent(config: Partial<SchedulerEventElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SCHEDULER_EVENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SchedulerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SchedulerComponent.\n * Use this token to provide default properties for the SchedulerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SCHEDULER_DEFAULT_PROPS = new InjectionToken<Partial<SchedulerElement.Props>>('MOSAIK_SCHEDULER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for mosaik-scheduler-event elements\n * @slot allday-${ev.eventKey} - The allday-${ev.eventKey} slot.\n * @slot event-${ev.eventKey} - The event-${ev.eventKey} slot.\n * @slot toolbar - The toolbar slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-scheduler', SchedulerElement),\n    inputs: ['visibleDates', 'collectedEvents', 'eventsByDay', 'timeSlots', 'intl', 'hasAllDayEvents', 'view', 'startDate', 'days', 'hourStart', 'hourEnd', 'stepMinutes', 'timezone', 'blackoutDates', 'specialDates', 'firstDayOfWeek', 'isTodayHighlighted', 'isWeekendHighlighted', 'allDayVisibility', 'showWeekNumbers', 'showAdjacent', 'daysAhead', 'weekdayFormat', 'dayFormat', 'timeFormat', 'monthDayFormat', 'themeName', 'appearance', 'variant', 'locale', 'size', 'disabled', 'dir', 'lang'],\n    methods: ['isBlackoutDate', 'isSpecialDate', 'isWeekend', 'isToday', 'getEventsForDay', 'getAllDayEventsForDay', 'getAllDayEvents', 'getNowIndicatorTop', 'activateEvent', 'navigateToDate', 'navigateToday', 'navigatePrevious', 'navigateNext', 'onEventClick', 'onGridCellClick', 'onAllDayCellClick', 'onEventKeydown', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-scheduler',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SchedulerComponent {\n    // #region Fields\n\n    private readonly _element: SchedulerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('schedulerBeforeEventActivate', (e) => this.schedulerBeforeEventActivate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('schedulerEventActivate', (e) => this.schedulerEventActivate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('schedulerBeforeSelectRange', (e) => this.schedulerBeforeSelectRange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('schedulerSelectRange', (e) => this.schedulerSelectRange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('schedulerRangeChange', (e) => this.schedulerRangeChange.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SCHEDULER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `visibleDates` property.\n     *\n     * @public\n     */\n    public readonly visibleDates: InputSignal<SchedulerElement['visibleDates'] | undefined> = input<SchedulerElement['visibleDates']>();\n\n    /**\n     * Signal input for the `collectedEvents` property.\n     *\n     * @public\n     */\n    public readonly collectedEvents: InputSignal<SchedulerElement['collectedEvents'] | undefined> = input<SchedulerElement['collectedEvents']>();\n\n    /**\n     * Signal input for the `eventsByDay` property.\n     *\n     * @public\n     */\n    public readonly eventsByDay: InputSignal<SchedulerElement['eventsByDay'] | undefined> = input<SchedulerElement['eventsByDay']>();\n\n    /**\n     * Signal input for the `timeSlots` property.\n     *\n     * @public\n     */\n    public readonly timeSlots: InputSignal<SchedulerElement['timeSlots'] | undefined> = input<SchedulerElement['timeSlots']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<SchedulerElement['intl'] | undefined> = input<SchedulerElement['intl']>();\n\n    /**\n     * Signal input for the `hasAllDayEvents` property.\n     *\n     * @public\n     */\n    public readonly hasAllDayEvents: InputSignal<SchedulerElement['hasAllDayEvents'] | undefined> = input<SchedulerElement['hasAllDayEvents']>();\n\n    /**\n     * Signal input for the `view` property.\n     *\n     * @public\n     */\n    public readonly view: InputSignal<SchedulerElement['view'] | undefined> = input<SchedulerElement['view']>();\n\n    /**\n     * Signal input for the `startDate` property.\n     *\n     * @public\n     */\n    public readonly startDate: InputSignal<SchedulerElement['startDate'] | undefined> = input<SchedulerElement['startDate']>();\n\n    /**\n     * Signal input for the `days` property.\n     *\n     * @public\n     */\n    public readonly days: InputSignal<SchedulerElement['days'] | undefined> = input<SchedulerElement['days']>();\n\n    /**\n     * Signal input for the `hourStart` property.\n     *\n     * @public\n     */\n    public readonly hourStart: InputSignal<SchedulerElement['hourStart'] | undefined> = input<SchedulerElement['hourStart']>();\n\n    /**\n     * Signal input for the `hourEnd` property.\n     *\n     * @public\n     */\n    public readonly hourEnd: InputSignal<SchedulerElement['hourEnd'] | undefined> = input<SchedulerElement['hourEnd']>();\n\n    /**\n     * Signal input for the `stepMinutes` property.\n     *\n     * @public\n     */\n    public readonly stepMinutes: InputSignal<SchedulerElement['stepMinutes'] | undefined> = input<SchedulerElement['stepMinutes']>();\n\n    /**\n     * Signal input for the `timezone` property.\n     *\n     * @public\n     */\n    public readonly timezone: InputSignal<SchedulerElement['timezone'] | undefined> = input<SchedulerElement['timezone']>();\n\n    /**\n     * Signal input for the `blackoutDates` property.\n     *\n     * @public\n     */\n    public readonly blackoutDates: InputSignal<SchedulerElement['blackoutDates'] | undefined> = input<SchedulerElement['blackoutDates']>();\n\n    /**\n     * Signal input for the `specialDates` property.\n     *\n     * @public\n     */\n    public readonly specialDates: InputSignal<SchedulerElement['specialDates'] | undefined> = input<SchedulerElement['specialDates']>();\n\n    /**\n     * Signal input for the `firstDayOfWeek` property.\n     *\n     * @public\n     */\n    public readonly firstDayOfWeek: InputSignal<SchedulerElement['firstDayOfWeek'] | undefined> = input<SchedulerElement['firstDayOfWeek']>();\n\n    /**\n     * Signal input for the `isTodayHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isTodayHighlighted: InputSignal<SchedulerElement['isTodayHighlighted'] | undefined> = input<SchedulerElement['isTodayHighlighted']>();\n\n    /**\n     * Signal input for the `isWeekendHighlighted` property.\n     *\n     * @public\n     */\n    public readonly isWeekendHighlighted: InputSignal<SchedulerElement['isWeekendHighlighted'] | undefined> = input<SchedulerElement['isWeekendHighlighted']>();\n\n    /**\n     * Signal input for the `allDayVisibility` property.\n     *\n     * @public\n     */\n    public readonly allDayVisibility: InputSignal<SchedulerElement['allDayVisibility'] | undefined> = input<SchedulerElement['allDayVisibility']>();\n\n    /**\n     * Signal input for the `showWeekNumbers` property.\n     *\n     * @public\n     */\n    public readonly showWeekNumbers: InputSignal<SchedulerElement['showWeekNumbers'] | undefined> = input<SchedulerElement['showWeekNumbers']>();\n\n    /**\n     * Signal input for the `showAdjacent` property.\n     *\n     * @public\n     */\n    public readonly showAdjacent: InputSignal<SchedulerElement['showAdjacent'] | undefined> = input<SchedulerElement['showAdjacent']>();\n\n    /**\n     * Signal input for the `daysAhead` property.\n     *\n     * @public\n     */\n    public readonly daysAhead: InputSignal<SchedulerElement['daysAhead'] | undefined> = input<SchedulerElement['daysAhead']>();\n\n    /**\n     * Signal input for the `weekdayFormat` property.\n     *\n     * @public\n     */\n    public readonly weekdayFormat: InputSignal<SchedulerElement['weekdayFormat'] | undefined> = input<SchedulerElement['weekdayFormat']>();\n\n    /**\n     * Signal input for the `dayFormat` property.\n     *\n     * @public\n     */\n    public readonly dayFormat: InputSignal<SchedulerElement['dayFormat'] | undefined> = input<SchedulerElement['dayFormat']>();\n\n    /**\n     * Signal input for the `timeFormat` property.\n     *\n     * @public\n     */\n    public readonly timeFormat: InputSignal<SchedulerElement['timeFormat'] | undefined> = input<SchedulerElement['timeFormat']>();\n\n    /**\n     * Signal input for the `monthDayFormat` property.\n     *\n     * @public\n     */\n    public readonly monthDayFormat: InputSignal<SchedulerElement['monthDayFormat'] | undefined> = input<SchedulerElement['monthDayFormat']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SchedulerElement['themeName'] | undefined> = input<SchedulerElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SchedulerElement['appearance'] | undefined> = input<SchedulerElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SchedulerElement['variant'] | undefined> = input<SchedulerElement['variant']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<SchedulerElement['locale'] | undefined> = input<SchedulerElement['locale']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<SchedulerElement['size'] | undefined> = input<SchedulerElement['size']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SchedulerElement['disabled'] | undefined> = input<SchedulerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SchedulerElement['dir'] | undefined> = input<SchedulerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SchedulerElement['lang'] | undefined> = input<SchedulerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const visibleDatesValue = this.visibleDates();\n                if (visibleDatesValue !== undefined) {\n                    (this._element as any).visibleDates = visibleDatesValue;\n                }\n\n                const collectedEventsValue = this.collectedEvents();\n                if (collectedEventsValue !== undefined) {\n                    (this._element as any).collectedEvents = collectedEventsValue;\n                }\n\n                const eventsByDayValue = this.eventsByDay();\n                if (eventsByDayValue !== undefined) {\n                    (this._element as any).eventsByDay = eventsByDayValue;\n                }\n\n                const timeSlotsValue = this.timeSlots();\n                if (timeSlotsValue !== undefined) {\n                    (this._element as any).timeSlots = timeSlotsValue;\n                }\n\n                const hasAllDayEventsValue = this.hasAllDayEvents();\n                if (hasAllDayEventsValue !== undefined) {\n                    (this._element as any).hasAllDayEvents = hasAllDayEventsValue;\n                }\n\n                const viewValue = this.view();\n                if (viewValue !== undefined) {\n                    (this._element as any).view = viewValue;\n                }\n\n                const startDateValue = this.startDate();\n                if (startDateValue !== undefined) {\n                    (this._element as any).startDate = startDateValue;\n                }\n\n                const daysValue = this.days();\n                if (daysValue !== undefined) {\n                    (this._element as any).days = daysValue;\n                }\n\n                const hourStartValue = this.hourStart();\n                if (hourStartValue !== undefined) {\n                    (this._element as any).hourStart = hourStartValue;\n                }\n\n                const hourEndValue = this.hourEnd();\n                if (hourEndValue !== undefined) {\n                    (this._element as any).hourEnd = hourEndValue;\n                }\n\n                const stepMinutesValue = this.stepMinutes();\n                if (stepMinutesValue !== undefined) {\n                    (this._element as any).stepMinutes = stepMinutesValue;\n                }\n\n                const timezoneValue = this.timezone();\n                if (timezoneValue !== undefined) {\n                    (this._element as any).timezone = timezoneValue;\n                }\n\n                const blackoutDatesValue = this.blackoutDates();\n                if (blackoutDatesValue !== undefined) {\n                    (this._element as any).blackoutDates = blackoutDatesValue;\n                }\n\n                const specialDatesValue = this.specialDates();\n                if (specialDatesValue !== undefined) {\n                    (this._element as any).specialDates = specialDatesValue;\n                }\n\n                const firstDayOfWeekValue = this.firstDayOfWeek();\n                if (firstDayOfWeekValue !== undefined) {\n                    (this._element as any).firstDayOfWeek = firstDayOfWeekValue;\n                }\n\n                const isTodayHighlightedValue = this.isTodayHighlighted();\n                if (isTodayHighlightedValue !== undefined) {\n                    (this._element as any).isTodayHighlighted = isTodayHighlightedValue;\n                }\n\n                const isWeekendHighlightedValue = this.isWeekendHighlighted();\n                if (isWeekendHighlightedValue !== undefined) {\n                    (this._element as any).isWeekendHighlighted = isWeekendHighlightedValue;\n                }\n\n                const allDayVisibilityValue = this.allDayVisibility();\n                if (allDayVisibilityValue !== undefined) {\n                    (this._element as any).allDayVisibility = allDayVisibilityValue;\n                }\n\n                const showWeekNumbersValue = this.showWeekNumbers();\n                if (showWeekNumbersValue !== undefined) {\n                    (this._element as any).showWeekNumbers = showWeekNumbersValue;\n                }\n\n                const showAdjacentValue = this.showAdjacent();\n                if (showAdjacentValue !== undefined) {\n                    (this._element as any).showAdjacent = showAdjacentValue;\n                }\n\n                const daysAheadValue = this.daysAhead();\n                if (daysAheadValue !== undefined) {\n                    (this._element as any).daysAhead = daysAheadValue;\n                }\n\n                const weekdayFormatValue = this.weekdayFormat();\n                if (weekdayFormatValue !== undefined) {\n                    (this._element as any).weekdayFormat = weekdayFormatValue;\n                }\n\n                const dayFormatValue = this.dayFormat();\n                if (dayFormatValue !== undefined) {\n                    (this._element as any).dayFormat = dayFormatValue;\n                }\n\n                const timeFormatValue = this.timeFormat();\n                if (timeFormatValue !== undefined) {\n                    (this._element as any).timeFormat = timeFormatValue;\n                }\n\n                const monthDayFormatValue = this.monthDayFormat();\n                if (monthDayFormatValue !== undefined) {\n                    (this._element as any).monthDayFormat = monthDayFormatValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `schedulerBeforeEventActivate` event.\n     *\n     * @public\n     */\n    public readonly schedulerBeforeEventActivate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `schedulerEventActivate` event.\n     *\n     * @public\n     */\n    public readonly schedulerEventActivate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `schedulerBeforeSelectRange` event.\n     *\n     * @public\n     */\n    public readonly schedulerBeforeSelectRange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `schedulerSelectRange` event.\n     *\n     * @public\n     */\n    public readonly schedulerSelectRange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `schedulerRangeChange` event.\n     *\n     * @public\n     */\n    public readonly schedulerRangeChange: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SchedulerMethodNames>(method: TMethod, ...args: Parameters<SchedulerComponentMethods[TMethod]>): ReturnType<SchedulerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SchedulerElement>(property: TProperty, value: SchedulerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SchedulerComponent.\n */\nexport type SchedulerMethodNames = 'isBlackoutDate' | 'isSpecialDate' | 'isWeekend' | 'isToday' | 'getEventsForDay' | 'getAllDayEventsForDay' | 'getAllDayEvents' | 'getNowIndicatorTop' | 'activateEvent' | 'navigateToDate' | 'navigateToday' | 'navigatePrevious' | 'navigateNext' | 'onEventClick' | 'onGridCellClick' | 'onAllDayCellClick' | 'onEventKeydown' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SchedulerComponent.\n */\nexport type SchedulerComponentMethods = MethodMap<SchedulerMethodNames>;\n\n/**\n * @public\n */\nexport function provideSchedulerComponent(config: Partial<SchedulerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SCHEDULER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ScrollElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ScrollComponent.\n * Use this token to provide default properties for the ScrollComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SCROLL_DEFAULT_PROPS = new InjectionToken<Partial<ScrollElement.Props>>('MOSAIK_SCROLL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot for scrollable content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-scroll', ScrollElement),\n    inputs: ['isAtScrollTop', 'isAtScrollBottom', 'isAtScrollStart', 'isAtScrollEnd', 'isScrollable', 'showScrollButtons', 'showScrollbar', 'themeName', 'orientation', 'dir', 'lang'],\n    methods: ['scrollByDirection', 'scrollToPosition', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-scroll',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ScrollComponent {\n    // #region Fields\n\n    private readonly _element: ScrollElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SCROLL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isAtScrollTop` property.\n     *\n     * @public\n     */\n    public readonly isAtScrollTop: InputSignal<ScrollElement['isAtScrollTop'] | undefined> = input<ScrollElement['isAtScrollTop']>();\n\n    /**\n     * Signal input for the `isAtScrollBottom` property.\n     *\n     * @public\n     */\n    public readonly isAtScrollBottom: InputSignal<ScrollElement['isAtScrollBottom'] | undefined> = input<ScrollElement['isAtScrollBottom']>();\n\n    /**\n     * Signal input for the `isAtScrollStart` property.\n     *\n     * @public\n     */\n    public readonly isAtScrollStart: InputSignal<ScrollElement['isAtScrollStart'] | undefined> = input<ScrollElement['isAtScrollStart']>();\n\n    /**\n     * Signal input for the `isAtScrollEnd` property.\n     *\n     * @public\n     */\n    public readonly isAtScrollEnd: InputSignal<ScrollElement['isAtScrollEnd'] | undefined> = input<ScrollElement['isAtScrollEnd']>();\n\n    /**\n     * Signal input for the `isScrollable` property.\n     *\n     * @public\n     */\n    public readonly isScrollable: InputSignal<ScrollElement['isScrollable'] | undefined> = input<ScrollElement['isScrollable']>();\n\n    /**\n     * Signal input for the `showScrollButtons` property.\n     *\n     * @public\n     */\n    public readonly showScrollButtons: InputSignal<ScrollElement['showScrollButtons'] | undefined> = input<ScrollElement['showScrollButtons']>();\n\n    /**\n     * Signal input for the `showScrollbar` property.\n     *\n     * @public\n     */\n    public readonly showScrollbar: InputSignal<ScrollElement['showScrollbar'] | undefined> = input<ScrollElement['showScrollbar']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ScrollElement['themeName'] | undefined> = input<ScrollElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ScrollElement['orientation'] | undefined> = input<ScrollElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ScrollElement['dir'] | undefined> = input<ScrollElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ScrollElement['lang'] | undefined> = input<ScrollElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isAtScrollStartValue = this.isAtScrollStart();\n                if (isAtScrollStartValue !== undefined) {\n                    (this._element as any).isAtScrollStart = isAtScrollStartValue;\n                }\n\n                const isAtScrollEndValue = this.isAtScrollEnd();\n                if (isAtScrollEndValue !== undefined) {\n                    (this._element as any).isAtScrollEnd = isAtScrollEndValue;\n                }\n\n                const isScrollableValue = this.isScrollable();\n                if (isScrollableValue !== undefined) {\n                    (this._element as any).isScrollable = isScrollableValue;\n                }\n\n                const showScrollButtonsValue = this.showScrollButtons();\n                if (showScrollButtonsValue !== undefined) {\n                    (this._element as any).showScrollButtons = showScrollButtonsValue;\n                }\n\n                const showScrollbarValue = this.showScrollbar();\n                if (showScrollbarValue !== undefined) {\n                    (this._element as any).showScrollbar = showScrollbarValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ScrollMethodNames>(method: TMethod, ...args: Parameters<ScrollComponentMethods[TMethod]>): ReturnType<ScrollComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ScrollElement>(property: TProperty, value: ScrollElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ScrollComponent.\n */\nexport type ScrollMethodNames = 'scrollByDirection' | 'scrollToPosition' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ScrollComponent.\n */\nexport type ScrollComponentMethods = MethodMap<ScrollMethodNames>;\n\n/**\n * @public\n */\nexport function provideScrollComponent(config: Partial<ScrollElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SCROLL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ScrubSliderElement, IElementValueAccessor, scrubSliderElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ScrubSliderComponent.\n * Use this token to provide default properties for the ScrubSliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SCRUB_SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<ScrubSliderElement.Props>>('MOSAIK_SCRUB_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot hint - The hint slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-scrub-slider', ScrubSliderElement),\n    inputs: ['step', 'track', 'ticks', 'tickPlacement', 'showTickLabels', 'tickLabelAccessor', 'tooltipPlacement', 'tooltipAccessor', 'pxPerStep', 'accelerate', 'themeName', 'orientation', 'disabled', 'variant', 'appearance', 'isFocused', 'invalid', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['checkValidity', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-scrub-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ScrubSliderComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ScrubSliderComponent)\n        }\n    ]\n})\nexport class ScrubSliderComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ScrubSliderElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = scrubSliderElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('input', (e) => this.input.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('change', (e) => this.change.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SCRUB_SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<ScrubSliderElement['step'] | undefined> = input<ScrubSliderElement['step']>();\n\n    /**\n     * Signal input for the `track` property.\n     *\n     * @public\n     */\n    public readonly track: InputSignal<ScrubSliderElement['track'] | undefined> = input<ScrubSliderElement['track']>();\n\n    /**\n     * Signal input for the `ticks` property.\n     *\n     * @public\n     */\n    public readonly ticks: InputSignal<ScrubSliderElement['ticks'] | undefined> = input<ScrubSliderElement['ticks']>();\n\n    /**\n     * Signal input for the `tickPlacement` property.\n     *\n     * @public\n     */\n    public readonly tickPlacement: InputSignal<ScrubSliderElement['tickPlacement'] | undefined> = input<ScrubSliderElement['tickPlacement']>();\n\n    /**\n     * Signal input for the `showTickLabels` property.\n     *\n     * @public\n     */\n    public readonly showTickLabels: InputSignal<ScrubSliderElement['showTickLabels'] | undefined> = input<ScrubSliderElement['showTickLabels']>();\n\n    /**\n     * Signal input for the `tickLabelAccessor` property.\n     *\n     * @public\n     */\n    public readonly tickLabelAccessor: InputSignal<ScrubSliderElement['tickLabelAccessor'] | undefined> = input<ScrubSliderElement['tickLabelAccessor']>();\n\n    /**\n     * Signal input for the `tooltipPlacement` property.\n     *\n     * @public\n     */\n    public readonly tooltipPlacement: InputSignal<ScrubSliderElement['tooltipPlacement'] | undefined> = input<ScrubSliderElement['tooltipPlacement']>();\n\n    /**\n     * Signal input for the `tooltipAccessor` property.\n     *\n     * @public\n     */\n    public readonly tooltipAccessor: InputSignal<ScrubSliderElement['tooltipAccessor'] | undefined> = input<ScrubSliderElement['tooltipAccessor']>();\n\n    /**\n     * Signal input for the `pxPerStep` property.\n     *\n     * @public\n     */\n    public readonly pxPerStep: InputSignal<ScrubSliderElement['pxPerStep'] | undefined> = input<ScrubSliderElement['pxPerStep']>();\n\n    /**\n     * Signal input for the `accelerate` property.\n     *\n     * @public\n     */\n    public readonly accelerate: InputSignal<ScrubSliderElement['accelerate'] | undefined> = input<ScrubSliderElement['accelerate']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ScrubSliderElement['themeName'] | undefined> = input<ScrubSliderElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ScrubSliderElement['orientation'] | undefined> = input<ScrubSliderElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ScrubSliderElement['disabled'] | undefined> = input<ScrubSliderElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ScrubSliderElement['variant'] | undefined> = input<ScrubSliderElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ScrubSliderElement['appearance'] | undefined> = input<ScrubSliderElement['appearance']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ScrubSliderElement['isFocused'] | undefined> = input<ScrubSliderElement['isFocused']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ScrubSliderElement['invalid'] | undefined> = input<ScrubSliderElement['invalid']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<ScrubSliderElement['min'] | undefined> = input<ScrubSliderElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<ScrubSliderElement['max'] | undefined> = input<ScrubSliderElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ScrubSliderElement['value'] | undefined> = input<ScrubSliderElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ScrubSliderElement['dir'] | undefined> = input<ScrubSliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ScrubSliderElement['lang'] | undefined> = input<ScrubSliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const trackValue = this.track();\n                if (trackValue !== undefined) {\n                    (this._element as any).track = trackValue;\n                }\n\n                const tickPlacementValue = this.tickPlacement();\n                if (tickPlacementValue !== undefined) {\n                    (this._element as any).tickPlacement = tickPlacementValue;\n                }\n\n                const showTickLabelsValue = this.showTickLabels();\n                if (showTickLabelsValue !== undefined) {\n                    (this._element as any).showTickLabels = showTickLabelsValue;\n                }\n\n                const tickLabelAccessorValue = this.tickLabelAccessor();\n                if (tickLabelAccessorValue !== undefined) {\n                    (this._element as any).tickLabelAccessor = tickLabelAccessorValue;\n                }\n\n                const tooltipPlacementValue = this.tooltipPlacement();\n                if (tooltipPlacementValue !== undefined) {\n                    (this._element as any).tooltipPlacement = tooltipPlacementValue;\n                }\n\n                const tooltipAccessorValue = this.tooltipAccessor();\n                if (tooltipAccessorValue !== undefined) {\n                    (this._element as any).tooltipAccessor = tooltipAccessorValue;\n                }\n\n                const pxPerStepValue = this.pxPerStep();\n                if (pxPerStepValue !== undefined) {\n                    (this._element as any).pxPerStep = pxPerStepValue;\n                }\n\n                const accelerateValue = this.accelerate();\n                if (accelerateValue !== undefined) {\n                    (this._element as any).accelerate = accelerateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `input` event.\n     *\n     * @public\n     */\n    public readonly input: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `change` event.\n     *\n     * @public\n     */\n    public readonly change: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ScrubSliderMethodNames>(method: TMethod, ...args: Parameters<ScrubSliderComponentMethods[TMethod]>): ReturnType<ScrubSliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ScrubSliderElement>(property: TProperty, value: ScrubSliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ScrubSliderComponent.\n */\nexport type ScrubSliderMethodNames = 'checkValidity' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ScrubSliderComponent.\n */\nexport type ScrubSliderComponentMethods = MethodMap<ScrubSliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideScrubSliderComponent(config: Partial<ScrubSliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SCRUB_SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SearchBoxElement, IElementValueAccessor, searchBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SearchBoxComponent.\n * Use this token to provide default properties for the SearchBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SEARCH_BOX_DEFAULT_PROPS = new InjectionToken<Partial<SearchBoxElement.Props>>('MOSAIK_SEARCH_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the search input.\n * @slot suffix - Content placed after the search input.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-searchbox', SearchBoxElement),\n    inputs: ['textAlign', 'readonly', 'required', 'autofocus', 'name', 'pattern', 'placeholder', 'autocomplete', 'mode', 'delay', 'themeName', 'isClearable', 'invalid', 'value', 'variant', 'isBusy', 'appearance', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'reset', 'search', 'clear', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-searchbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SearchBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => SearchBoxComponent)\n        }\n    ]\n})\nexport class SearchBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: SearchBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = searchBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('searched', (e) => this.searched.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SEARCH_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<SearchBoxElement['textAlign'] | undefined> = input<SearchBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<SearchBoxElement['readonly'] | undefined> = input<SearchBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<SearchBoxElement['required'] | undefined> = input<SearchBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<SearchBoxElement['autofocus'] | undefined> = input<SearchBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<SearchBoxElement['name'] | undefined> = input<SearchBoxElement['name']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<SearchBoxElement['pattern'] | undefined> = input<SearchBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<SearchBoxElement['placeholder'] | undefined> = input<SearchBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<SearchBoxElement['autocomplete'] | undefined> = input<SearchBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `mode` property.\n     *\n     * @public\n     */\n    public readonly mode: InputSignal<SearchBoxElement['mode'] | undefined> = input<SearchBoxElement['mode']>();\n\n    /**\n     * Signal input for the `delay` property.\n     *\n     * @public\n     */\n    public readonly delay: InputSignal<SearchBoxElement['delay'] | undefined> = input<SearchBoxElement['delay']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SearchBoxElement['themeName'] | undefined> = input<SearchBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<SearchBoxElement['isClearable'] | undefined> = input<SearchBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<SearchBoxElement['invalid'] | undefined> = input<SearchBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SearchBoxElement['value'] | undefined> = input<SearchBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SearchBoxElement['variant'] | undefined> = input<SearchBoxElement['variant']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<SearchBoxElement['isBusy'] | undefined> = input<SearchBoxElement['isBusy']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SearchBoxElement['appearance'] | undefined> = input<SearchBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SearchBoxElement['disabled'] | undefined> = input<SearchBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<SearchBoxElement['state'] | undefined> = input<SearchBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SearchBoxElement['formatter'] | undefined> = input<SearchBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<SearchBoxElement['parser'] | undefined> = input<SearchBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SearchBoxElement['isFocused'] | undefined> = input<SearchBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SearchBoxElement['dir'] | undefined> = input<SearchBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SearchBoxElement['lang'] | undefined> = input<SearchBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const modeValue = this.mode();\n                if (modeValue !== undefined) {\n                    (this._element as any).mode = modeValue;\n                }\n\n                const delayValue = this.delay();\n                if (delayValue !== undefined) {\n                    (this._element as any).delay = delayValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `searched` event.\n     *\n     * @public\n     */\n    public readonly searched: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SearchBoxMethodNames>(method: TMethod, ...args: Parameters<SearchBoxComponentMethods[TMethod]>): ReturnType<SearchBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SearchBoxElement>(property: TProperty, value: SearchBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SearchBoxComponent.\n */\nexport type SearchBoxMethodNames = 'focus' | 'blur' | 'reset' | 'search' | 'clear' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SearchBoxComponent.\n */\nexport type SearchBoxComponentMethods = MethodMap<SearchBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideSearchBoxComponent(config: Partial<SearchBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SEARCH_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SegmentItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SegmentItemComponent.\n * Use this token to provide default properties for the SegmentItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SEGMENT_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<SegmentItemElement.Props>>('MOSAIK_SEGMENT_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - The icon displayed within the segment item\n * @slot label - The text label displayed within the segment item\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-segment-item', SegmentItemElement),\n    inputs: ['iconSize', 'icon', 'iconPosition', 'themeName', 'orientation', 'isChecked', 'label', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-segment-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SegmentItemComponent {\n    // #region Fields\n\n    private readonly _element: SegmentItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SEGMENT_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<SegmentItemElement['iconSize'] | undefined> = input<SegmentItemElement['iconSize']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<SegmentItemElement['icon'] | undefined> = input<SegmentItemElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<SegmentItemElement['iconPosition'] | undefined> = input<SegmentItemElement['iconPosition']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SegmentItemElement['themeName'] | undefined> = input<SegmentItemElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<SegmentItemElement['orientation'] | undefined> = input<SegmentItemElement['orientation']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<SegmentItemElement['isChecked'] | undefined> = input<SegmentItemElement['isChecked']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<SegmentItemElement['label'] | undefined> = input<SegmentItemElement['label']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<SegmentItemElement['type'] | undefined> = input<SegmentItemElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<SegmentItemElement['ripple'] | undefined> = input<SegmentItemElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SegmentItemElement['variant'] | undefined> = input<SegmentItemElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SegmentItemElement['appearance'] | undefined> = input<SegmentItemElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<SegmentItemElement['size'] | undefined> = input<SegmentItemElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SegmentItemElement['value'] | undefined> = input<SegmentItemElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SegmentItemElement['disabled'] | undefined> = input<SegmentItemElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SegmentItemElement['isFocused'] | undefined> = input<SegmentItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SegmentItemElement['dir'] | undefined> = input<SegmentItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SegmentItemElement['lang'] | undefined> = input<SegmentItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SegmentItemMethodNames>(method: TMethod, ...args: Parameters<SegmentItemComponentMethods[TMethod]>): ReturnType<SegmentItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SegmentItemElement>(property: TProperty, value: SegmentItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SegmentItemComponent.\n */\nexport type SegmentItemMethodNames = 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SegmentItemComponent.\n */\nexport type SegmentItemComponentMethods = MethodMap<SegmentItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideSegmentItemComponent(config: Partial<SegmentItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SEGMENT_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SegmentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SegmentComponent.\n * Use this token to provide default properties for the SegmentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SEGMENT_DEFAULT_PROPS = new InjectionToken<Partial<SegmentElement.Props>>('MOSAIK_SEGMENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for segment items (mosaik-segment-item elements)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-segment', SegmentElement),\n    inputs: ['themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-segment',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SegmentComponent {\n    // #region Fields\n\n    private readonly _element: SegmentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SEGMENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SegmentElement['themeName'] | undefined> = input<SegmentElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SegmentElement['disabled'] | undefined> = input<SegmentElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SegmentElement['variant'] | undefined> = input<SegmentElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SegmentElement['appearance'] | undefined> = input<SegmentElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SegmentElement['dir'] | undefined> = input<SegmentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SegmentElement['lang'] | undefined> = input<SegmentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SegmentMethodNames>(method: TMethod, ...args: Parameters<SegmentComponentMethods[TMethod]>): ReturnType<SegmentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SegmentElement>(property: TProperty, value: SegmentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SegmentComponent.\n */\nexport type SegmentMethodNames = 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SegmentComponent.\n */\nexport type SegmentComponentMethods = MethodMap<SegmentMethodNames>;\n\n/**\n * @public\n */\nexport function provideSegmentComponent(config: Partial<SegmentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SEGMENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SelectItemGroupElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SelectItemGroupComponent.\n * Use this token to provide default properties for the SelectItemGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SELECT_ITEM_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<SelectItemGroupElement.Props>>('MOSAIK_SELECT_ITEM_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for Select Item elements within the group\n * @slot header - The header slot for custom group label content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-select-item-group', SelectItemGroupElement),\n    inputs: ['items', 'header', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-select-item-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SelectItemGroupComponent {\n    // #region Fields\n\n    private readonly _element: SelectItemGroupElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SELECT_ITEM_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<SelectItemGroupElement['items'] | undefined> = input<SelectItemGroupElement['items']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<SelectItemGroupElement['header'] | undefined> = input<SelectItemGroupElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SelectItemGroupElement['themeName'] | undefined> = input<SelectItemGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SelectItemGroupElement['dir'] | undefined> = input<SelectItemGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SelectItemGroupElement['lang'] | undefined> = input<SelectItemGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SelectItemGroupMethodNames>(method: TMethod, ...args: Parameters<SelectItemGroupComponentMethods[TMethod]>): ReturnType<SelectItemGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SelectItemGroupElement>(property: TProperty, value: SelectItemGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SelectItemGroupComponent.\n */\nexport type SelectItemGroupMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SelectItemGroupComponent.\n */\nexport type SelectItemGroupComponentMethods = MethodMap<SelectItemGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideSelectItemGroupComponent(config: Partial<SelectItemGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SELECT_ITEM_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SelectItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SelectItemComponent.\n * Use this token to provide default properties for the SelectItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SELECT_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<SelectItemElement.Props>>('MOSAIK_SELECT_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot end - Content placed after the label (e.g., shortcuts, metadata)\n * @slot icon - The icon display area alongside the label\n * @slot label - The primary text label for the option\n * @slot start - Content placed before the icon (e.g., status indicators, badges)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-select-item', SelectItemElement),\n    inputs: ['icon', 'isActive', 'themeName', 'ripple', 'disabled', 'variant', 'isFocused', 'label', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-select-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SelectItemComponent {\n    // #region Fields\n\n    private readonly _element: SelectItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SELECT_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<SelectItemElement['icon'] | undefined> = input<SelectItemElement['icon']>();\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<SelectItemElement['isActive'] | undefined> = input<SelectItemElement['isActive']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SelectItemElement['themeName'] | undefined> = input<SelectItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<SelectItemElement['ripple'] | undefined> = input<SelectItemElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SelectItemElement['disabled'] | undefined> = input<SelectItemElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SelectItemElement['variant'] | undefined> = input<SelectItemElement['variant']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SelectItemElement['isFocused'] | undefined> = input<SelectItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<SelectItemElement['label'] | undefined> = input<SelectItemElement['label']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<SelectItemElement['isSelected'] | undefined> = input<SelectItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<SelectItemElement['index'] | undefined> = input<SelectItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<SelectItemElement['displayText'] | undefined> = input<SelectItemElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SelectItemElement['value'] | undefined> = input<SelectItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SelectItemElement['dir'] | undefined> = input<SelectItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SelectItemElement['lang'] | undefined> = input<SelectItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SelectItemMethodNames>(method: TMethod, ...args: Parameters<SelectItemComponentMethods[TMethod]>): ReturnType<SelectItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SelectItemElement>(property: TProperty, value: SelectItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SelectItemComponent.\n */\nexport type SelectItemMethodNames = 'hasVisibleFocusInTree' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SelectItemComponent.\n */\nexport type SelectItemComponentMethods = MethodMap<SelectItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideSelectItemComponent(config: Partial<SelectItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SELECT_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectElement, IElementValueAccessor, selectElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SelectComponent.\n * Use this token to provide default properties for the SelectComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SELECT_DEFAULT_PROPS = new InjectionToken<Partial<SelectElement.Props>>('MOSAIK_SELECT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for select items and groups.\n * @slot filter - Custom filter input for the dropdown.\n * @slot prefix - Content placed before the input value.\n * @slot suffix - Content placed after the input value.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-select', SelectElement),\n    inputs: ['intl', 'isEditable', 'isReadOnly', 'placeholder', 'required', 'textAlign', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'appearance', 'variant', 'label', 'isClearable', 'invalid', 'disabled', 'value', 'themeName', 'showFilter', 'filterMemberPath', 'filter', 'filterPlaceholder', 'selectedItem', 'dir', 'lang'],\n    methods: ['reset', 'checkValidity', 'clear', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-select',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SelectComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => SelectComponent)\n        }\n    ]\n})\nexport class SelectComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: SelectElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = selectElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SELECT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<SelectElement['intl'] | undefined> = input<SelectElement['intl']>();\n\n    /**\n     * Signal input for the `isEditable` property.\n     *\n     * @public\n     */\n    public readonly isEditable: InputSignal<SelectElement['isEditable'] | undefined> = input<SelectElement['isEditable']>();\n\n    /**\n     * Signal input for the `isReadOnly` property.\n     *\n     * @public\n     */\n    public readonly isReadOnly: InputSignal<SelectElement['isReadOnly'] | undefined> = input<SelectElement['isReadOnly']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<SelectElement['placeholder'] | undefined> = input<SelectElement['placeholder']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<SelectElement['required'] | undefined> = input<SelectElement['required']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<SelectElement['textAlign'] | undefined> = input<SelectElement['textAlign']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<SelectElement['dropDownPlacement'] | undefined> = input<SelectElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<SelectElement['dropDownStrategy'] | undefined> = input<SelectElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<SelectElement['dropDownDistance'] | undefined> = input<SelectElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<SelectElement['dropDownSkidding'] | undefined> = input<SelectElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<SelectElement['dropDownStaysOpen'] | undefined> = input<SelectElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<SelectElement['dropDownMaxHeight'] | undefined> = input<SelectElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<SelectElement['dropDownHeight'] | undefined> = input<SelectElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<SelectElement['dropDownWidth'] | undefined> = input<SelectElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<SelectElement['dropDownMaxWidth'] | undefined> = input<SelectElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<SelectElement['isDropDownOpen'] | undefined> = input<SelectElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SelectElement['appearance'] | undefined> = input<SelectElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SelectElement['variant'] | undefined> = input<SelectElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<SelectElement['label'] | undefined> = input<SelectElement['label']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<SelectElement['isClearable'] | undefined> = input<SelectElement['isClearable']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<SelectElement['invalid'] | undefined> = input<SelectElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SelectElement['disabled'] | undefined> = input<SelectElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SelectElement['value'] | undefined> = input<SelectElement['value']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SelectElement['themeName'] | undefined> = input<SelectElement['themeName']>();\n\n    /**\n     * Signal input for the `showFilter` property.\n     *\n     * @public\n     */\n    public readonly showFilter: InputSignal<SelectElement['showFilter'] | undefined> = input<SelectElement['showFilter']>();\n\n    /**\n     * Signal input for the `filterMemberPath` property.\n     *\n     * @public\n     */\n    public readonly filterMemberPath: InputSignal<SelectElement['filterMemberPath'] | undefined> = input<SelectElement['filterMemberPath']>();\n\n    /**\n     * Signal input for the `filter` property.\n     *\n     * @public\n     */\n    public readonly filter: InputSignal<SelectElement['filter'] | undefined> = input<SelectElement['filter']>();\n\n    /**\n     * Signal input for the `filterPlaceholder` property.\n     *\n     * @public\n     */\n    public readonly filterPlaceholder: InputSignal<SelectElement['filterPlaceholder'] | undefined> = input<SelectElement['filterPlaceholder']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<SelectElement['selectedItem'] | undefined> = input<SelectElement['selectedItem']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SelectElement['dir'] | undefined> = input<SelectElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SelectElement['lang'] | undefined> = input<SelectElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isEditableValue = this.isEditable();\n                if (isEditableValue !== undefined) {\n                    (this._element as any).isEditable = isEditableValue;\n                }\n\n                const isReadOnlyValue = this.isReadOnly();\n                if (isReadOnlyValue !== undefined) {\n                    (this._element as any).isReadOnly = isReadOnlyValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const showFilterValue = this.showFilter();\n                if (showFilterValue !== undefined) {\n                    (this._element as any).showFilter = showFilterValue;\n                }\n\n                const filterMemberPathValue = this.filterMemberPath();\n                if (filterMemberPathValue !== undefined) {\n                    (this._element as any).filterMemberPath = filterMemberPathValue;\n                }\n\n                const filterValue = this.filter();\n                if (filterValue !== undefined) {\n                    (this._element as any).filter = filterValue;\n                }\n\n                const filterPlaceholderValue = this.filterPlaceholder();\n                if (filterPlaceholderValue !== undefined) {\n                    (this._element as any).filterPlaceholder = filterPlaceholderValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SelectMethodNames>(method: TMethod, ...args: Parameters<SelectComponentMethods[TMethod]>): ReturnType<SelectComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SelectElement>(property: TProperty, value: SelectElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SelectComponent.\n */\nexport type SelectMethodNames = 'reset' | 'checkValidity' | 'clear' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SelectComponent.\n */\nexport type SelectComponentMethods = MethodMap<SelectMethodNames>;\n\n/**\n * @public\n */\nexport function provideSelectComponent(config: Partial<SelectElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SELECT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SignaturePadElement, IElementValueAccessor, signaturePadElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SignaturePadComponent.\n * Use this token to provide default properties for the SignaturePadComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SIGNATURE_PAD_DEFAULT_PROPS = new InjectionToken<Partial<SignaturePadElement.Props>>('MOSAIK_SIGNATURE_PAD_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-signaturepad', SignaturePadElement),\n    inputs: ['isEmpty', 'width', 'height', 'placeholder', 'minDistance', 'throttle', 'dotSize', 'minWidth', 'maxWidth', 'velocityFilterWeight', 'backgroundColor', 'penColor', 'required', 'themeName', 'isClearable', 'disabled', 'isFocused', 'variant', 'invalid', 'value', 'label', 'appearance', 'dir', 'lang'],\n    methods: ['checkValidity', 'reset', 'toData', 'toDataURL', 'toBlob', 'fromData', 'fromDataURL', 'clear', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-signaturepad',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SignaturePadComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => SignaturePadComponent)\n        }\n    ]\n})\nexport class SignaturePadComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: SignaturePadElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = signaturePadElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('signStarted', (e) => this.signStarted.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('signEnded', (e) => this.signEnded.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('signStrokeBeforeUpdate', (e) => this.signStrokeBeforeUpdate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('signStrokeAfterUpdate', (e) => this.signStrokeAfterUpdate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SIGNATURE_PAD_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isEmpty` property.\n     *\n     * @public\n     */\n    public readonly isEmpty: InputSignal<SignaturePadElement['isEmpty'] | undefined> = input<SignaturePadElement['isEmpty']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<SignaturePadElement['width'] | undefined> = input<SignaturePadElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<SignaturePadElement['height'] | undefined> = input<SignaturePadElement['height']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<SignaturePadElement['placeholder'] | undefined> = input<SignaturePadElement['placeholder']>();\n\n    /**\n     * Signal input for the `minDistance` property.\n     *\n     * @public\n     */\n    public readonly minDistance: InputSignal<SignaturePadElement['minDistance'] | undefined> = input<SignaturePadElement['minDistance']>();\n\n    /**\n     * Signal input for the `throttle` property.\n     *\n     * @public\n     */\n    public readonly throttle: InputSignal<SignaturePadElement['throttle'] | undefined> = input<SignaturePadElement['throttle']>();\n\n    /**\n     * Signal input for the `dotSize` property.\n     *\n     * @public\n     */\n    public readonly dotSize: InputSignal<SignaturePadElement['dotSize'] | undefined> = input<SignaturePadElement['dotSize']>();\n\n    /**\n     * Signal input for the `minWidth` property.\n     *\n     * @public\n     */\n    public readonly minWidth: InputSignal<SignaturePadElement['minWidth'] | undefined> = input<SignaturePadElement['minWidth']>();\n\n    /**\n     * Signal input for the `maxWidth` property.\n     *\n     * @public\n     */\n    public readonly maxWidth: InputSignal<SignaturePadElement['maxWidth'] | undefined> = input<SignaturePadElement['maxWidth']>();\n\n    /**\n     * Signal input for the `velocityFilterWeight` property.\n     *\n     * @public\n     */\n    public readonly velocityFilterWeight: InputSignal<SignaturePadElement['velocityFilterWeight'] | undefined> = input<SignaturePadElement['velocityFilterWeight']>();\n\n    /**\n     * Signal input for the `backgroundColor` property.\n     *\n     * @public\n     */\n    public readonly backgroundColor: InputSignal<SignaturePadElement['backgroundColor'] | undefined> = input<SignaturePadElement['backgroundColor']>();\n\n    /**\n     * Signal input for the `penColor` property.\n     *\n     * @public\n     */\n    public readonly penColor: InputSignal<SignaturePadElement['penColor'] | undefined> = input<SignaturePadElement['penColor']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<SignaturePadElement['required'] | undefined> = input<SignaturePadElement['required']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SignaturePadElement['themeName'] | undefined> = input<SignaturePadElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<SignaturePadElement['isClearable'] | undefined> = input<SignaturePadElement['isClearable']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SignaturePadElement['disabled'] | undefined> = input<SignaturePadElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SignaturePadElement['isFocused'] | undefined> = input<SignaturePadElement['isFocused']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SignaturePadElement['variant'] | undefined> = input<SignaturePadElement['variant']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<SignaturePadElement['invalid'] | undefined> = input<SignaturePadElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SignaturePadElement['value'] | undefined> = input<SignaturePadElement['value']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<SignaturePadElement['label'] | undefined> = input<SignaturePadElement['label']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SignaturePadElement['appearance'] | undefined> = input<SignaturePadElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SignaturePadElement['dir'] | undefined> = input<SignaturePadElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SignaturePadElement['lang'] | undefined> = input<SignaturePadElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const minDistanceValue = this.minDistance();\n                if (minDistanceValue !== undefined) {\n                    (this._element as any).minDistance = minDistanceValue;\n                }\n\n                const throttleValue = this.throttle();\n                if (throttleValue !== undefined) {\n                    (this._element as any).throttle = throttleValue;\n                }\n\n                const dotSizeValue = this.dotSize();\n                if (dotSizeValue !== undefined) {\n                    (this._element as any).dotSize = dotSizeValue;\n                }\n\n                const minWidthValue = this.minWidth();\n                if (minWidthValue !== undefined) {\n                    (this._element as any).minWidth = minWidthValue;\n                }\n\n                const maxWidthValue = this.maxWidth();\n                if (maxWidthValue !== undefined) {\n                    (this._element as any).maxWidth = maxWidthValue;\n                }\n\n                const velocityFilterWeightValue = this.velocityFilterWeight();\n                if (velocityFilterWeightValue !== undefined) {\n                    (this._element as any).velocityFilterWeight = velocityFilterWeightValue;\n                }\n\n                const backgroundColorValue = this.backgroundColor();\n                if (backgroundColorValue !== undefined) {\n                    (this._element as any).backgroundColor = backgroundColorValue;\n                }\n\n                const penColorValue = this.penColor();\n                if (penColorValue !== undefined) {\n                    (this._element as any).penColor = penColorValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `signStarted` event.\n     *\n     * @public\n     */\n    public readonly signStarted: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `signEnded` event.\n     *\n     * @public\n     */\n    public readonly signEnded: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `signStrokeBeforeUpdate` event.\n     *\n     * @public\n     */\n    public readonly signStrokeBeforeUpdate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `signStrokeAfterUpdate` event.\n     *\n     * @public\n     */\n    public readonly signStrokeAfterUpdate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SignaturePadMethodNames>(method: TMethod, ...args: Parameters<SignaturePadComponentMethods[TMethod]>): ReturnType<SignaturePadComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SignaturePadElement>(property: TProperty, value: SignaturePadElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SignaturePadComponent.\n */\nexport type SignaturePadMethodNames = 'checkValidity' | 'reset' | 'toData' | 'toDataURL' | 'toBlob' | 'fromData' | 'fromDataURL' | 'clear' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SignaturePadComponent.\n */\nexport type SignaturePadComponentMethods = MethodMap<SignaturePadMethodNames>;\n\n/**\n * @public\n */\nexport function provideSignaturePadComponent(config: Partial<SignaturePadElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SIGNATURE_PAD_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SkeletonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SkeletonComponent.\n * Use this token to provide default properties for the SkeletonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SKELETON_DEFAULT_PROPS = new InjectionToken<Partial<SkeletonElement.Props>>('MOSAIK_SKELETON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-skeleton', SkeletonElement),\n    inputs: ['target', 'shape', 'shimmer', 'themeName', 'width', 'height', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-skeleton',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SkeletonComponent {\n    // #region Fields\n\n    private readonly _element: SkeletonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SKELETON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `target` property.\n     *\n     * @public\n     */\n    public readonly target: InputSignal<SkeletonElement['target'] | undefined> = input<SkeletonElement['target']>();\n\n    /**\n     * Signal input for the `shape` property.\n     *\n     * @public\n     */\n    public readonly shape: InputSignal<SkeletonElement['shape'] | undefined> = input<SkeletonElement['shape']>();\n\n    /**\n     * Signal input for the `shimmer` property.\n     *\n     * @public\n     */\n    public readonly shimmer: InputSignal<SkeletonElement['shimmer'] | undefined> = input<SkeletonElement['shimmer']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SkeletonElement['themeName'] | undefined> = input<SkeletonElement['themeName']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<SkeletonElement['width'] | undefined> = input<SkeletonElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<SkeletonElement['height'] | undefined> = input<SkeletonElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SkeletonElement['dir'] | undefined> = input<SkeletonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SkeletonElement['lang'] | undefined> = input<SkeletonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const targetValue = this.target();\n                if (targetValue !== undefined) {\n                    (this._element as any).target = targetValue;\n                }\n\n                const shapeValue = this.shape();\n                if (shapeValue !== undefined) {\n                    (this._element as any).shape = shapeValue;\n                }\n\n                const shimmerValue = this.shimmer();\n                if (shimmerValue !== undefined) {\n                    (this._element as any).shimmer = shimmerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SkeletonMethodNames>(method: TMethod, ...args: Parameters<SkeletonComponentMethods[TMethod]>): ReturnType<SkeletonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SkeletonElement>(property: TProperty, value: SkeletonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SkeletonComponent.\n */\nexport type SkeletonMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SkeletonComponent.\n */\nexport type SkeletonComponentMethods = MethodMap<SkeletonMethodNames>;\n\n/**\n * @public\n */\nexport function provideSkeletonComponent(config: Partial<SkeletonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SKELETON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SliderElement, IElementValueAccessor, sliderElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SliderComponent.\n * Use this token to provide default properties for the SliderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SLIDER_DEFAULT_PROPS = new InjectionToken<Partial<SliderElement.Props>>('MOSAIK_SLIDER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content displayed before the slider track (e.g., minimum value label or icon)\n * @slot suffix - Content displayed after the slider track (e.g., maximum value label or icon)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-slider', SliderElement),\n    inputs: ['step', 'track', 'ticks', 'tickPlacement', 'showTickLabels', 'tickLabelAccessor', 'tooltipPlacement', 'tooltipAccessor', 'themeName', 'orientation', 'disabled', 'variant', 'appearance', 'isFocused', 'invalid', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['stepDown', 'stepUp', 'checkValidity', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-slider',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SliderComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => SliderComponent)\n        }\n    ]\n})\nexport class SliderComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: SliderElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = sliderElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SLIDER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<SliderElement['step'] | undefined> = input<SliderElement['step']>();\n\n    /**\n     * Signal input for the `track` property.\n     *\n     * @public\n     */\n    public readonly track: InputSignal<SliderElement['track'] | undefined> = input<SliderElement['track']>();\n\n    /**\n     * Signal input for the `ticks` property.\n     *\n     * @public\n     */\n    public readonly ticks: InputSignal<SliderElement['ticks'] | undefined> = input<SliderElement['ticks']>();\n\n    /**\n     * Signal input for the `tickPlacement` property.\n     *\n     * @public\n     */\n    public readonly tickPlacement: InputSignal<SliderElement['tickPlacement'] | undefined> = input<SliderElement['tickPlacement']>();\n\n    /**\n     * Signal input for the `showTickLabels` property.\n     *\n     * @public\n     */\n    public readonly showTickLabels: InputSignal<SliderElement['showTickLabels'] | undefined> = input<SliderElement['showTickLabels']>();\n\n    /**\n     * Signal input for the `tickLabelAccessor` property.\n     *\n     * @public\n     */\n    public readonly tickLabelAccessor: InputSignal<SliderElement['tickLabelAccessor'] | undefined> = input<SliderElement['tickLabelAccessor']>();\n\n    /**\n     * Signal input for the `tooltipPlacement` property.\n     *\n     * @public\n     */\n    public readonly tooltipPlacement: InputSignal<SliderElement['tooltipPlacement'] | undefined> = input<SliderElement['tooltipPlacement']>();\n\n    /**\n     * Signal input for the `tooltipAccessor` property.\n     *\n     * @public\n     */\n    public readonly tooltipAccessor: InputSignal<SliderElement['tooltipAccessor'] | undefined> = input<SliderElement['tooltipAccessor']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SliderElement['themeName'] | undefined> = input<SliderElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<SliderElement['orientation'] | undefined> = input<SliderElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SliderElement['disabled'] | undefined> = input<SliderElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SliderElement['variant'] | undefined> = input<SliderElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SliderElement['appearance'] | undefined> = input<SliderElement['appearance']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SliderElement['isFocused'] | undefined> = input<SliderElement['isFocused']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<SliderElement['invalid'] | undefined> = input<SliderElement['invalid']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<SliderElement['min'] | undefined> = input<SliderElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<SliderElement['max'] | undefined> = input<SliderElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SliderElement['value'] | undefined> = input<SliderElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SliderElement['dir'] | undefined> = input<SliderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SliderElement['lang'] | undefined> = input<SliderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const trackValue = this.track();\n                if (trackValue !== undefined) {\n                    (this._element as any).track = trackValue;\n                }\n\n                const tickPlacementValue = this.tickPlacement();\n                if (tickPlacementValue !== undefined) {\n                    (this._element as any).tickPlacement = tickPlacementValue;\n                }\n\n                const showTickLabelsValue = this.showTickLabels();\n                if (showTickLabelsValue !== undefined) {\n                    (this._element as any).showTickLabels = showTickLabelsValue;\n                }\n\n                const tickLabelAccessorValue = this.tickLabelAccessor();\n                if (tickLabelAccessorValue !== undefined) {\n                    (this._element as any).tickLabelAccessor = tickLabelAccessorValue;\n                }\n\n                const tooltipPlacementValue = this.tooltipPlacement();\n                if (tooltipPlacementValue !== undefined) {\n                    (this._element as any).tooltipPlacement = tooltipPlacementValue;\n                }\n\n                const tooltipAccessorValue = this.tooltipAccessor();\n                if (tooltipAccessorValue !== undefined) {\n                    (this._element as any).tooltipAccessor = tooltipAccessorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SliderMethodNames>(method: TMethod, ...args: Parameters<SliderComponentMethods[TMethod]>): ReturnType<SliderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SliderElement>(property: TProperty, value: SliderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SliderComponent.\n */\nexport type SliderMethodNames = 'stepDown' | 'stepUp' | 'checkValidity' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SliderComponent.\n */\nexport type SliderComponentMethods = MethodMap<SliderMethodNames>;\n\n/**\n * @public\n */\nexport function provideSliderComponent(config: Partial<SliderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SLIDER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { Slider2ThumbElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the Slider2ThumbComponent.\n * Use this token to provide default properties for the Slider2ThumbComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SLIDER2THUMB_DEFAULT_PROPS = new InjectionToken<Partial<Slider2ThumbElement.Props>>('MOSAIK_SLIDER2THUMB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-slider2-thumb', Slider2ThumbElement),\n    inputs: ['step', 'themeName', 'disabled', 'isFocused', 'variant', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-slider2-thumb',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class Slider2ThumbComponent {\n    // #region Fields\n\n    private readonly _element: Slider2ThumbElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SLIDER2THUMB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<Slider2ThumbElement['step'] | undefined> = input<Slider2ThumbElement['step']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<Slider2ThumbElement['themeName'] | undefined> = input<Slider2ThumbElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<Slider2ThumbElement['disabled'] | undefined> = input<Slider2ThumbElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<Slider2ThumbElement['isFocused'] | undefined> = input<Slider2ThumbElement['isFocused']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<Slider2ThumbElement['variant'] | undefined> = input<Slider2ThumbElement['variant']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<Slider2ThumbElement['min'] | undefined> = input<Slider2ThumbElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<Slider2ThumbElement['max'] | undefined> = input<Slider2ThumbElement['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<Slider2ThumbElement['value'] | undefined> = input<Slider2ThumbElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<Slider2ThumbElement['dir'] | undefined> = input<Slider2ThumbElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<Slider2ThumbElement['lang'] | undefined> = input<Slider2ThumbElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends Slider2ThumbMethodNames>(method: TMethod, ...args: Parameters<Slider2ThumbComponentMethods[TMethod]>): ReturnType<Slider2ThumbComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof Slider2ThumbElement>(property: TProperty, value: Slider2ThumbElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on Slider2ThumbComponent.\n */\nexport type Slider2ThumbMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for Slider2ThumbComponent.\n */\nexport type Slider2ThumbComponentMethods = MethodMap<Slider2ThumbMethodNames>;\n\n/**\n * @public\n */\nexport function provideSlider2ThumbComponent(config: Partial<Slider2ThumbElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SLIDER2THUMB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { Slider2Element } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the Slider2Component.\n * Use this token to provide default properties for the Slider2Component.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SLIDER2_DEFAULT_PROPS = new InjectionToken<Partial<Slider2Element.Props>>('MOSAIK_SLIDER2_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot thumb - Slot for one or more Slider2Thumb elements representing draggable handles\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-slider2', Slider2Element),\n    inputs: ['thickness', 'step', 'gap', 'showValueIndicator', 'themeName', 'orientation', 'disabled', 'variant', 'appearance', 'valueChanged', 'min', 'max', 'value', 'dir', 'lang'],\n    methods: ['onApplyTemplate', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-slider2',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class Slider2Component {\n    // #region Fields\n\n    private readonly _element: Slider2Element;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('rangeValueChanged', (e) => this.rangeValueChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SLIDER2_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<Slider2Element['thickness'] | undefined> = input<Slider2Element['thickness']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<Slider2Element['step'] | undefined> = input<Slider2Element['step']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<Slider2Element['gap'] | undefined> = input<Slider2Element['gap']>();\n\n    /**\n     * Signal input for the `showValueIndicator` property.\n     *\n     * @public\n     */\n    public readonly showValueIndicator: InputSignal<Slider2Element['showValueIndicator'] | undefined> = input<Slider2Element['showValueIndicator']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<Slider2Element['themeName'] | undefined> = input<Slider2Element['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<Slider2Element['orientation'] | undefined> = input<Slider2Element['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<Slider2Element['disabled'] | undefined> = input<Slider2Element['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<Slider2Element['variant'] | undefined> = input<Slider2Element['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<Slider2Element['appearance'] | undefined> = input<Slider2Element['appearance']>();\n\n    /**\n     * Signal input for the `valueChanged` property.\n     *\n     * @public\n     */\n    public readonly valueChanged: InputSignal<Slider2Element['valueChanged'] | undefined> = input<Slider2Element['valueChanged']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<Slider2Element['min'] | undefined> = input<Slider2Element['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<Slider2Element['max'] | undefined> = input<Slider2Element['max']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<Slider2Element['value'] | undefined> = input<Slider2Element['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<Slider2Element['dir'] | undefined> = input<Slider2Element['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<Slider2Element['lang'] | undefined> = input<Slider2Element['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const showValueIndicatorValue = this.showValueIndicator();\n                if (showValueIndicatorValue !== undefined) {\n                    (this._element as any).showValueIndicator = showValueIndicatorValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const valueChangedValue = this.valueChanged();\n                if (valueChangedValue !== undefined) {\n                    (this._element as any).valueChanged = valueChangedValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `rangeValueChanged` event.\n     *\n     * @public\n     */\n    public readonly rangeValueChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends Slider2MethodNames>(method: TMethod, ...args: Parameters<Slider2ComponentMethods[TMethod]>): ReturnType<Slider2ComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof Slider2Element>(property: TProperty, value: Slider2Element[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on Slider2Component.\n */\nexport type Slider2MethodNames = 'onApplyTemplate' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for Slider2Component.\n */\nexport type Slider2ComponentMethods = MethodMap<Slider2MethodNames>;\n\n/**\n * @public\n */\nexport function provideSlider2Component(config: Partial<Slider2Element.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SLIDER2_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SpacerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SpacerComponent.\n * Use this token to provide default properties for the SpacerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SPACER_DEFAULT_PROPS = new InjectionToken<Partial<SpacerElement.Props>>('MOSAIK_SPACER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content slot for spacer element (typically empty)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-spacer', SpacerElement),\n    inputs: ['multiplier', 'multiplierValidator', 'size', 'thickness', 'invert', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-spacer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SpacerComponent {\n    // #region Fields\n\n    private readonly _element: SpacerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SPACER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `multiplier` property.\n     *\n     * @public\n     */\n    public readonly multiplier: InputSignal<SpacerElement['multiplier'] | undefined> = input<SpacerElement['multiplier']>();\n\n    /**\n     * Signal input for the `multiplierValidator` property.\n     *\n     * @public\n     */\n    public readonly multiplierValidator: InputSignal<SpacerElement['multiplierValidator'] | undefined> = input<SpacerElement['multiplierValidator']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<SpacerElement['size'] | undefined> = input<SpacerElement['size']>();\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<SpacerElement['thickness'] | undefined> = input<SpacerElement['thickness']>();\n\n    /**\n     * Signal input for the `invert` property.\n     *\n     * @public\n     */\n    public readonly invert: InputSignal<SpacerElement['invert'] | undefined> = input<SpacerElement['invert']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SpacerElement['themeName'] | undefined> = input<SpacerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SpacerElement['dir'] | undefined> = input<SpacerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SpacerElement['lang'] | undefined> = input<SpacerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const multiplierValue = this.multiplier();\n                if (multiplierValue !== undefined) {\n                    (this._element as any).multiplier = multiplierValue;\n                }\n\n                const multiplierValidatorValue = this.multiplierValidator();\n                if (multiplierValidatorValue !== undefined) {\n                    (this._element as any).multiplierValidator = multiplierValidatorValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const invertValue = this.invert();\n                if (invertValue !== undefined) {\n                    (this._element as any).invert = invertValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SpacerMethodNames>(method: TMethod, ...args: Parameters<SpacerComponentMethods[TMethod]>): ReturnType<SpacerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SpacerElement>(property: TProperty, value: SpacerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SpacerComponent.\n */\nexport type SpacerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SpacerComponent.\n */\nexport type SpacerComponentMethods = MethodMap<SpacerMethodNames>;\n\n/**\n * @public\n */\nexport function provideSpacerComponent(config: Partial<SpacerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SPACER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SplitButtonElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SplitButtonComponent.\n * Use this token to provide default properties for the SplitButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SPLIT_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<SplitButtonElement.Props>>('MOSAIK_SPLIT_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default dropdown content slot.\n * @slot icon - The icon slot.\n * @slot label - The label slot.\n * @slot overlay - The overlay slot (useful for badge).\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-split-button', SplitButtonElement),\n    inputs: ['themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'isBusy', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['onSplit', 'open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-split-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SplitButtonComponent {\n    // #region Fields\n\n    private readonly _element: SplitButtonElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SPLIT_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SplitButtonElement['themeName'] | undefined> = input<SplitButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<SplitButtonElement['reverse'] | undefined> = input<SplitButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<SplitButtonElement['orientation'] | undefined> = input<SplitButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<SplitButtonElement['horizontalContentAlignment'] | undefined> = input<SplitButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<SplitButtonElement['verticalContentAlignment'] | undefined> = input<SplitButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<SplitButtonElement['fit'] | undefined> = input<SplitButtonElement['fit']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<SplitButtonElement['dropDownPlacement'] | undefined> = input<SplitButtonElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<SplitButtonElement['dropDownStrategy'] | undefined> = input<SplitButtonElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<SplitButtonElement['dropDownDistance'] | undefined> = input<SplitButtonElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<SplitButtonElement['dropDownSkidding'] | undefined> = input<SplitButtonElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<SplitButtonElement['dropDownStaysOpen'] | undefined> = input<SplitButtonElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<SplitButtonElement['dropDownMaxHeight'] | undefined> = input<SplitButtonElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<SplitButtonElement['dropDownHeight'] | undefined> = input<SplitButtonElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<SplitButtonElement['dropDownWidth'] | undefined> = input<SplitButtonElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<SplitButtonElement['dropDownMaxWidth'] | undefined> = input<SplitButtonElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<SplitButtonElement['isDropDownOpen'] | undefined> = input<SplitButtonElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<SplitButtonElement['isBusy'] | undefined> = input<SplitButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<SplitButtonElement['label'] | undefined> = input<SplitButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<SplitButtonElement['icon'] | undefined> = input<SplitButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<SplitButtonElement['iconPosition'] | undefined> = input<SplitButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<SplitButtonElement['iconSize'] | undefined> = input<SplitButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<SplitButtonElement['type'] | undefined> = input<SplitButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<SplitButtonElement['ripple'] | undefined> = input<SplitButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<SplitButtonElement['variant'] | undefined> = input<SplitButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<SplitButtonElement['appearance'] | undefined> = input<SplitButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<SplitButtonElement['size'] | undefined> = input<SplitButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<SplitButtonElement['value'] | undefined> = input<SplitButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SplitButtonElement['disabled'] | undefined> = input<SplitButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<SplitButtonElement['isFocused'] | undefined> = input<SplitButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SplitButtonElement['dir'] | undefined> = input<SplitButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SplitButtonElement['lang'] | undefined> = input<SplitButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SplitButtonMethodNames>(method: TMethod, ...args: Parameters<SplitButtonComponentMethods[TMethod]>): ReturnType<SplitButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SplitButtonElement>(property: TProperty, value: SplitButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SplitButtonComponent.\n */\nexport type SplitButtonMethodNames = 'onSplit' | 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SplitButtonComponent.\n */\nexport type SplitButtonComponentMethods = MethodMap<SplitButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideSplitButtonComponent(config: Partial<SplitButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SPLIT_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SplitElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SplitComponent.\n * Use this token to provide default properties for the SplitComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SPLIT_DEFAULT_PROPS = new InjectionToken<Partial<SplitElement.Props>>('MOSAIK_SPLIT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - ${e.reverse ? 'end' : 'start'} - The ${e.reverse ? 'end' : 'start'} slot.\n * @slot thumb - Custom grip icon for the draggable divider (defaults to three dots icon)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-split', SplitElement),\n    inputs: ['collapsedPanel', 'isCollapsed', 'isStartCollapsed', 'isEndCollapsed', 'hasPanels', 'positionPercentage', 'positionInPixels', 'position', 'lock', 'snaps', 'snapThreshold', 'thickness', 'min', 'max', 'collapsible', 'themeName', 'reverse', 'orientation', 'disabled', 'fit', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'collapse', 'expand', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-split',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SplitComponent {\n    // #region Fields\n\n    private readonly _element: SplitElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('splitReposition', (e) => this.splitReposition.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SPLIT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `collapsedPanel` property.\n     *\n     * @public\n     */\n    public readonly collapsedPanel: InputSignal<SplitElement['collapsedPanel'] | undefined> = input<SplitElement['collapsedPanel']>();\n\n    /**\n     * Signal input for the `isCollapsed` property.\n     *\n     * @public\n     */\n    public readonly isCollapsed: InputSignal<SplitElement['isCollapsed'] | undefined> = input<SplitElement['isCollapsed']>();\n\n    /**\n     * Signal input for the `isStartCollapsed` property.\n     *\n     * @public\n     */\n    public readonly isStartCollapsed: InputSignal<SplitElement['isStartCollapsed'] | undefined> = input<SplitElement['isStartCollapsed']>();\n\n    /**\n     * Signal input for the `isEndCollapsed` property.\n     *\n     * @public\n     */\n    public readonly isEndCollapsed: InputSignal<SplitElement['isEndCollapsed'] | undefined> = input<SplitElement['isEndCollapsed']>();\n\n    /**\n     * Signal input for the `hasPanels` property.\n     *\n     * @public\n     */\n    public readonly hasPanels: InputSignal<SplitElement['hasPanels'] | undefined> = input<SplitElement['hasPanels']>();\n\n    /**\n     * Signal input for the `positionPercentage` property.\n     *\n     * @public\n     */\n    public readonly positionPercentage: InputSignal<SplitElement['positionPercentage'] | undefined> = input<SplitElement['positionPercentage']>();\n\n    /**\n     * Signal input for the `positionInPixels` property.\n     *\n     * @public\n     */\n    public readonly positionInPixels: InputSignal<SplitElement['positionInPixels'] | undefined> = input<SplitElement['positionInPixels']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<SplitElement['position'] | undefined> = input<SplitElement['position']>();\n\n    /**\n     * Signal input for the `lock` property.\n     *\n     * @public\n     */\n    public readonly lock: InputSignal<SplitElement['lock'] | undefined> = input<SplitElement['lock']>();\n\n    /**\n     * Signal input for the `snaps` property.\n     *\n     * @public\n     */\n    public readonly snaps: InputSignal<SplitElement['snaps'] | undefined> = input<SplitElement['snaps']>();\n\n    /**\n     * Signal input for the `snapThreshold` property.\n     *\n     * @public\n     */\n    public readonly snapThreshold: InputSignal<SplitElement['snapThreshold'] | undefined> = input<SplitElement['snapThreshold']>();\n\n    /**\n     * Signal input for the `thickness` property.\n     *\n     * @public\n     */\n    public readonly thickness: InputSignal<SplitElement['thickness'] | undefined> = input<SplitElement['thickness']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<SplitElement['min'] | undefined> = input<SplitElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<SplitElement['max'] | undefined> = input<SplitElement['max']>();\n\n    /**\n     * Signal input for the `collapsible` property.\n     *\n     * @public\n     */\n    public readonly collapsible: InputSignal<SplitElement['collapsible'] | undefined> = input<SplitElement['collapsible']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SplitElement['themeName'] | undefined> = input<SplitElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<SplitElement['reverse'] | undefined> = input<SplitElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<SplitElement['orientation'] | undefined> = input<SplitElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<SplitElement['disabled'] | undefined> = input<SplitElement['disabled']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<SplitElement['fit'] | undefined> = input<SplitElement['fit']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SplitElement['dir'] | undefined> = input<SplitElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SplitElement['lang'] | undefined> = input<SplitElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const collapsedPanelValue = this.collapsedPanel();\n                if (collapsedPanelValue !== undefined) {\n                    (this._element as any).collapsedPanel = collapsedPanelValue;\n                }\n\n                const isCollapsedValue = this.isCollapsed();\n                if (isCollapsedValue !== undefined) {\n                    (this._element as any).isCollapsed = isCollapsedValue;\n                }\n\n                const isStartCollapsedValue = this.isStartCollapsed();\n                if (isStartCollapsedValue !== undefined) {\n                    (this._element as any).isStartCollapsed = isStartCollapsedValue;\n                }\n\n                const isEndCollapsedValue = this.isEndCollapsed();\n                if (isEndCollapsedValue !== undefined) {\n                    (this._element as any).isEndCollapsed = isEndCollapsedValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const lockValue = this.lock();\n                if (lockValue !== undefined) {\n                    (this._element as any).lock = lockValue;\n                }\n\n                const snapsValue = this.snaps();\n                if (snapsValue !== undefined) {\n                    (this._element as any).snaps = snapsValue;\n                }\n\n                const snapThresholdValue = this.snapThreshold();\n                if (snapThresholdValue !== undefined) {\n                    (this._element as any).snapThreshold = snapThresholdValue;\n                }\n\n                const thicknessValue = this.thickness();\n                if (thicknessValue !== undefined) {\n                    (this._element as any).thickness = thicknessValue;\n                }\n\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const collapsibleValue = this.collapsible();\n                if (collapsibleValue !== undefined) {\n                    (this._element as any).collapsible = collapsibleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `splitReposition` event.\n     *\n     * @public\n     */\n    public readonly splitReposition: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SplitMethodNames>(method: TMethod, ...args: Parameters<SplitComponentMethods[TMethod]>): ReturnType<SplitComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SplitElement>(property: TProperty, value: SplitElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SplitComponent.\n */\nexport type SplitMethodNames = 'onSlotChanges' | 'collapse' | 'expand' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SplitComponent.\n */\nexport type SplitComponentMethods = MethodMap<SplitMethodNames>;\n\n/**\n * @public\n */\nexport function provideSplitComponent(config: Partial<SplitElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SPLIT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { StackElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the StackComponent.\n * Use this token to provide default properties for the StackComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const STACK_DEFAULT_PROPS = new InjectionToken<Partial<StackElement.Props>>('MOSAIK_STACK_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for child elements to be arranged in stack layout\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-stack', StackElement),\n    inputs: ['wrap', 'horizontalAlignment', 'verticalAlignment', 'themeName', 'reverse', 'orientation', 'fit', 'gap', 'items', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-stack',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class StackComponent {\n    // #region Fields\n\n    private readonly _element: StackElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(STACK_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `wrap` property.\n     *\n     * @public\n     */\n    public readonly wrap: InputSignal<StackElement['wrap'] | undefined> = input<StackElement['wrap']>();\n\n    /**\n     * Signal input for the `horizontalAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalAlignment: InputSignal<StackElement['horizontalAlignment'] | undefined> = input<StackElement['horizontalAlignment']>();\n\n    /**\n     * Signal input for the `verticalAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalAlignment: InputSignal<StackElement['verticalAlignment'] | undefined> = input<StackElement['verticalAlignment']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<StackElement['themeName'] | undefined> = input<StackElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<StackElement['reverse'] | undefined> = input<StackElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<StackElement['orientation'] | undefined> = input<StackElement['orientation']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<StackElement['fit'] | undefined> = input<StackElement['fit']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<StackElement['gap'] | undefined> = input<StackElement['gap']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<StackElement['items'] | undefined> = input<StackElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<StackElement['dir'] | undefined> = input<StackElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<StackElement['lang'] | undefined> = input<StackElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const wrapValue = this.wrap();\n                if (wrapValue !== undefined) {\n                    (this._element as any).wrap = wrapValue;\n                }\n\n                const horizontalAlignmentValue = this.horizontalAlignment();\n                if (horizontalAlignmentValue !== undefined) {\n                    (this._element as any).horizontalAlignment = horizontalAlignmentValue;\n                }\n\n                const verticalAlignmentValue = this.verticalAlignment();\n                if (verticalAlignmentValue !== undefined) {\n                    (this._element as any).verticalAlignment = verticalAlignmentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends StackMethodNames>(method: TMethod, ...args: Parameters<StackComponentMethods[TMethod]>): ReturnType<StackComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof StackElement>(property: TProperty, value: StackElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on StackComponent.\n */\nexport type StackMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for StackComponent.\n */\nexport type StackComponentMethods = MethodMap<StackMethodNames>;\n\n/**\n * @public\n */\nexport function provideStackComponent(config: Partial<StackElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: STACK_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { StepperItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the StepperItemComponent.\n * Use this token to provide default properties for the StepperItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const STEPPER_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<StepperItemElement.Props>>('MOSAIK_STEPPER_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the main step content\n * @slot footer - Action buttons or navigation controls for this step\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-stepper-item', StepperItemElement),\n    inputs: ['isActive', 'header', 'description', 'hint', 'icon', 'state', 'themeName', 'animationTarget', 'enter', 'exit', 'disabled', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['play', 'onEnterAnimation', 'onExitAnimation', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-stepper-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class StepperItemComponent {\n    // #region Fields\n\n    private readonly _element: StepperItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(STEPPER_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<StepperItemElement['isActive'] | undefined> = input<StepperItemElement['isActive']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<StepperItemElement['header'] | undefined> = input<StepperItemElement['header']>();\n\n    /**\n     * Signal input for the `description` property.\n     *\n     * @public\n     */\n    public readonly description: InputSignal<StepperItemElement['description'] | undefined> = input<StepperItemElement['description']>();\n\n    /**\n     * Signal input for the `hint` property.\n     *\n     * @public\n     */\n    public readonly hint: InputSignal<StepperItemElement['hint'] | undefined> = input<StepperItemElement['hint']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<StepperItemElement['icon'] | undefined> = input<StepperItemElement['icon']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<StepperItemElement['state'] | undefined> = input<StepperItemElement['state']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<StepperItemElement['themeName'] | undefined> = input<StepperItemElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<StepperItemElement['animationTarget'] | undefined> = input<StepperItemElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<StepperItemElement['enter'] | undefined> = input<StepperItemElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<StepperItemElement['exit'] | undefined> = input<StepperItemElement['exit']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<StepperItemElement['disabled'] | undefined> = input<StepperItemElement['disabled']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<StepperItemElement['isSelected'] | undefined> = input<StepperItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<StepperItemElement['index'] | undefined> = input<StepperItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<StepperItemElement['displayText'] | undefined> = input<StepperItemElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<StepperItemElement['value'] | undefined> = input<StepperItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<StepperItemElement['dir'] | undefined> = input<StepperItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<StepperItemElement['lang'] | undefined> = input<StepperItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const descriptionValue = this.description();\n                if (descriptionValue !== undefined) {\n                    (this._element as any).description = descriptionValue;\n                }\n\n                const hintValue = this.hint();\n                if (hintValue !== undefined) {\n                    (this._element as any).hint = hintValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends StepperItemMethodNames>(method: TMethod, ...args: Parameters<StepperItemComponentMethods[TMethod]>): ReturnType<StepperItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof StepperItemElement>(property: TProperty, value: StepperItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on StepperItemComponent.\n */\nexport type StepperItemMethodNames = 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for StepperItemComponent.\n */\nexport type StepperItemComponentMethods = MethodMap<StepperItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideStepperItemComponent(config: Partial<StepperItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: STEPPER_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { StickyElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the StickyComponent.\n * Use this token to provide default properties for the StickyComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const STICKY_DEFAULT_PROPS = new InjectionToken<Partial<StickyElement.Props>>('MOSAIK_STICKY_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for content that should exhibit sticky positioning\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-sticky', StickyElement),\n    inputs: ['top', 'left', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-sticky',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class StickyComponent {\n    // #region Fields\n\n    private readonly _element: StickyElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(STICKY_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `top` property.\n     *\n     * @public\n     */\n    public readonly top: InputSignal<StickyElement['top'] | undefined> = input<StickyElement['top']>();\n\n    /**\n     * Signal input for the `left` property.\n     *\n     * @public\n     */\n    public readonly left: InputSignal<StickyElement['left'] | undefined> = input<StickyElement['left']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<StickyElement['themeName'] | undefined> = input<StickyElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<StickyElement['dir'] | undefined> = input<StickyElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<StickyElement['lang'] | undefined> = input<StickyElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const topValue = this.top();\n                if (topValue !== undefined) {\n                    (this._element as any).top = topValue;\n                }\n\n                const leftValue = this.left();\n                if (leftValue !== undefined) {\n                    (this._element as any).left = leftValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends StickyMethodNames>(method: TMethod, ...args: Parameters<StickyComponentMethods[TMethod]>): ReturnType<StickyComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof StickyElement>(property: TProperty, value: StickyElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on StickyComponent.\n */\nexport type StickyMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for StickyComponent.\n */\nexport type StickyComponentMethods = MethodMap<StickyMethodNames>;\n\n/**\n * @public\n */\nexport function provideStickyComponent(config: Partial<StickyElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: STICKY_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SuccessStateElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SuccessStateComponent.\n * Use this token to provide default properties for the SuccessStateComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SUCCESS_STATE_DEFAULT_PROPS = new InjectionToken<Partial<SuccessStateElement.Props>>('MOSAIK_SUCCESS_STATE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content area for additional success information or custom content\n * @slot actions - Action buttons for next steps or related operations after success\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-success-state', SuccessStateElement),\n    inputs: ['icon', 'header', 'themeName', 'content', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-success-state',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SuccessStateComponent {\n    // #region Fields\n\n    private readonly _element: SuccessStateElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SUCCESS_STATE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<SuccessStateElement['icon'] | undefined> = input<SuccessStateElement['icon']>();\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<SuccessStateElement['header'] | undefined> = input<SuccessStateElement['header']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SuccessStateElement['themeName'] | undefined> = input<SuccessStateElement['themeName']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<SuccessStateElement['content'] | undefined> = input<SuccessStateElement['content']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<SuccessStateElement['formatter'] | undefined> = input<SuccessStateElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SuccessStateElement['dir'] | undefined> = input<SuccessStateElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SuccessStateElement['lang'] | undefined> = input<SuccessStateElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SuccessStateMethodNames>(method: TMethod, ...args: Parameters<SuccessStateComponentMethods[TMethod]>): ReturnType<SuccessStateComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SuccessStateElement>(property: TProperty, value: SuccessStateElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SuccessStateComponent.\n */\nexport type SuccessStateMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SuccessStateComponent.\n */\nexport type SuccessStateComponentMethods = MethodMap<SuccessStateMethodNames>;\n\n/**\n * @public\n */\nexport function provideSuccessStateComponent(config: Partial<SuccessStateElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SUCCESS_STATE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SummaryElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SummaryComponent.\n * Use this token to provide default properties for the SummaryComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SUMMARY_DEFAULT_PROPS = new InjectionToken<Partial<SummaryElement.Props>>('MOSAIK_SUMMARY_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot header - Custom header content (overrides header attribute, rendered as legend)\n * @slot prefix - Content positioned before the main content\n * @slot suffix - Content positioned after the main content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-summary', SummaryElement),\n    inputs: ['header', 'content', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-summary',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SummaryComponent {\n    // #region Fields\n\n    private readonly _element: SummaryElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SUMMARY_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<SummaryElement['header'] | undefined> = input<SummaryElement['header']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<SummaryElement['content'] | undefined> = input<SummaryElement['content']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SummaryElement['themeName'] | undefined> = input<SummaryElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SummaryElement['dir'] | undefined> = input<SummaryElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SummaryElement['lang'] | undefined> = input<SummaryElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SummaryMethodNames>(method: TMethod, ...args: Parameters<SummaryComponentMethods[TMethod]>): ReturnType<SummaryComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SummaryElement>(property: TProperty, value: SummaryElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SummaryComponent.\n */\nexport type SummaryMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SummaryComponent.\n */\nexport type SummaryComponentMethods = MethodMap<SummaryMethodNames>;\n\n/**\n * @public\n */\nexport function provideSummaryComponent(config: Partial<SummaryElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SUMMARY_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { SwipeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the SwipeComponent.\n * Use this token to provide default properties for the SwipeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const SWIPE_DEFAULT_PROPS = new InjectionToken<Partial<SwipeElement.Props>>('MOSAIK_SWIPE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default content slot.\n * @slot after - The after swipe slot.\n * @slot before - The before swipe slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-swipe', SwipeElement),\n    inputs: ['panEndTriggeringThreshold', 'panLeftDisabled', 'panRightDisabled', 'themeName', 'dir', 'lang'],\n    methods: ['panLeft', 'panRight', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-swipe',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class SwipeComponent {\n    // #region Fields\n\n    private readonly _element: SwipeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('swipeLeft', (e) => this.swipeLeft.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('swipeRight', (e) => this.swipeRight.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(SWIPE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `panEndTriggeringThreshold` property.\n     *\n     * @public\n     */\n    public readonly panEndTriggeringThreshold: InputSignal<SwipeElement['panEndTriggeringThreshold'] | undefined> = input<SwipeElement['panEndTriggeringThreshold']>();\n\n    /**\n     * Signal input for the `panLeftDisabled` property.\n     *\n     * @public\n     */\n    public readonly panLeftDisabled: InputSignal<SwipeElement['panLeftDisabled'] | undefined> = input<SwipeElement['panLeftDisabled']>();\n\n    /**\n     * Signal input for the `panRightDisabled` property.\n     *\n     * @public\n     */\n    public readonly panRightDisabled: InputSignal<SwipeElement['panRightDisabled'] | undefined> = input<SwipeElement['panRightDisabled']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<SwipeElement['themeName'] | undefined> = input<SwipeElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<SwipeElement['dir'] | undefined> = input<SwipeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<SwipeElement['lang'] | undefined> = input<SwipeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const panEndTriggeringThresholdValue = this.panEndTriggeringThreshold();\n                if (panEndTriggeringThresholdValue !== undefined) {\n                    (this._element as any).panEndTriggeringThreshold = panEndTriggeringThresholdValue;\n                }\n\n                const panLeftDisabledValue = this.panLeftDisabled();\n                if (panLeftDisabledValue !== undefined) {\n                    (this._element as any).panLeftDisabled = panLeftDisabledValue;\n                }\n\n                const panRightDisabledValue = this.panRightDisabled();\n                if (panRightDisabledValue !== undefined) {\n                    (this._element as any).panRightDisabled = panRightDisabledValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `swipeLeft` event.\n     *\n     * @public\n     */\n    public readonly swipeLeft: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `swipeRight` event.\n     *\n     * @public\n     */\n    public readonly swipeRight: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends SwipeMethodNames>(method: TMethod, ...args: Parameters<SwipeComponentMethods[TMethod]>): ReturnType<SwipeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof SwipeElement>(property: TProperty, value: SwipeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on SwipeComponent.\n */\nexport type SwipeMethodNames = 'panLeft' | 'panRight' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for SwipeComponent.\n */\nexport type SwipeComponentMethods = MethodMap<SwipeMethodNames>;\n\n/**\n * @public\n */\nexport function provideSwipeComponent(config: Partial<SwipeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: SWIPE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TabItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TabItemComponent.\n * Use this token to provide default properties for the TabItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TAB_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<TabItemElement.Props>>('MOSAIK_TAB_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tab-item', TabItemElement),\n    inputs: ['themeName', 'animationTarget', 'enter', 'exit', 'orientation', 'closeable', 'isSelected', 'disabled', 'label', 'icon', 'iconPosition', 'iconSize', 'value', 'dir', 'lang'],\n    methods: ['play', 'onEnterAnimation', 'onExitAnimation', 'close', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tab-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TabItemComponent {\n    // #region Fields\n\n    private readonly _element: TabItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TAB_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TabItemElement['themeName'] | undefined> = input<TabItemElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<TabItemElement['animationTarget'] | undefined> = input<TabItemElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<TabItemElement['enter'] | undefined> = input<TabItemElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<TabItemElement['exit'] | undefined> = input<TabItemElement['exit']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<TabItemElement['orientation'] | undefined> = input<TabItemElement['orientation']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<TabItemElement['closeable'] | undefined> = input<TabItemElement['closeable']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<TabItemElement['isSelected'] | undefined> = input<TabItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TabItemElement['disabled'] | undefined> = input<TabItemElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<TabItemElement['label'] | undefined> = input<TabItemElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<TabItemElement['icon'] | undefined> = input<TabItemElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<TabItemElement['iconPosition'] | undefined> = input<TabItemElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<TabItemElement['iconSize'] | undefined> = input<TabItemElement['iconSize']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TabItemElement['value'] | undefined> = input<TabItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TabItemElement['dir'] | undefined> = input<TabItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TabItemElement['lang'] | undefined> = input<TabItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TabItemMethodNames>(method: TMethod, ...args: Parameters<TabItemComponentMethods[TMethod]>): ReturnType<TabItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TabItemElement>(property: TProperty, value: TabItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TabItemComponent.\n */\nexport type TabItemMethodNames = 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'close' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TabItemComponent.\n */\nexport type TabItemComponentMethods = MethodMap<TabItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideTabItemComponent(config: Partial<TabItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TAB_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TabPanelElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TabPanelComponent.\n * Use this token to provide default properties for the TabPanelComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TAB_PANEL_DEFAULT_PROPS = new InjectionToken<Partial<TabPanelElement.Props>>('MOSAIK_TAB_PANEL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for the tab strip element\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tab-panel', TabPanelElement),\n    inputs: ['hasScrollableContent', 'canScrollToStart', 'canScrollToEnd', 'alignment', 'placement', 'hasIndicator', 'enableGestures', 'themeName', 'appearance', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tab-panel',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TabPanelComponent {\n    // #region Fields\n\n    private readonly _element: TabPanelElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TAB_PANEL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasScrollableContent` property.\n     *\n     * @public\n     */\n    public readonly hasScrollableContent: InputSignal<TabPanelElement['hasScrollableContent'] | undefined> = input<TabPanelElement['hasScrollableContent']>();\n\n    /**\n     * Signal input for the `canScrollToStart` property.\n     *\n     * @public\n     */\n    public readonly canScrollToStart: InputSignal<TabPanelElement['canScrollToStart'] | undefined> = input<TabPanelElement['canScrollToStart']>();\n\n    /**\n     * Signal input for the `canScrollToEnd` property.\n     *\n     * @public\n     */\n    public readonly canScrollToEnd: InputSignal<TabPanelElement['canScrollToEnd'] | undefined> = input<TabPanelElement['canScrollToEnd']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<TabPanelElement['alignment'] | undefined> = input<TabPanelElement['alignment']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<TabPanelElement['placement'] | undefined> = input<TabPanelElement['placement']>();\n\n    /**\n     * Signal input for the `hasIndicator` property.\n     *\n     * @public\n     */\n    public readonly hasIndicator: InputSignal<TabPanelElement['hasIndicator'] | undefined> = input<TabPanelElement['hasIndicator']>();\n\n    /**\n     * Signal input for the `enableGestures` property.\n     *\n     * @public\n     */\n    public readonly enableGestures: InputSignal<TabPanelElement['enableGestures'] | undefined> = input<TabPanelElement['enableGestures']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TabPanelElement['themeName'] | undefined> = input<TabPanelElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TabPanelElement['appearance'] | undefined> = input<TabPanelElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TabPanelElement['dir'] | undefined> = input<TabPanelElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TabPanelElement['lang'] | undefined> = input<TabPanelElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const hasIndicatorValue = this.hasIndicator();\n                if (hasIndicatorValue !== undefined) {\n                    (this._element as any).hasIndicator = hasIndicatorValue;\n                }\n\n                const enableGesturesValue = this.enableGestures();\n                if (enableGesturesValue !== undefined) {\n                    (this._element as any).enableGestures = enableGesturesValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TabPanelMethodNames>(method: TMethod, ...args: Parameters<TabPanelComponentMethods[TMethod]>): ReturnType<TabPanelComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TabPanelElement>(property: TProperty, value: TabPanelElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TabPanelComponent.\n */\nexport type TabPanelMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TabPanelComponent.\n */\nexport type TabPanelComponentMethods = MethodMap<TabPanelMethodNames>;\n\n/**\n * @public\n */\nexport function provideTabPanelComponent(config: Partial<TabPanelElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TAB_PANEL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TabStripItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TabStripItemComponent.\n * Use this token to provide default properties for the TabStripItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TAB_STRIP_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<TabStripItemElement.Props>>('MOSAIK_TAB_STRIP_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - The icon displayed alongside the label\n * @slot label - The text label for the tab\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tab-strip-item', TabStripItemElement),\n    inputs: ['placement', 'themeName', 'ripple', 'label', 'icon', 'iconPosition', 'iconSize', 'isFocused', 'variant', 'orientation', 'isSelected', 'disabled', 'value', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tab-strip-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TabStripItemComponent {\n    // #region Fields\n\n    private readonly _element: TabStripItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TAB_STRIP_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<TabStripItemElement['placement'] | undefined> = input<TabStripItemElement['placement']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TabStripItemElement['themeName'] | undefined> = input<TabStripItemElement['themeName']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<TabStripItemElement['ripple'] | undefined> = input<TabStripItemElement['ripple']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<TabStripItemElement['label'] | undefined> = input<TabStripItemElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<TabStripItemElement['icon'] | undefined> = input<TabStripItemElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<TabStripItemElement['iconPosition'] | undefined> = input<TabStripItemElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<TabStripItemElement['iconSize'] | undefined> = input<TabStripItemElement['iconSize']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<TabStripItemElement['isFocused'] | undefined> = input<TabStripItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TabStripItemElement['variant'] | undefined> = input<TabStripItemElement['variant']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<TabStripItemElement['orientation'] | undefined> = input<TabStripItemElement['orientation']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<TabStripItemElement['isSelected'] | undefined> = input<TabStripItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TabStripItemElement['disabled'] | undefined> = input<TabStripItemElement['disabled']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TabStripItemElement['value'] | undefined> = input<TabStripItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TabStripItemElement['dir'] | undefined> = input<TabStripItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TabStripItemElement['lang'] | undefined> = input<TabStripItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TabStripItemMethodNames>(method: TMethod, ...args: Parameters<TabStripItemComponentMethods[TMethod]>): ReturnType<TabStripItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TabStripItemElement>(property: TProperty, value: TabStripItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TabStripItemComponent.\n */\nexport type TabStripItemMethodNames = 'select' | 'deselect' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TabStripItemComponent.\n */\nexport type TabStripItemComponentMethods = MethodMap<TabStripItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideTabStripItemComponent(config: Partial<TabStripItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TAB_STRIP_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TabStripElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TabStripComponent.\n * Use this token to provide default properties for the TabStripComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TAB_STRIP_DEFAULT_PROPS = new InjectionToken<Partial<TabStripElement.Props>>('MOSAIK_TAB_STRIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot end - The end slot.\n * @slot start - The start slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tab-strip', TabStripElement),\n    inputs: ['items', 'selectedItem', 'selectedIndex', 'hasIndicator', 'placement', 'themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['select', 'selectByIndex', 'selectByValue', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tab-strip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TabStripComponent {\n    // #region Fields\n\n    private readonly _element: TabStripElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TAB_STRIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<TabStripElement['items'] | undefined> = input<TabStripElement['items']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<TabStripElement['selectedItem'] | undefined> = input<TabStripElement['selectedItem']>();\n\n    /**\n     * Signal input for the `selectedIndex` property.\n     *\n     * @public\n     */\n    public readonly selectedIndex: InputSignal<TabStripElement['selectedIndex'] | undefined> = input<TabStripElement['selectedIndex']>();\n\n    /**\n     * Signal input for the `hasIndicator` property.\n     *\n     * @public\n     */\n    public readonly hasIndicator: InputSignal<TabStripElement['hasIndicator'] | undefined> = input<TabStripElement['hasIndicator']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<TabStripElement['placement'] | undefined> = input<TabStripElement['placement']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TabStripElement['themeName'] | undefined> = input<TabStripElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TabStripElement['disabled'] | undefined> = input<TabStripElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TabStripElement['variant'] | undefined> = input<TabStripElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TabStripElement['appearance'] | undefined> = input<TabStripElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TabStripElement['dir'] | undefined> = input<TabStripElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TabStripElement['lang'] | undefined> = input<TabStripElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasIndicatorValue = this.hasIndicator();\n                if (hasIndicatorValue !== undefined) {\n                    (this._element as any).hasIndicator = hasIndicatorValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TabStripMethodNames>(method: TMethod, ...args: Parameters<TabStripComponentMethods[TMethod]>): ReturnType<TabStripComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TabStripElement>(property: TProperty, value: TabStripElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TabStripComponent.\n */\nexport type TabStripMethodNames = 'select' | 'selectByIndex' | 'selectByValue' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TabStripComponent.\n */\nexport type TabStripComponentMethods = MethodMap<TabStripMethodNames>;\n\n/**\n * @public\n */\nexport function provideTabStripComponent(config: Partial<TabStripElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TAB_STRIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TabElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TabComponent.\n * Use this token to provide default properties for the TabComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TAB_DEFAULT_PROPS = new InjectionToken<Partial<TabElement.Props>>('MOSAIK_TAB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for tab items (mosaik-tab-item elements)\n * @slot end - Content displayed after the tab strip (e.g., action buttons)\n * @slot start - Content displayed before the tab strip (e.g., toolbar buttons)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tab', TabElement),\n    inputs: ['items', 'selectedItem', 'selectedIndex', 'alignment', 'placement', 'hasIndicator', 'enableGestures', 'themeName', 'disabled', 'variant', 'appearance', 'dir', 'lang'],\n    methods: ['select', 'selectByIndex', 'selectByValue', 'onTabStripItemSelectionChanged', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tab',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TabComponent {\n    // #region Fields\n\n    private readonly _element: TabElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TAB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<TabElement['items'] | undefined> = input<TabElement['items']>();\n\n    /**\n     * Signal input for the `selectedItem` property.\n     *\n     * @public\n     */\n    public readonly selectedItem: InputSignal<TabElement['selectedItem'] | undefined> = input<TabElement['selectedItem']>();\n\n    /**\n     * Signal input for the `selectedIndex` property.\n     *\n     * @public\n     */\n    public readonly selectedIndex: InputSignal<TabElement['selectedIndex'] | undefined> = input<TabElement['selectedIndex']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<TabElement['alignment'] | undefined> = input<TabElement['alignment']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<TabElement['placement'] | undefined> = input<TabElement['placement']>();\n\n    /**\n     * Signal input for the `hasIndicator` property.\n     *\n     * @public\n     */\n    public readonly hasIndicator: InputSignal<TabElement['hasIndicator'] | undefined> = input<TabElement['hasIndicator']>();\n\n    /**\n     * Signal input for the `enableGestures` property.\n     *\n     * @public\n     */\n    public readonly enableGestures: InputSignal<TabElement['enableGestures'] | undefined> = input<TabElement['enableGestures']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TabElement['themeName'] | undefined> = input<TabElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TabElement['disabled'] | undefined> = input<TabElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TabElement['variant'] | undefined> = input<TabElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TabElement['appearance'] | undefined> = input<TabElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TabElement['dir'] | undefined> = input<TabElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TabElement['lang'] | undefined> = input<TabElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const hasIndicatorValue = this.hasIndicator();\n                if (hasIndicatorValue !== undefined) {\n                    (this._element as any).hasIndicator = hasIndicatorValue;\n                }\n\n                const enableGesturesValue = this.enableGestures();\n                if (enableGesturesValue !== undefined) {\n                    (this._element as any).enableGestures = enableGesturesValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TabMethodNames>(method: TMethod, ...args: Parameters<TabComponentMethods[TMethod]>): ReturnType<TabComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TabElement>(property: TProperty, value: TabElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TabComponent.\n */\nexport type TabMethodNames = 'select' | 'selectByIndex' | 'selectByValue' | 'onTabStripItemSelectionChanged' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TabComponent.\n */\nexport type TabComponentMethods = MethodMap<TabMethodNames>;\n\n/**\n * @public\n */\nexport function provideTabComponent(config: Partial<TabElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TAB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableBodyCellElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableBodyCellComponent.\n * Use this token to provide default properties for the TableBodyCellComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_BODY_CELL_DEFAULT_PROPS = new InjectionToken<Partial<TableBodyCellElement.Props>>('MOSAIK_TABLE_BODY_CELL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-body-cell', TableBodyCellElement),\n    inputs: ['themeName', 'value', 'isSelected', 'text', 'columnHidden', 'disabled', 'formatter', 'textOverflow', 'dir', 'lang'],\n    methods: ['getContentWidth', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-body-cell',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableBodyCellComponent {\n    // #region Fields\n\n    private readonly _element: TableBodyCellElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_BODY_CELL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableBodyCellElement['themeName'] | undefined> = input<TableBodyCellElement['themeName']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TableBodyCellElement['value'] | undefined> = input<TableBodyCellElement['value']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<TableBodyCellElement['isSelected'] | undefined> = input<TableBodyCellElement['isSelected']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TableBodyCellElement['text'] | undefined> = input<TableBodyCellElement['text']>();\n\n    /**\n     * Signal input for the `columnHidden` property.\n     *\n     * @public\n     */\n    public readonly columnHidden: InputSignal<TableBodyCellElement['columnHidden'] | undefined> = input<TableBodyCellElement['columnHidden']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableBodyCellElement['disabled'] | undefined> = input<TableBodyCellElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TableBodyCellElement['formatter'] | undefined> = input<TableBodyCellElement['formatter']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<TableBodyCellElement['textOverflow'] | undefined> = input<TableBodyCellElement['textOverflow']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableBodyCellElement['dir'] | undefined> = input<TableBodyCellElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableBodyCellElement['lang'] | undefined> = input<TableBodyCellElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const columnHiddenValue = this.columnHidden();\n                if (columnHiddenValue !== undefined) {\n                    (this._element as any).columnHidden = columnHiddenValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableBodyCellMethodNames>(method: TMethod, ...args: Parameters<TableBodyCellComponentMethods[TMethod]>): ReturnType<TableBodyCellComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableBodyCellElement>(property: TProperty, value: TableBodyCellElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableBodyCellComponent.\n */\nexport type TableBodyCellMethodNames = 'getContentWidth' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableBodyCellComponent.\n */\nexport type TableBodyCellComponentMethods = MethodMap<TableBodyCellMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableBodyCellComponent(config: Partial<TableBodyCellElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_BODY_CELL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableBodyRowElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableBodyRowComponent.\n * Use this token to provide default properties for the TableBodyRowComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_BODY_ROW_DEFAULT_PROPS = new InjectionToken<Partial<TableBodyRowElement.Props>>('MOSAIK_TABLE_BODY_ROW_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for body cells.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-body-row', TableBodyRowElement),\n    inputs: ['themeName', 'value', 'isSelected', 'disabled', 'dir', 'lang'],\n    methods: ['select', 'deselect', 'onSlotChange', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-body-row',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableBodyRowComponent {\n    // #region Fields\n\n    private readonly _element: TableBodyRowElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_BODY_ROW_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableBodyRowElement['themeName'] | undefined> = input<TableBodyRowElement['themeName']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TableBodyRowElement['value'] | undefined> = input<TableBodyRowElement['value']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<TableBodyRowElement['isSelected'] | undefined> = input<TableBodyRowElement['isSelected']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableBodyRowElement['disabled'] | undefined> = input<TableBodyRowElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableBodyRowElement['dir'] | undefined> = input<TableBodyRowElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableBodyRowElement['lang'] | undefined> = input<TableBodyRowElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableBodyRowMethodNames>(method: TMethod, ...args: Parameters<TableBodyRowComponentMethods[TMethod]>): ReturnType<TableBodyRowComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableBodyRowElement>(property: TProperty, value: TableBodyRowElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableBodyRowComponent.\n */\nexport type TableBodyRowMethodNames = 'select' | 'deselect' | 'onSlotChange' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableBodyRowComponent.\n */\nexport type TableBodyRowComponentMethods = MethodMap<TableBodyRowMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableBodyRowComponent(config: Partial<TableBodyRowElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_BODY_ROW_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableBodyElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableBodyComponent.\n * Use this token to provide default properties for the TableBodyComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_BODY_DEFAULT_PROPS = new InjectionToken<Partial<TableBodyElement.Props>>('MOSAIK_TABLE_BODY_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-body', TableBodyElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-body',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableBodyComponent {\n    // #region Fields\n\n    private readonly _element: TableBodyElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_BODY_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableBodyElement['themeName'] | undefined> = input<TableBodyElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableBodyElement['dir'] | undefined> = input<TableBodyElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableBodyElement['lang'] | undefined> = input<TableBodyElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableBodyMethodNames>(method: TMethod, ...args: Parameters<TableBodyComponentMethods[TMethod]>): ReturnType<TableBodyComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableBodyElement>(property: TProperty, value: TableBodyElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableBodyComponent.\n */\nexport type TableBodyMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableBodyComponent.\n */\nexport type TableBodyComponentMethods = MethodMap<TableBodyMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableBodyComponent(config: Partial<TableBodyElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_BODY_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableColumnEditorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableColumnEditorComponent.\n * Use this token to provide default properties for the TableColumnEditorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_COLUMN_EDITOR_DEFAULT_PROPS = new InjectionToken<Partial<TableColumnEditorElement.Props>>('MOSAIK_TABLE_COLUMN_EDITOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-column-editor', TableColumnEditorElement),\n    inputs: ['columns', 'intl', 'tableColumnEditorDismissed', 'themeName', 'dir', 'lang'],\n    methods: ['dismiss', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-column-editor',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableColumnEditorComponent {\n    // #region Fields\n\n    private readonly _element: TableColumnEditorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('tableColumnEditorChanged', (e) => this.tableColumnEditorChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_COLUMN_EDITOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `columns` property.\n     *\n     * @public\n     */\n    public readonly columns: InputSignal<TableColumnEditorElement['columns'] | undefined> = input<TableColumnEditorElement['columns']>();\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<TableColumnEditorElement['intl'] | undefined> = input<TableColumnEditorElement['intl']>();\n\n    /**\n     * Signal input for the `tableColumnEditorDismissed` property.\n     *\n     * @public\n     */\n    public readonly tableColumnEditorDismissed: InputSignal<TableColumnEditorElement['tableColumnEditorDismissed'] | undefined> = input<TableColumnEditorElement['tableColumnEditorDismissed']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableColumnEditorElement['themeName'] | undefined> = input<TableColumnEditorElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableColumnEditorElement['dir'] | undefined> = input<TableColumnEditorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableColumnEditorElement['lang'] | undefined> = input<TableColumnEditorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnsValue = this.columns();\n                if (columnsValue !== undefined) {\n                    (this._element as any).columns = columnsValue;\n                }\n\n                const tableColumnEditorDismissedValue = this.tableColumnEditorDismissed();\n                if (tableColumnEditorDismissedValue !== undefined) {\n                    (this._element as any).tableColumnEditorDismissed = tableColumnEditorDismissedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `tableColumnEditorChanged` event.\n     *\n     * @public\n     */\n    public readonly tableColumnEditorChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableColumnEditorMethodNames>(method: TMethod, ...args: Parameters<TableColumnEditorComponentMethods[TMethod]>): ReturnType<TableColumnEditorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableColumnEditorElement>(property: TProperty, value: TableColumnEditorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableColumnEditorComponent.\n */\nexport type TableColumnEditorMethodNames = 'dismiss' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableColumnEditorComponent.\n */\nexport type TableColumnEditorComponentMethods = MethodMap<TableColumnEditorMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableColumnEditorComponent(config: Partial<TableColumnEditorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_COLUMN_EDITOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableFooterCellElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableFooterCellComponent.\n * Use this token to provide default properties for the TableFooterCellComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_FOOTER_CELL_DEFAULT_PROPS = new InjectionToken<Partial<TableFooterCellElement.Props>>('MOSAIK_TABLE_FOOTER_CELL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-footer-cell', TableFooterCellElement),\n    inputs: ['themeName', 'text', 'columnHidden', 'disabled', 'formatter', 'textOverflow', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-footer-cell',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableFooterCellComponent {\n    // #region Fields\n\n    private readonly _element: TableFooterCellElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_FOOTER_CELL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableFooterCellElement['themeName'] | undefined> = input<TableFooterCellElement['themeName']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TableFooterCellElement['text'] | undefined> = input<TableFooterCellElement['text']>();\n\n    /**\n     * Signal input for the `columnHidden` property.\n     *\n     * @public\n     */\n    public readonly columnHidden: InputSignal<TableFooterCellElement['columnHidden'] | undefined> = input<TableFooterCellElement['columnHidden']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableFooterCellElement['disabled'] | undefined> = input<TableFooterCellElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TableFooterCellElement['formatter'] | undefined> = input<TableFooterCellElement['formatter']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<TableFooterCellElement['textOverflow'] | undefined> = input<TableFooterCellElement['textOverflow']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableFooterCellElement['dir'] | undefined> = input<TableFooterCellElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableFooterCellElement['lang'] | undefined> = input<TableFooterCellElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const columnHiddenValue = this.columnHidden();\n                if (columnHiddenValue !== undefined) {\n                    (this._element as any).columnHidden = columnHiddenValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableFooterCellMethodNames>(method: TMethod, ...args: Parameters<TableFooterCellComponentMethods[TMethod]>): ReturnType<TableFooterCellComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableFooterCellElement>(property: TProperty, value: TableFooterCellElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableFooterCellComponent.\n */\nexport type TableFooterCellMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableFooterCellComponent.\n */\nexport type TableFooterCellComponentMethods = MethodMap<TableFooterCellMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableFooterCellComponent(config: Partial<TableFooterCellElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_FOOTER_CELL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableFooterRowElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableFooterRowComponent.\n * Use this token to provide default properties for the TableFooterRowComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_FOOTER_ROW_DEFAULT_PROPS = new InjectionToken<Partial<TableFooterRowElement.Props>>('MOSAIK_TABLE_FOOTER_ROW_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for footer cells.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-footer-row', TableFooterRowElement),\n    inputs: ['themeName', 'disabled', 'dir', 'lang'],\n    methods: ['onSlotChange', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-footer-row',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableFooterRowComponent {\n    // #region Fields\n\n    private readonly _element: TableFooterRowElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_FOOTER_ROW_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableFooterRowElement['themeName'] | undefined> = input<TableFooterRowElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableFooterRowElement['disabled'] | undefined> = input<TableFooterRowElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableFooterRowElement['dir'] | undefined> = input<TableFooterRowElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableFooterRowElement['lang'] | undefined> = input<TableFooterRowElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableFooterRowMethodNames>(method: TMethod, ...args: Parameters<TableFooterRowComponentMethods[TMethod]>): ReturnType<TableFooterRowComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableFooterRowElement>(property: TProperty, value: TableFooterRowElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableFooterRowComponent.\n */\nexport type TableFooterRowMethodNames = 'onSlotChange' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableFooterRowComponent.\n */\nexport type TableFooterRowComponentMethods = MethodMap<TableFooterRowMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableFooterRowComponent(config: Partial<TableFooterRowElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_FOOTER_ROW_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableFooterElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableFooterComponent.\n * Use this token to provide default properties for the TableFooterComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_FOOTER_DEFAULT_PROPS = new InjectionToken<Partial<TableFooterElement.Props>>('MOSAIK_TABLE_FOOTER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-footer', TableFooterElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-footer',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableFooterComponent {\n    // #region Fields\n\n    private readonly _element: TableFooterElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_FOOTER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableFooterElement['themeName'] | undefined> = input<TableFooterElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableFooterElement['dir'] | undefined> = input<TableFooterElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableFooterElement['lang'] | undefined> = input<TableFooterElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableFooterMethodNames>(method: TMethod, ...args: Parameters<TableFooterComponentMethods[TMethod]>): ReturnType<TableFooterComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableFooterElement>(property: TProperty, value: TableFooterElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableFooterComponent.\n */\nexport type TableFooterMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableFooterComponent.\n */\nexport type TableFooterComponentMethods = MethodMap<TableFooterMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableFooterComponent(config: Partial<TableFooterElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_FOOTER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableHeaderCellElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableHeaderCellComponent.\n * Use this token to provide default properties for the TableHeaderCellComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_HEADER_CELL_DEFAULT_PROPS = new InjectionToken<Partial<TableHeaderCellElement.Props>>('MOSAIK_TABLE_HEADER_CELL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-header-cell', TableHeaderCellElement),\n    inputs: ['intl', 'sorted', 'sortMode', 'key', 'sortable', 'pinable', 'sortDirection', 'resizable', 'minWidth', 'maxWidth', 'pinned', 'hideable', 'autoSizeable', 'columnChoosable', 'sortIndex', 'themeName', 'text', 'columnHidden', 'disabled', 'formatter', 'textOverflow', 'dir', 'lang'],\n    methods: ['sort', 'unsort', 'startResize', 'pin', 'autoSize', 'getContentWidth', 'requestChooseColumns', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-header-cell',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableHeaderCellComponent {\n    // #region Fields\n\n    private readonly _element: TableHeaderCellElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('tableSortChanged', (e) => this.tableSortChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tableColumnResized', (e) => this.tableColumnResized.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tableRequestChooseColumns', (e) => this.tableRequestChooseColumns.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_HEADER_CELL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<TableHeaderCellElement['intl'] | undefined> = input<TableHeaderCellElement['intl']>();\n\n    /**\n     * Signal input for the `sorted` property.\n     *\n     * @public\n     */\n    public readonly sorted: InputSignal<TableHeaderCellElement['sorted'] | undefined> = input<TableHeaderCellElement['sorted']>();\n\n    /**\n     * Signal input for the `sortMode` property.\n     *\n     * @public\n     */\n    public readonly sortMode: InputSignal<TableHeaderCellElement['sortMode'] | undefined> = input<TableHeaderCellElement['sortMode']>();\n\n    /**\n     * Signal input for the `key` property.\n     *\n     * @public\n     */\n    public readonly key: InputSignal<TableHeaderCellElement['key'] | undefined> = input<TableHeaderCellElement['key']>();\n\n    /**\n     * Signal input for the `sortable` property.\n     *\n     * @public\n     */\n    public readonly sortable: InputSignal<TableHeaderCellElement['sortable'] | undefined> = input<TableHeaderCellElement['sortable']>();\n\n    /**\n     * Signal input for the `pinable` property.\n     *\n     * @public\n     */\n    public readonly pinable: InputSignal<TableHeaderCellElement['pinable'] | undefined> = input<TableHeaderCellElement['pinable']>();\n\n    /**\n     * Signal input for the `sortDirection` property.\n     *\n     * @public\n     */\n    public readonly sortDirection: InputSignal<TableHeaderCellElement['sortDirection'] | undefined> = input<TableHeaderCellElement['sortDirection']>();\n\n    /**\n     * Signal input for the `resizable` property.\n     *\n     * @public\n     */\n    public readonly resizable: InputSignal<TableHeaderCellElement['resizable'] | undefined> = input<TableHeaderCellElement['resizable']>();\n\n    /**\n     * Signal input for the `minWidth` property.\n     *\n     * @public\n     */\n    public readonly minWidth: InputSignal<TableHeaderCellElement['minWidth'] | undefined> = input<TableHeaderCellElement['minWidth']>();\n\n    /**\n     * Signal input for the `maxWidth` property.\n     *\n     * @public\n     */\n    public readonly maxWidth: InputSignal<TableHeaderCellElement['maxWidth'] | undefined> = input<TableHeaderCellElement['maxWidth']>();\n\n    /**\n     * Signal input for the `pinned` property.\n     *\n     * @public\n     */\n    public readonly pinned: InputSignal<TableHeaderCellElement['pinned'] | undefined> = input<TableHeaderCellElement['pinned']>();\n\n    /**\n     * Signal input for the `hideable` property.\n     *\n     * @public\n     */\n    public readonly hideable: InputSignal<TableHeaderCellElement['hideable'] | undefined> = input<TableHeaderCellElement['hideable']>();\n\n    /**\n     * Signal input for the `autoSizeable` property.\n     *\n     * @public\n     */\n    public readonly autoSizeable: InputSignal<TableHeaderCellElement['autoSizeable'] | undefined> = input<TableHeaderCellElement['autoSizeable']>();\n\n    /**\n     * Signal input for the `columnChoosable` property.\n     *\n     * @public\n     */\n    public readonly columnChoosable: InputSignal<TableHeaderCellElement['columnChoosable'] | undefined> = input<TableHeaderCellElement['columnChoosable']>();\n\n    /**\n     * Signal input for the `sortIndex` property.\n     *\n     * @public\n     */\n    public readonly sortIndex: InputSignal<TableHeaderCellElement['sortIndex'] | undefined> = input<TableHeaderCellElement['sortIndex']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableHeaderCellElement['themeName'] | undefined> = input<TableHeaderCellElement['themeName']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TableHeaderCellElement['text'] | undefined> = input<TableHeaderCellElement['text']>();\n\n    /**\n     * Signal input for the `columnHidden` property.\n     *\n     * @public\n     */\n    public readonly columnHidden: InputSignal<TableHeaderCellElement['columnHidden'] | undefined> = input<TableHeaderCellElement['columnHidden']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableHeaderCellElement['disabled'] | undefined> = input<TableHeaderCellElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TableHeaderCellElement['formatter'] | undefined> = input<TableHeaderCellElement['formatter']>();\n\n    /**\n     * Signal input for the `textOverflow` property.\n     *\n     * @public\n     */\n    public readonly textOverflow: InputSignal<TableHeaderCellElement['textOverflow'] | undefined> = input<TableHeaderCellElement['textOverflow']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableHeaderCellElement['dir'] | undefined> = input<TableHeaderCellElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableHeaderCellElement['lang'] | undefined> = input<TableHeaderCellElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const sortModeValue = this.sortMode();\n                if (sortModeValue !== undefined) {\n                    (this._element as any).sortMode = sortModeValue;\n                }\n\n                const keyValue = this.key();\n                if (keyValue !== undefined) {\n                    (this._element as any).key = keyValue;\n                }\n\n                const sortableValue = this.sortable();\n                if (sortableValue !== undefined) {\n                    (this._element as any).sortable = sortableValue;\n                }\n\n                const pinableValue = this.pinable();\n                if (pinableValue !== undefined) {\n                    (this._element as any).pinable = pinableValue;\n                }\n\n                const sortDirectionValue = this.sortDirection();\n                if (sortDirectionValue !== undefined) {\n                    (this._element as any).sortDirection = sortDirectionValue;\n                }\n\n                const resizableValue = this.resizable();\n                if (resizableValue !== undefined) {\n                    (this._element as any).resizable = resizableValue;\n                }\n\n                const minWidthValue = this.minWidth();\n                if (minWidthValue !== undefined) {\n                    (this._element as any).minWidth = minWidthValue;\n                }\n\n                const maxWidthValue = this.maxWidth();\n                if (maxWidthValue !== undefined) {\n                    (this._element as any).maxWidth = maxWidthValue;\n                }\n\n                const pinnedValue = this.pinned();\n                if (pinnedValue !== undefined) {\n                    (this._element as any).pinned = pinnedValue;\n                }\n\n                const hideableValue = this.hideable();\n                if (hideableValue !== undefined) {\n                    (this._element as any).hideable = hideableValue;\n                }\n\n                const autoSizeableValue = this.autoSizeable();\n                if (autoSizeableValue !== undefined) {\n                    (this._element as any).autoSizeable = autoSizeableValue;\n                }\n\n                const columnChoosableValue = this.columnChoosable();\n                if (columnChoosableValue !== undefined) {\n                    (this._element as any).columnChoosable = columnChoosableValue;\n                }\n\n                const sortIndexValue = this.sortIndex();\n                if (sortIndexValue !== undefined) {\n                    (this._element as any).sortIndex = sortIndexValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const columnHiddenValue = this.columnHidden();\n                if (columnHiddenValue !== undefined) {\n                    (this._element as any).columnHidden = columnHiddenValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const textOverflowValue = this.textOverflow();\n                if (textOverflowValue !== undefined) {\n                    (this._element as any).textOverflow = textOverflowValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `tableSortChanged` event.\n     *\n     * @public\n     */\n    public readonly tableSortChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tableColumnResized` event.\n     *\n     * @public\n     */\n    public readonly tableColumnResized: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tableRequestChooseColumns` event.\n     *\n     * @public\n     */\n    public readonly tableRequestChooseColumns: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableHeaderCellMethodNames>(method: TMethod, ...args: Parameters<TableHeaderCellComponentMethods[TMethod]>): ReturnType<TableHeaderCellComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableHeaderCellElement>(property: TProperty, value: TableHeaderCellElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableHeaderCellComponent.\n */\nexport type TableHeaderCellMethodNames = 'sort' | 'unsort' | 'startResize' | 'pin' | 'autoSize' | 'getContentWidth' | 'requestChooseColumns' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableHeaderCellComponent.\n */\nexport type TableHeaderCellComponentMethods = MethodMap<TableHeaderCellMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableHeaderCellComponent(config: Partial<TableHeaderCellElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_HEADER_CELL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableHeaderRowElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableHeaderRowComponent.\n * Use this token to provide default properties for the TableHeaderRowComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_HEADER_ROW_DEFAULT_PROPS = new InjectionToken<Partial<TableHeaderRowElement.Props>>('MOSAIK_TABLE_HEADER_ROW_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for header cells.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-header-row', TableHeaderRowElement),\n    inputs: ['themeName', 'disabled', 'dir', 'lang'],\n    methods: ['onSlotChange', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-header-row',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableHeaderRowComponent {\n    // #region Fields\n\n    private readonly _element: TableHeaderRowElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_HEADER_ROW_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableHeaderRowElement['themeName'] | undefined> = input<TableHeaderRowElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TableHeaderRowElement['disabled'] | undefined> = input<TableHeaderRowElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableHeaderRowElement['dir'] | undefined> = input<TableHeaderRowElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableHeaderRowElement['lang'] | undefined> = input<TableHeaderRowElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableHeaderRowMethodNames>(method: TMethod, ...args: Parameters<TableHeaderRowComponentMethods[TMethod]>): ReturnType<TableHeaderRowComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableHeaderRowElement>(property: TProperty, value: TableHeaderRowElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableHeaderRowComponent.\n */\nexport type TableHeaderRowMethodNames = 'onSlotChange' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableHeaderRowComponent.\n */\nexport type TableHeaderRowComponentMethods = MethodMap<TableHeaderRowMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableHeaderRowComponent(config: Partial<TableHeaderRowElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_HEADER_ROW_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableHeaderElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableHeaderComponent.\n * Use this token to provide default properties for the TableHeaderComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_HEADER_DEFAULT_PROPS = new InjectionToken<Partial<TableHeaderElement.Props>>('MOSAIK_TABLE_HEADER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table-header', TableHeaderElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table-header',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableHeaderComponent {\n    // #region Fields\n\n    private readonly _element: TableHeaderElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_HEADER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableHeaderElement['themeName'] | undefined> = input<TableHeaderElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableHeaderElement['dir'] | undefined> = input<TableHeaderElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableHeaderElement['lang'] | undefined> = input<TableHeaderElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableHeaderMethodNames>(method: TMethod, ...args: Parameters<TableHeaderComponentMethods[TMethod]>): ReturnType<TableHeaderComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableHeaderElement>(property: TProperty, value: TableHeaderElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableHeaderComponent.\n */\nexport type TableHeaderMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableHeaderComponent.\n */\nexport type TableHeaderComponentMethods = MethodMap<TableHeaderMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableHeaderComponent(config: Partial<TableHeaderElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_HEADER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TableElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TableComponent.\n * Use this token to provide default properties for the TableComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TABLE_DEFAULT_PROPS = new InjectionToken<Partial<TableElement.Props>>('MOSAIK_TABLE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot caption - The caption slot for the table title or description.\n * @slot summary - The summary slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-table', TableElement),\n    inputs: ['intl', 'selectedRows', 'selectedCells', 'columns', 'caption', 'alternating', 'selectionType', 'selectionMode', 'resizable', 'sortMode', 'themeName', 'appearance', 'dir', 'lang'],\n    methods: ['handleRowSelect', 'handleCellSelect', 'updateColumnWidth', 'getColumnMetadata', 'getColumnEditorItems', 'autoSizeColumn', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-table',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TableComponent {\n    // #region Fields\n\n    private readonly _element: TableElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('columnsChanged', (e) => this.columnsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tableSelectionChanged', (e) => this.tableSelectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tableChooseColumns', (e) => this.tableChooseColumns.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TABLE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `intl` property.\n     *\n     * @public\n     */\n    public readonly intl: InputSignal<TableElement['intl'] | undefined> = input<TableElement['intl']>();\n\n    /**\n     * Signal input for the `selectedRows` property.\n     *\n     * @public\n     */\n    public readonly selectedRows: InputSignal<TableElement['selectedRows'] | undefined> = input<TableElement['selectedRows']>();\n\n    /**\n     * Signal input for the `selectedCells` property.\n     *\n     * @public\n     */\n    public readonly selectedCells: InputSignal<TableElement['selectedCells'] | undefined> = input<TableElement['selectedCells']>();\n\n    /**\n     * Signal input for the `columns` property.\n     *\n     * @public\n     */\n    public readonly columns: InputSignal<TableElement['columns'] | undefined> = input<TableElement['columns']>();\n\n    /**\n     * Signal input for the `caption` property.\n     *\n     * @public\n     */\n    public readonly caption: InputSignal<TableElement['caption'] | undefined> = input<TableElement['caption']>();\n\n    /**\n     * Signal input for the `alternating` property.\n     *\n     * @public\n     */\n    public readonly alternating: InputSignal<TableElement['alternating'] | undefined> = input<TableElement['alternating']>();\n\n    /**\n     * Signal input for the `selectionType` property.\n     *\n     * @public\n     */\n    public readonly selectionType: InputSignal<TableElement['selectionType'] | undefined> = input<TableElement['selectionType']>();\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<TableElement['selectionMode'] | undefined> = input<TableElement['selectionMode']>();\n\n    /**\n     * Signal input for the `resizable` property.\n     *\n     * @public\n     */\n    public readonly resizable: InputSignal<TableElement['resizable'] | undefined> = input<TableElement['resizable']>();\n\n    /**\n     * Signal input for the `sortMode` property.\n     *\n     * @public\n     */\n    public readonly sortMode: InputSignal<TableElement['sortMode'] | undefined> = input<TableElement['sortMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TableElement['themeName'] | undefined> = input<TableElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TableElement['appearance'] | undefined> = input<TableElement['appearance']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TableElement['dir'] | undefined> = input<TableElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TableElement['lang'] | undefined> = input<TableElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const selectedRowsValue = this.selectedRows();\n                if (selectedRowsValue !== undefined) {\n                    (this._element as any).selectedRows = selectedRowsValue;\n                }\n\n                const selectedCellsValue = this.selectedCells();\n                if (selectedCellsValue !== undefined) {\n                    (this._element as any).selectedCells = selectedCellsValue;\n                }\n\n                const columnsValue = this.columns();\n                if (columnsValue !== undefined) {\n                    (this._element as any).columns = columnsValue;\n                }\n\n                const captionValue = this.caption();\n                if (captionValue !== undefined) {\n                    (this._element as any).caption = captionValue;\n                }\n\n                const alternatingValue = this.alternating();\n                if (alternatingValue !== undefined) {\n                    (this._element as any).alternating = alternatingValue;\n                }\n\n                const selectionTypeValue = this.selectionType();\n                if (selectionTypeValue !== undefined) {\n                    (this._element as any).selectionType = selectionTypeValue;\n                }\n\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const resizableValue = this.resizable();\n                if (resizableValue !== undefined) {\n                    (this._element as any).resizable = resizableValue;\n                }\n\n                const sortModeValue = this.sortMode();\n                if (sortModeValue !== undefined) {\n                    (this._element as any).sortMode = sortModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `columnsChanged` event.\n     *\n     * @public\n     */\n    public readonly columnsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tableSelectionChanged` event.\n     *\n     * @public\n     */\n    public readonly tableSelectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tableChooseColumns` event.\n     *\n     * @public\n     */\n    public readonly tableChooseColumns: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TableMethodNames>(method: TMethod, ...args: Parameters<TableComponentMethods[TMethod]>): ReturnType<TableComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TableElement>(property: TProperty, value: TableElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TableComponent.\n */\nexport type TableMethodNames = 'handleRowSelect' | 'handleCellSelect' | 'updateColumnWidth' | 'getColumnMetadata' | 'getColumnEditorItems' | 'autoSizeColumn' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TableComponent.\n */\nexport type TableComponentMethods = MethodMap<TableMethodNames>;\n\n/**\n * @public\n */\nexport function provideTableComponent(config: Partial<TableElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TABLE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TextFormatElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TextFormatComponent.\n * Use this token to provide default properties for the TextFormatComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TEXT_FORMAT_DEFAULT_PROPS = new InjectionToken<Partial<TextFormatElement.Props>>('MOSAIK_TEXT_FORMAT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-text-format', TextFormatElement),\n    inputs: ['text', 'themeName', 'dir', 'lang'],\n    methods: ['getTemplateByIndex', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-text-format',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TextFormatComponent {\n    // #region Fields\n\n    private readonly _element: TextFormatElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TEXT_FORMAT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TextFormatElement['text'] | undefined> = input<TextFormatElement['text']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TextFormatElement['themeName'] | undefined> = input<TextFormatElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TextFormatElement['dir'] | undefined> = input<TextFormatElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TextFormatElement['lang'] | undefined> = input<TextFormatElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TextFormatMethodNames>(method: TMethod, ...args: Parameters<TextFormatComponentMethods[TMethod]>): ReturnType<TextFormatComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TextFormatElement>(property: TProperty, value: TextFormatElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TextFormatComponent.\n */\nexport type TextFormatMethodNames = 'getTemplateByIndex' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TextFormatComponent.\n */\nexport type TextFormatComponentMethods = MethodMap<TextFormatMethodNames>;\n\n/**\n * @public\n */\nexport function provideTextFormatComponent(config: Partial<TextFormatElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TEXT_FORMAT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TextElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TextComponent.\n * Use this token to provide default properties for the TextComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TEXT_DEFAULT_PROPS = new InjectionToken<Partial<TextElement.Props>>('MOSAIK_TEXT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot text - Primary text content area for displaying formatted text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-text', TextElement),\n    inputs: ['text', 'truncate', 'wrap', 'maxLength', 'maxLines', 'readonly', 'alignment', 'marker', 'themeName', 'variant', 'disabled', 'formatter', 'dir', 'lang'],\n    methods: ['mark', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-text',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TextComponent {\n    // #region Fields\n\n    private readonly _element: TextElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TEXT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TextElement['text'] | undefined> = input<TextElement['text']>();\n\n    /**\n     * Signal input for the `truncate` property.\n     *\n     * @public\n     */\n    public readonly truncate: InputSignal<TextElement['truncate'] | undefined> = input<TextElement['truncate']>();\n\n    /**\n     * Signal input for the `wrap` property.\n     *\n     * @public\n     */\n    public readonly wrap: InputSignal<TextElement['wrap'] | undefined> = input<TextElement['wrap']>();\n\n    /**\n     * Signal input for the `maxLength` property.\n     *\n     * @public\n     */\n    public readonly maxLength: InputSignal<TextElement['maxLength'] | undefined> = input<TextElement['maxLength']>();\n\n    /**\n     * Signal input for the `maxLines` property.\n     *\n     * @public\n     */\n    public readonly maxLines: InputSignal<TextElement['maxLines'] | undefined> = input<TextElement['maxLines']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<TextElement['readonly'] | undefined> = input<TextElement['readonly']>();\n\n    /**\n     * Signal input for the `alignment` property.\n     *\n     * @public\n     */\n    public readonly alignment: InputSignal<TextElement['alignment'] | undefined> = input<TextElement['alignment']>();\n\n    /**\n     * Signal input for the `marker` property.\n     *\n     * @public\n     */\n    public readonly marker: InputSignal<TextElement['marker'] | undefined> = input<TextElement['marker']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TextElement['themeName'] | undefined> = input<TextElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TextElement['variant'] | undefined> = input<TextElement['variant']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TextElement['disabled'] | undefined> = input<TextElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TextElement['formatter'] | undefined> = input<TextElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TextElement['dir'] | undefined> = input<TextElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TextElement['lang'] | undefined> = input<TextElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const truncateValue = this.truncate();\n                if (truncateValue !== undefined) {\n                    (this._element as any).truncate = truncateValue;\n                }\n\n                const wrapValue = this.wrap();\n                if (wrapValue !== undefined) {\n                    (this._element as any).wrap = wrapValue;\n                }\n\n                const maxLengthValue = this.maxLength();\n                if (maxLengthValue !== undefined) {\n                    (this._element as any).maxLength = maxLengthValue;\n                }\n\n                const maxLinesValue = this.maxLines();\n                if (maxLinesValue !== undefined) {\n                    (this._element as any).maxLines = maxLinesValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const alignmentValue = this.alignment();\n                if (alignmentValue !== undefined) {\n                    (this._element as any).alignment = alignmentValue;\n                }\n\n                const markerValue = this.marker();\n                if (markerValue !== undefined) {\n                    (this._element as any).marker = markerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TextMethodNames>(method: TMethod, ...args: Parameters<TextComponentMethods[TMethod]>): ReturnType<TextComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TextElement>(property: TProperty, value: TextElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TextComponent.\n */\nexport type TextMethodNames = 'mark' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TextComponent.\n */\nexport type TextComponentMethods = MethodMap<TextMethodNames>;\n\n/**\n * @public\n */\nexport function provideTextComponent(config: Partial<TextElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TEXT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TextBoxElement, IElementValueAccessor, textBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TextBoxComponent.\n * Use this token to provide default properties for the TextBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TEXT_BOX_DEFAULT_PROPS = new InjectionToken<Partial<TextBoxElement.Props>>('MOSAIK_TEXT_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-textbox', TextBoxElement),\n    inputs: ['multiline', 'multilineRows', 'multilineMaxRows', 'readonly', 'required', 'autofocus', 'name', 'type', 'pattern', 'placeholder', 'autocomplete', 'keyboard', 'minlength', 'maxlength', 'resize', 'textAlign', 'themeName', 'isClearable', 'appearance', 'variant', 'label', 'invalid', 'value', 'isBusy', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['focus', 'blur', 'reset', 'clear', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-textbox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => TextBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => TextBoxComponent)\n        }\n    ]\n})\nexport class TextBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: TextBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = textBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TEXT_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `multiline` property.\n     *\n     * @public\n     */\n    public readonly multiline: InputSignal<TextBoxElement['multiline'] | undefined> = input<TextBoxElement['multiline']>();\n\n    /**\n     * Signal input for the `multilineRows` property.\n     *\n     * @public\n     */\n    public readonly multilineRows: InputSignal<TextBoxElement['multilineRows'] | undefined> = input<TextBoxElement['multilineRows']>();\n\n    /**\n     * Signal input for the `multilineMaxRows` property.\n     *\n     * @public\n     */\n    public readonly multilineMaxRows: InputSignal<TextBoxElement['multilineMaxRows'] | undefined> = input<TextBoxElement['multilineMaxRows']>();\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<TextBoxElement['readonly'] | undefined> = input<TextBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<TextBoxElement['required'] | undefined> = input<TextBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<TextBoxElement['autofocus'] | undefined> = input<TextBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<TextBoxElement['name'] | undefined> = input<TextBoxElement['name']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<TextBoxElement['type'] | undefined> = input<TextBoxElement['type']>();\n\n    /**\n     * Signal input for the `pattern` property.\n     *\n     * @public\n     */\n    public readonly pattern: InputSignal<TextBoxElement['pattern'] | undefined> = input<TextBoxElement['pattern']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<TextBoxElement['placeholder'] | undefined> = input<TextBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<TextBoxElement['autocomplete'] | undefined> = input<TextBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `keyboard` property.\n     *\n     * @public\n     */\n    public readonly keyboard: InputSignal<TextBoxElement['keyboard'] | undefined> = input<TextBoxElement['keyboard']>();\n\n    /**\n     * Signal input for the `minlength` property.\n     *\n     * @public\n     */\n    public readonly minlength: InputSignal<TextBoxElement['minlength'] | undefined> = input<TextBoxElement['minlength']>();\n\n    /**\n     * Signal input for the `maxlength` property.\n     *\n     * @public\n     */\n    public readonly maxlength: InputSignal<TextBoxElement['maxlength'] | undefined> = input<TextBoxElement['maxlength']>();\n\n    /**\n     * Signal input for the `resize` property.\n     *\n     * @public\n     */\n    public readonly resize: InputSignal<TextBoxElement['resize'] | undefined> = input<TextBoxElement['resize']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<TextBoxElement['textAlign'] | undefined> = input<TextBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TextBoxElement['themeName'] | undefined> = input<TextBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<TextBoxElement['isClearable'] | undefined> = input<TextBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TextBoxElement['appearance'] | undefined> = input<TextBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TextBoxElement['variant'] | undefined> = input<TextBoxElement['variant']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<TextBoxElement['label'] | undefined> = input<TextBoxElement['label']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<TextBoxElement['invalid'] | undefined> = input<TextBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TextBoxElement['value'] | undefined> = input<TextBoxElement['value']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<TextBoxElement['isBusy'] | undefined> = input<TextBoxElement['isBusy']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TextBoxElement['disabled'] | undefined> = input<TextBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<TextBoxElement['state'] | undefined> = input<TextBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TextBoxElement['formatter'] | undefined> = input<TextBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<TextBoxElement['parser'] | undefined> = input<TextBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<TextBoxElement['isFocused'] | undefined> = input<TextBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TextBoxElement['dir'] | undefined> = input<TextBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TextBoxElement['lang'] | undefined> = input<TextBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const multilineValue = this.multiline();\n                if (multilineValue !== undefined) {\n                    (this._element as any).multiline = multilineValue;\n                }\n\n                const multilineRowsValue = this.multilineRows();\n                if (multilineRowsValue !== undefined) {\n                    (this._element as any).multilineRows = multilineRowsValue;\n                }\n\n                const multilineMaxRowsValue = this.multilineMaxRows();\n                if (multilineMaxRowsValue !== undefined) {\n                    (this._element as any).multilineMaxRows = multilineMaxRowsValue;\n                }\n\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const patternValue = this.pattern();\n                if (patternValue !== undefined) {\n                    (this._element as any).pattern = patternValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const keyboardValue = this.keyboard();\n                if (keyboardValue !== undefined) {\n                    (this._element as any).keyboard = keyboardValue;\n                }\n\n                const minlengthValue = this.minlength();\n                if (minlengthValue !== undefined) {\n                    (this._element as any).minlength = minlengthValue;\n                }\n\n                const maxlengthValue = this.maxlength();\n                if (maxlengthValue !== undefined) {\n                    (this._element as any).maxlength = maxlengthValue;\n                }\n\n                const resizeValue = this.resize();\n                if (resizeValue !== undefined) {\n                    (this._element as any).resize = resizeValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TextBoxMethodNames>(method: TMethod, ...args: Parameters<TextBoxComponentMethods[TMethod]>): ReturnType<TextBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TextBoxElement>(property: TProperty, value: TextBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TextBoxComponent.\n */\nexport type TextBoxMethodNames = 'focus' | 'blur' | 'reset' | 'clear' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TextBoxComponent.\n */\nexport type TextBoxComponentMethods = MethodMap<TextBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideTextBoxComponent(config: Partial<TextBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TEXT_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { Theme2Element } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the Theme2Component.\n * Use this token to provide default properties for the Theme2Component.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const THEME2_DEFAULT_PROPS = new InjectionToken<Partial<Theme2Element.Props>>('MOSAIK_THEME2_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-theme2', Theme2Element),\n    inputs: ['name', 'theme', 'global', 'dir', 'lang'],\n    methods: ['applyTheme', 'applyScheme', 'applyPalette', 'applyFontFamily', 'applyTypography', 'applyLayout', 'applyElevation', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-theme2',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class Theme2Component {\n    // #region Fields\n\n    private readonly _element: Theme2Element;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(THEME2_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<Theme2Element['name'] | undefined> = input<Theme2Element['name']>();\n\n    /**\n     * Signal input for the `theme` property.\n     *\n     * @public\n     */\n    public readonly theme: InputSignal<Theme2Element['theme'] | undefined> = input<Theme2Element['theme']>();\n\n    /**\n     * Signal input for the `global` property.\n     *\n     * @public\n     */\n    public readonly global: InputSignal<Theme2Element['global'] | undefined> = input<Theme2Element['global']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<Theme2Element['dir'] | undefined> = input<Theme2Element['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<Theme2Element['lang'] | undefined> = input<Theme2Element['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeValue = this.theme();\n                if (themeValue !== undefined) {\n                    (this._element as any).theme = themeValue;\n                }\n\n                const globalValue = this.global();\n                if (globalValue !== undefined) {\n                    (this._element as any).global = globalValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends Theme2MethodNames>(method: TMethod, ...args: Parameters<Theme2ComponentMethods[TMethod]>): ReturnType<Theme2ComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof Theme2Element>(property: TProperty, value: Theme2Element[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on Theme2Component.\n */\nexport type Theme2MethodNames = 'applyTheme' | 'applyScheme' | 'applyPalette' | 'applyFontFamily' | 'applyTypography' | 'applyLayout' | 'applyElevation' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for Theme2Component.\n */\nexport type Theme2ComponentMethods = MethodMap<Theme2MethodNames>;\n\n/**\n * @public\n */\nexport function provideTheme2Component(config: Partial<Theme2Element.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: THEME2_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ThumbElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ThumbComponent.\n * Use this token to provide default properties for the ThumbComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const THUMB_DEFAULT_PROPS = new InjectionToken<Partial<ThumbElement.Props>>('MOSAIK_THUMB_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-thumb', ThumbElement),\n    inputs: ['edge', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-thumb',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ThumbComponent {\n    // #region Fields\n\n    private readonly _element: ThumbElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(THUMB_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `edge` property.\n     *\n     * @public\n     */\n    public readonly edge: InputSignal<ThumbElement['edge'] | undefined> = input<ThumbElement['edge']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ThumbElement['themeName'] | undefined> = input<ThumbElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ThumbElement['disabled'] | undefined> = input<ThumbElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ThumbElement['dir'] | undefined> = input<ThumbElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ThumbElement['lang'] | undefined> = input<ThumbElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const edgeValue = this.edge();\n                if (edgeValue !== undefined) {\n                    (this._element as any).edge = edgeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ThumbMethodNames>(method: TMethod, ...args: Parameters<ThumbComponentMethods[TMethod]>): ReturnType<ThumbComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ThumbElement>(property: TProperty, value: ThumbElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ThumbComponent.\n */\nexport type ThumbMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ThumbComponent.\n */\nexport type ThumbComponentMethods = MethodMap<ThumbMethodNames>;\n\n/**\n * @public\n */\nexport function provideThumbComponent(config: Partial<ThumbElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: THUMB_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ThumbnailElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ThumbnailComponent.\n * Use this token to provide default properties for the ThumbnailComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const THUMBNAIL_DEFAULT_PROPS = new InjectionToken<Partial<ThumbnailElement.Props>>('MOSAIK_THUMBNAIL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-thumbnail', ThumbnailElement),\n    inputs: ['kind', 'preview', 'themeName', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-thumbnail',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ThumbnailComponent {\n    // #region Fields\n\n    private readonly _element: ThumbnailElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(THUMBNAIL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `kind` property.\n     *\n     * @public\n     */\n    public readonly kind: InputSignal<ThumbnailElement['kind'] | undefined> = input<ThumbnailElement['kind']>();\n\n    /**\n     * Signal input for the `preview` property.\n     *\n     * @public\n     */\n    public readonly preview: InputSignal<ThumbnailElement['preview'] | undefined> = input<ThumbnailElement['preview']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ThumbnailElement['themeName'] | undefined> = input<ThumbnailElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ThumbnailElement['disabled'] | undefined> = input<ThumbnailElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ThumbnailElement['dir'] | undefined> = input<ThumbnailElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ThumbnailElement['lang'] | undefined> = input<ThumbnailElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const previewValue = this.preview();\n                if (previewValue !== undefined) {\n                    (this._element as any).preview = previewValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ThumbnailMethodNames>(method: TMethod, ...args: Parameters<ThumbnailComponentMethods[TMethod]>): ReturnType<ThumbnailComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ThumbnailElement>(property: TProperty, value: ThumbnailElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ThumbnailComponent.\n */\nexport type ThumbnailMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ThumbnailComponent.\n */\nexport type ThumbnailComponentMethods = MethodMap<ThumbnailMethodNames>;\n\n/**\n * @public\n */\nexport function provideThumbnailComponent(config: Partial<ThumbnailElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: THUMBNAIL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TickBarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TickBarComponent.\n * Use this token to provide default properties for the TickBarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TICK_BAR_DEFAULT_PROPS = new InjectionToken<Partial<TickBarElement.Props>>('MOSAIK_TICK_BAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tick-bar', TickBarElement),\n    inputs: ['ticks', 'min', 'max', 'interval', 'showLabels', 'labelAccessor', 'labelPosition', 'themeName', 'disabled', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tick-bar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TickBarComponent {\n    // #region Fields\n\n    private readonly _element: TickBarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TICK_BAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `ticks` property.\n     *\n     * @public\n     */\n    public readonly ticks: InputSignal<TickBarElement['ticks'] | undefined> = input<TickBarElement['ticks']>();\n\n    /**\n     * Signal input for the `min` property.\n     *\n     * @public\n     */\n    public readonly min: InputSignal<TickBarElement['min'] | undefined> = input<TickBarElement['min']>();\n\n    /**\n     * Signal input for the `max` property.\n     *\n     * @public\n     */\n    public readonly max: InputSignal<TickBarElement['max'] | undefined> = input<TickBarElement['max']>();\n\n    /**\n     * Signal input for the `interval` property.\n     *\n     * @public\n     */\n    public readonly interval: InputSignal<TickBarElement['interval'] | undefined> = input<TickBarElement['interval']>();\n\n    /**\n     * Signal input for the `showLabels` property.\n     *\n     * @public\n     */\n    public readonly showLabels: InputSignal<TickBarElement['showLabels'] | undefined> = input<TickBarElement['showLabels']>();\n\n    /**\n     * Signal input for the `labelAccessor` property.\n     *\n     * @public\n     */\n    public readonly labelAccessor: InputSignal<TickBarElement['labelAccessor'] | undefined> = input<TickBarElement['labelAccessor']>();\n\n    /**\n     * Signal input for the `labelPosition` property.\n     *\n     * @public\n     */\n    public readonly labelPosition: InputSignal<TickBarElement['labelPosition'] | undefined> = input<TickBarElement['labelPosition']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TickBarElement['themeName'] | undefined> = input<TickBarElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TickBarElement['disabled'] | undefined> = input<TickBarElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<TickBarElement['orientation'] | undefined> = input<TickBarElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TickBarElement['dir'] | undefined> = input<TickBarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TickBarElement['lang'] | undefined> = input<TickBarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const minValue = this.min();\n                if (minValue !== undefined) {\n                    (this._element as any).min = minValue;\n                }\n\n                const maxValue = this.max();\n                if (maxValue !== undefined) {\n                    (this._element as any).max = maxValue;\n                }\n\n                const intervalValue = this.interval();\n                if (intervalValue !== undefined) {\n                    (this._element as any).interval = intervalValue;\n                }\n\n                const showLabelsValue = this.showLabels();\n                if (showLabelsValue !== undefined) {\n                    (this._element as any).showLabels = showLabelsValue;\n                }\n\n                const labelAccessorValue = this.labelAccessor();\n                if (labelAccessorValue !== undefined) {\n                    (this._element as any).labelAccessor = labelAccessorValue;\n                }\n\n                const labelPositionValue = this.labelPosition();\n                if (labelPositionValue !== undefined) {\n                    (this._element as any).labelPosition = labelPositionValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TickBarMethodNames>(method: TMethod, ...args: Parameters<TickBarComponentMethods[TMethod]>): ReturnType<TickBarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TickBarElement>(property: TProperty, value: TickBarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TickBarComponent.\n */\nexport type TickBarMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TickBarComponent.\n */\nexport type TickBarComponentMethods = MethodMap<TickBarMethodNames>;\n\n/**\n * @public\n */\nexport function provideTickBarComponent(config: Partial<TickBarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TICK_BAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TileListItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TileListItemComponent.\n * Use this token to provide default properties for the TileListItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TILE_LIST_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<TileListItemElement.Props>>('MOSAIK_TILE_LIST_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tile-list-item', TileListItemElement),\n    inputs: ['col', 'colSpan', 'order', 'reorderable', 'resizable', 'row', 'rowSpan', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tile-list-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TileListItemComponent {\n    // #region Fields\n\n    private readonly _element: TileListItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TILE_LIST_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `col` property.\n     *\n     * @public\n     */\n    public readonly col: InputSignal<TileListItemElement['col'] | undefined> = input<TileListItemElement['col']>();\n\n    /**\n     * Signal input for the `colSpan` property.\n     *\n     * @public\n     */\n    public readonly colSpan: InputSignal<TileListItemElement['colSpan'] | undefined> = input<TileListItemElement['colSpan']>();\n\n    /**\n     * Signal input for the `order` property.\n     *\n     * @public\n     */\n    public readonly order: InputSignal<TileListItemElement['order'] | undefined> = input<TileListItemElement['order']>();\n\n    /**\n     * Signal input for the `reorderable` property.\n     *\n     * @public\n     */\n    public readonly reorderable: InputSignal<TileListItemElement['reorderable'] | undefined> = input<TileListItemElement['reorderable']>();\n\n    /**\n     * Signal input for the `resizable` property.\n     *\n     * @public\n     */\n    public readonly resizable: InputSignal<TileListItemElement['resizable'] | undefined> = input<TileListItemElement['resizable']>();\n\n    /**\n     * Signal input for the `row` property.\n     *\n     * @public\n     */\n    public readonly row: InputSignal<TileListItemElement['row'] | undefined> = input<TileListItemElement['row']>();\n\n    /**\n     * Signal input for the `rowSpan` property.\n     *\n     * @public\n     */\n    public readonly rowSpan: InputSignal<TileListItemElement['rowSpan'] | undefined> = input<TileListItemElement['rowSpan']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TileListItemElement['themeName'] | undefined> = input<TileListItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TileListItemElement['dir'] | undefined> = input<TileListItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TileListItemElement['lang'] | undefined> = input<TileListItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colValue = this.col();\n                if (colValue !== undefined) {\n                    (this._element as any).col = colValue;\n                }\n\n                const colSpanValue = this.colSpan();\n                if (colSpanValue !== undefined) {\n                    (this._element as any).colSpan = colSpanValue;\n                }\n\n                const orderValue = this.order();\n                if (orderValue !== undefined) {\n                    (this._element as any).order = orderValue;\n                }\n\n                const reorderableValue = this.reorderable();\n                if (reorderableValue !== undefined) {\n                    (this._element as any).reorderable = reorderableValue;\n                }\n\n                const resizableValue = this.resizable();\n                if (resizableValue !== undefined) {\n                    (this._element as any).resizable = resizableValue;\n                }\n\n                const rowValue = this.row();\n                if (rowValue !== undefined) {\n                    (this._element as any).row = rowValue;\n                }\n\n                const rowSpanValue = this.rowSpan();\n                if (rowSpanValue !== undefined) {\n                    (this._element as any).rowSpan = rowSpanValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TileListItemMethodNames>(method: TMethod, ...args: Parameters<TileListItemComponentMethods[TMethod]>): ReturnType<TileListItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TileListItemElement>(property: TProperty, value: TileListItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TileListItemComponent.\n */\nexport type TileListItemMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TileListItemComponent.\n */\nexport type TileListItemComponentMethods = MethodMap<TileListItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideTileListItemComponent(config: Partial<TileListItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TILE_LIST_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TileListElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TileListComponent.\n * Use this token to provide default properties for the TileListComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TILE_LIST_DEFAULT_PROPS = new InjectionToken<Partial<TileListElement.Props>>('MOSAIK_TILE_LIST_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tile-list', TileListElement),\n    inputs: ['cols', 'rowHeight', 'gutterSize', 'autoFlow', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tile-list',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TileListComponent {\n    // #region Fields\n\n    private readonly _element: TileListElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TILE_LIST_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `cols` property.\n     *\n     * @public\n     */\n    public readonly cols: InputSignal<TileListElement['cols'] | undefined> = input<TileListElement['cols']>();\n\n    /**\n     * Signal input for the `rowHeight` property.\n     *\n     * @public\n     */\n    public readonly rowHeight: InputSignal<TileListElement['rowHeight'] | undefined> = input<TileListElement['rowHeight']>();\n\n    /**\n     * Signal input for the `gutterSize` property.\n     *\n     * @public\n     */\n    public readonly gutterSize: InputSignal<TileListElement['gutterSize'] | undefined> = input<TileListElement['gutterSize']>();\n\n    /**\n     * Signal input for the `autoFlow` property.\n     *\n     * @public\n     */\n    public readonly autoFlow: InputSignal<TileListElement['autoFlow'] | undefined> = input<TileListElement['autoFlow']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TileListElement['themeName'] | undefined> = input<TileListElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TileListElement['dir'] | undefined> = input<TileListElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TileListElement['lang'] | undefined> = input<TileListElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colsValue = this.cols();\n                if (colsValue !== undefined) {\n                    (this._element as any).cols = colsValue;\n                }\n\n                const rowHeightValue = this.rowHeight();\n                if (rowHeightValue !== undefined) {\n                    (this._element as any).rowHeight = rowHeightValue;\n                }\n\n                const gutterSizeValue = this.gutterSize();\n                if (gutterSizeValue !== undefined) {\n                    (this._element as any).gutterSize = gutterSizeValue;\n                }\n\n                const autoFlowValue = this.autoFlow();\n                if (autoFlowValue !== undefined) {\n                    (this._element as any).autoFlow = autoFlowValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TileListMethodNames>(method: TMethod, ...args: Parameters<TileListComponentMethods[TMethod]>): ReturnType<TileListComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TileListElement>(property: TProperty, value: TileListElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TileListComponent.\n */\nexport type TileListMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TileListComponent.\n */\nexport type TileListComponentMethods = MethodMap<TileListMethodNames>;\n\n/**\n * @public\n */\nexport function provideTileListComponent(config: Partial<TileListElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TILE_LIST_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TileManagerTileElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TileManagerTileComponent.\n * Use this token to provide default properties for the TileManagerTileComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TILE_MANAGER_TILE_DEFAULT_PROPS = new InjectionToken<Partial<TileManagerTileElement.Props>>('MOSAIK_TILE_MANAGER_TILE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for the tile's content.\n * @slot actions - Renders items after the default actions in the tile header.\n * @slot bottom-adorner - Renders the bottom resize handle of the tile.\n * @slot corner-adorner - Renders the corner resize handle of the tile.\n * @slot fullscreen-action - Renders the fullscreen action element of the tile header.\n * @slot maximize-action - Renders the maximize action element of the tile header.\n * @slot side-adorner - Renders the side resize handle of the tile.\n * @slot title - Renders the title of the tile header.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tile-manager-tile', TileManagerTileElement),\n    inputs: ['fullscreen', 'tileManager', 'resizeMode', 'resizeDisabled', 'isResizing', 'isDragging', 'isDraggable', 'headerRef', 'tileContentRef', 'isResizable', 'cssContainer', 'colSpan', 'rowSpan', 'colStart', 'rowStart', 'position', 'maximized', 'disableResize', 'disableFullscreen', 'disableMaximize', 'themeName', 'dir', 'lang'],\n    methods: ['setDragState', 'handleMaximize', 'handleFullscreen', 'handleResizePointerDown', 'handleResizePointerMove', 'handleResizePointerUp', 'handleResizeCancel', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tile-manager-tile',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TileManagerTileComponent {\n    // #region Fields\n\n    private readonly _element: TileManagerTileElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('tileFullscreen', (e) => this.tileFullscreen.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileMaximize', (e) => this.tileMaximize.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileDragStart', (e) => this.tileDragStart.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileDragEnd', (e) => this.tileDragEnd.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileDragCancel', (e) => this.tileDragCancel.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileResizeStart', (e) => this.tileResizeStart.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileResizeEnd', (e) => this.tileResizeEnd.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('tileResizeCancel', (e) => this.tileResizeCancel.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TILE_MANAGER_TILE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `fullscreen` property.\n     *\n     * @public\n     */\n    public readonly fullscreen: InputSignal<TileManagerTileElement['fullscreen'] | undefined> = input<TileManagerTileElement['fullscreen']>();\n\n    /**\n     * Signal input for the `tileManager` property.\n     *\n     * @public\n     */\n    public readonly tileManager: InputSignal<TileManagerTileElement['tileManager'] | undefined> = input<TileManagerTileElement['tileManager']>();\n\n    /**\n     * Signal input for the `resizeMode` property.\n     *\n     * @public\n     */\n    public readonly resizeMode: InputSignal<TileManagerTileElement['resizeMode'] | undefined> = input<TileManagerTileElement['resizeMode']>();\n\n    /**\n     * Signal input for the `resizeDisabled` property.\n     *\n     * @public\n     */\n    public readonly resizeDisabled: InputSignal<TileManagerTileElement['resizeDisabled'] | undefined> = input<TileManagerTileElement['resizeDisabled']>();\n\n    /**\n     * Signal input for the `isResizing` property.\n     *\n     * @public\n     */\n    public readonly isResizing: InputSignal<TileManagerTileElement['isResizing'] | undefined> = input<TileManagerTileElement['isResizing']>();\n\n    /**\n     * Signal input for the `isDragging` property.\n     *\n     * @public\n     */\n    public readonly isDragging: InputSignal<TileManagerTileElement['isDragging'] | undefined> = input<TileManagerTileElement['isDragging']>();\n\n    /**\n     * Signal input for the `isDraggable` property.\n     *\n     * @public\n     */\n    public readonly isDraggable: InputSignal<TileManagerTileElement['isDraggable'] | undefined> = input<TileManagerTileElement['isDraggable']>();\n\n    /**\n     * Signal input for the `headerRef` property.\n     *\n     * @public\n     */\n    public readonly headerRef: InputSignal<TileManagerTileElement['headerRef'] | undefined> = input<TileManagerTileElement['headerRef']>();\n\n    /**\n     * Signal input for the `tileContentRef` property.\n     *\n     * @public\n     */\n    public readonly tileContentRef: InputSignal<TileManagerTileElement['tileContentRef'] | undefined> = input<TileManagerTileElement['tileContentRef']>();\n\n    /**\n     * Signal input for the `isResizable` property.\n     *\n     * @public\n     */\n    public readonly isResizable: InputSignal<TileManagerTileElement['isResizable'] | undefined> = input<TileManagerTileElement['isResizable']>();\n\n    /**\n     * Signal input for the `cssContainer` property.\n     *\n     * @public\n     */\n    public readonly cssContainer: InputSignal<TileManagerTileElement['cssContainer'] | undefined> = input<TileManagerTileElement['cssContainer']>();\n\n    /**\n     * Signal input for the `colSpan` property.\n     *\n     * @public\n     */\n    public readonly colSpan: InputSignal<TileManagerTileElement['colSpan'] | undefined> = input<TileManagerTileElement['colSpan']>();\n\n    /**\n     * Signal input for the `rowSpan` property.\n     *\n     * @public\n     */\n    public readonly rowSpan: InputSignal<TileManagerTileElement['rowSpan'] | undefined> = input<TileManagerTileElement['rowSpan']>();\n\n    /**\n     * Signal input for the `colStart` property.\n     *\n     * @public\n     */\n    public readonly colStart: InputSignal<TileManagerTileElement['colStart'] | undefined> = input<TileManagerTileElement['colStart']>();\n\n    /**\n     * Signal input for the `rowStart` property.\n     *\n     * @public\n     */\n    public readonly rowStart: InputSignal<TileManagerTileElement['rowStart'] | undefined> = input<TileManagerTileElement['rowStart']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<TileManagerTileElement['position'] | undefined> = input<TileManagerTileElement['position']>();\n\n    /**\n     * Signal input for the `maximized` property.\n     *\n     * @public\n     */\n    public readonly maximized: InputSignal<TileManagerTileElement['maximized'] | undefined> = input<TileManagerTileElement['maximized']>();\n\n    /**\n     * Signal input for the `disableResize` property.\n     *\n     * @public\n     */\n    public readonly disableResize: InputSignal<TileManagerTileElement['disableResize'] | undefined> = input<TileManagerTileElement['disableResize']>();\n\n    /**\n     * Signal input for the `disableFullscreen` property.\n     *\n     * @public\n     */\n    public readonly disableFullscreen: InputSignal<TileManagerTileElement['disableFullscreen'] | undefined> = input<TileManagerTileElement['disableFullscreen']>();\n\n    /**\n     * Signal input for the `disableMaximize` property.\n     *\n     * @public\n     */\n    public readonly disableMaximize: InputSignal<TileManagerTileElement['disableMaximize'] | undefined> = input<TileManagerTileElement['disableMaximize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TileManagerTileElement['themeName'] | undefined> = input<TileManagerTileElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TileManagerTileElement['dir'] | undefined> = input<TileManagerTileElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TileManagerTileElement['lang'] | undefined> = input<TileManagerTileElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const colSpanValue = this.colSpan();\n                if (colSpanValue !== undefined) {\n                    (this._element as any).colSpan = colSpanValue;\n                }\n\n                const rowSpanValue = this.rowSpan();\n                if (rowSpanValue !== undefined) {\n                    (this._element as any).rowSpan = rowSpanValue;\n                }\n\n                const colStartValue = this.colStart();\n                if (colStartValue !== undefined) {\n                    (this._element as any).colStart = colStartValue;\n                }\n\n                const rowStartValue = this.rowStart();\n                if (rowStartValue !== undefined) {\n                    (this._element as any).rowStart = rowStartValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const maximizedValue = this.maximized();\n                if (maximizedValue !== undefined) {\n                    (this._element as any).maximized = maximizedValue;\n                }\n\n                const disableResizeValue = this.disableResize();\n                if (disableResizeValue !== undefined) {\n                    (this._element as any).disableResize = disableResizeValue;\n                }\n\n                const disableFullscreenValue = this.disableFullscreen();\n                if (disableFullscreenValue !== undefined) {\n                    (this._element as any).disableFullscreen = disableFullscreenValue;\n                }\n\n                const disableMaximizeValue = this.disableMaximize();\n                if (disableMaximizeValue !== undefined) {\n                    (this._element as any).disableMaximize = disableMaximizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `tileFullscreen` event.\n     *\n     * @public\n     */\n    public readonly tileFullscreen: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileMaximize` event.\n     *\n     * @public\n     */\n    public readonly tileMaximize: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileDragStart` event.\n     *\n     * @public\n     */\n    public readonly tileDragStart: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileDragEnd` event.\n     *\n     * @public\n     */\n    public readonly tileDragEnd: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileDragCancel` event.\n     *\n     * @public\n     */\n    public readonly tileDragCancel: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileResizeStart` event.\n     *\n     * @public\n     */\n    public readonly tileResizeStart: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileResizeEnd` event.\n     *\n     * @public\n     */\n    public readonly tileResizeEnd: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `tileResizeCancel` event.\n     *\n     * @public\n     */\n    public readonly tileResizeCancel: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TileManagerTileMethodNames>(method: TMethod, ...args: Parameters<TileManagerTileComponentMethods[TMethod]>): ReturnType<TileManagerTileComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TileManagerTileElement>(property: TProperty, value: TileManagerTileElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TileManagerTileComponent.\n */\nexport type TileManagerTileMethodNames = 'setDragState' | 'handleMaximize' | 'handleFullscreen' | 'handleResizePointerDown' | 'handleResizePointerMove' | 'handleResizePointerUp' | 'handleResizeCancel' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TileManagerTileComponent.\n */\nexport type TileManagerTileComponentMethods = MethodMap<TileManagerTileMethodNames>;\n\n/**\n * @public\n */\nexport function provideTileManagerTileComponent(config: Partial<TileManagerTileElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TILE_MANAGER_TILE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TileManagerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TileManagerComponent.\n * Use this token to provide default properties for the TileManagerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TILE_MANAGER_DEFAULT_PROPS = new InjectionToken<Partial<TileManagerElement.Props>>('MOSAIK_TILE_MANAGER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for tile elements.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tile-manager', TileManagerElement),\n    inputs: ['tiles', 'maximizedTile', 'resizeMode', 'dragMode', 'columnCount', 'minColumnWidth', 'minRowHeight', 'gap', 'themeName', 'dir', 'lang'],\n    methods: ['handleSlotChange', 'saveLayout', 'saveLayoutAsJSON', 'loadLayout', 'loadLayoutFromJSON', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tile-manager',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TileManagerComponent {\n    // #region Fields\n\n    private readonly _element: TileManagerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('layoutChanged', (e) => this.layoutChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TILE_MANAGER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `tiles` property.\n     *\n     * @public\n     */\n    public readonly tiles: InputSignal<TileManagerElement['tiles'] | undefined> = input<TileManagerElement['tiles']>();\n\n    /**\n     * Signal input for the `maximizedTile` property.\n     *\n     * @public\n     */\n    public readonly maximizedTile: InputSignal<TileManagerElement['maximizedTile'] | undefined> = input<TileManagerElement['maximizedTile']>();\n\n    /**\n     * Signal input for the `resizeMode` property.\n     *\n     * @public\n     */\n    public readonly resizeMode: InputSignal<TileManagerElement['resizeMode'] | undefined> = input<TileManagerElement['resizeMode']>();\n\n    /**\n     * Signal input for the `dragMode` property.\n     *\n     * @public\n     */\n    public readonly dragMode: InputSignal<TileManagerElement['dragMode'] | undefined> = input<TileManagerElement['dragMode']>();\n\n    /**\n     * Signal input for the `columnCount` property.\n     *\n     * @public\n     */\n    public readonly columnCount: InputSignal<TileManagerElement['columnCount'] | undefined> = input<TileManagerElement['columnCount']>();\n\n    /**\n     * Signal input for the `minColumnWidth` property.\n     *\n     * @public\n     */\n    public readonly minColumnWidth: InputSignal<TileManagerElement['minColumnWidth'] | undefined> = input<TileManagerElement['minColumnWidth']>();\n\n    /**\n     * Signal input for the `minRowHeight` property.\n     *\n     * @public\n     */\n    public readonly minRowHeight: InputSignal<TileManagerElement['minRowHeight'] | undefined> = input<TileManagerElement['minRowHeight']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<TileManagerElement['gap'] | undefined> = input<TileManagerElement['gap']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TileManagerElement['themeName'] | undefined> = input<TileManagerElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TileManagerElement['dir'] | undefined> = input<TileManagerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TileManagerElement['lang'] | undefined> = input<TileManagerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const dragModeValue = this.dragMode();\n                if (dragModeValue !== undefined) {\n                    (this._element as any).dragMode = dragModeValue;\n                }\n\n                const columnCountValue = this.columnCount();\n                if (columnCountValue !== undefined) {\n                    (this._element as any).columnCount = columnCountValue;\n                }\n\n                const minColumnWidthValue = this.minColumnWidth();\n                if (minColumnWidthValue !== undefined) {\n                    (this._element as any).minColumnWidth = minColumnWidthValue;\n                }\n\n                const minRowHeightValue = this.minRowHeight();\n                if (minRowHeightValue !== undefined) {\n                    (this._element as any).minRowHeight = minRowHeightValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `layoutChanged` event.\n     *\n     * @public\n     */\n    public readonly layoutChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TileManagerMethodNames>(method: TMethod, ...args: Parameters<TileManagerComponentMethods[TMethod]>): ReturnType<TileManagerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TileManagerElement>(property: TProperty, value: TileManagerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TileManagerComponent.\n */\nexport type TileManagerMethodNames = 'handleSlotChange' | 'saveLayout' | 'saveLayoutAsJSON' | 'loadLayout' | 'loadLayoutFromJSON' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TileManagerComponent.\n */\nexport type TileManagerComponentMethods = MethodMap<TileManagerMethodNames>;\n\n/**\n * @public\n */\nexport function provideTileManagerComponent(config: Partial<TileManagerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TILE_MANAGER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TileElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TileComponent.\n * Use this token to provide default properties for the TileComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TILE_DEFAULT_PROPS = new InjectionToken<Partial<TileElement.Props>>('MOSAIK_TILE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for arbitrary tile content\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tile', TileElement),\n    inputs: ['type', 'themeName', 'elevation', 'variant', 'appearance', 'fit', 'ripple', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tile',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TileComponent {\n    // #region Fields\n\n    private readonly _element: TileElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TILE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<TileElement['type'] | undefined> = input<TileElement['type']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TileElement['themeName'] | undefined> = input<TileElement['themeName']>();\n\n    /**\n     * Signal input for the `elevation` property.\n     *\n     * @public\n     */\n    public readonly elevation: InputSignal<TileElement['elevation'] | undefined> = input<TileElement['elevation']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TileElement['variant'] | undefined> = input<TileElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TileElement['appearance'] | undefined> = input<TileElement['appearance']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<TileElement['fit'] | undefined> = input<TileElement['fit']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<TileElement['ripple'] | undefined> = input<TileElement['ripple']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TileElement['disabled'] | undefined> = input<TileElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<TileElement['isFocused'] | undefined> = input<TileElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TileElement['dir'] | undefined> = input<TileElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TileElement['lang'] | undefined> = input<TileElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const elevationValue = this.elevation();\n                if (elevationValue !== undefined) {\n                    (this._element as any).elevation = elevationValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TileMethodNames>(method: TMethod, ...args: Parameters<TileComponentMethods[TMethod]>): ReturnType<TileComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TileElement>(property: TProperty, value: TileElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TileComponent.\n */\nexport type TileMethodNames = 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TileComponent.\n */\nexport type TileComponentMethods = MethodMap<TileMethodNames>;\n\n/**\n * @public\n */\nexport function provideTileComponent(config: Partial<TileElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TILE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TimeBoxElement, IElementValueAccessor, timeBoxElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimeBoxComponent.\n * Use this token to provide default properties for the TimeBoxComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIME_BOX_DEFAULT_PROPS = new InjectionToken<Partial<TimeBoxElement.Props>>('MOSAIK_TIME_BOX_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot prefix - Content placed before the input field.\n * @slot suffix - Content placed after the input field.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timebox', TimeBoxElement),\n    inputs: ['readonly', 'required', 'autofocus', 'name', 'placeholder', 'autocomplete', 'isEditable', 'interval', 'blackoutTimes', 'specialTimes', 'minTime', 'maxTime', 'markerHandler', 'textAlign', 'themeName', 'isClearable', 'locale', 'invalid', 'value', 'variant', 'appearance', 'dropDownPlacement', 'dropDownStrategy', 'dropDownDistance', 'dropDownSkidding', 'dropDownStaysOpen', 'dropDownMaxHeight', 'dropDownHeight', 'dropDownWidth', 'dropDownMaxWidth', 'isDropDownOpen', 'label', 'disabled', 'state', 'formatter', 'parser', 'isFocused', 'dir', 'lang'],\n    methods: ['selectNext', 'selectPrevious', 'focus', 'blur', 'clear', 'reset', 'checkValidity', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'open', 'close', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timebox',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => TimeBoxComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => TimeBoxComponent)\n        }\n    ]\n})\nexport class TimeBoxComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: TimeBoxElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = timeBoxElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('cleared', (e) => this.cleared.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIME_BOX_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `readonly` property.\n     *\n     * @public\n     */\n    public readonly readonly: InputSignal<TimeBoxElement['readonly'] | undefined> = input<TimeBoxElement['readonly']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<TimeBoxElement['required'] | undefined> = input<TimeBoxElement['required']>();\n\n    /**\n     * Signal input for the `autofocus` property.\n     *\n     * @public\n     */\n    public readonly autofocus: InputSignal<TimeBoxElement['autofocus'] | undefined> = input<TimeBoxElement['autofocus']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<TimeBoxElement['name'] | undefined> = input<TimeBoxElement['name']>();\n\n    /**\n     * Signal input for the `placeholder` property.\n     *\n     * @public\n     */\n    public readonly placeholder: InputSignal<TimeBoxElement['placeholder'] | undefined> = input<TimeBoxElement['placeholder']>();\n\n    /**\n     * Signal input for the `autocomplete` property.\n     *\n     * @public\n     */\n    public readonly autocomplete: InputSignal<TimeBoxElement['autocomplete'] | undefined> = input<TimeBoxElement['autocomplete']>();\n\n    /**\n     * Signal input for the `isEditable` property.\n     *\n     * @public\n     */\n    public readonly isEditable: InputSignal<TimeBoxElement['isEditable'] | undefined> = input<TimeBoxElement['isEditable']>();\n\n    /**\n     * Signal input for the `interval` property.\n     *\n     * @public\n     */\n    public readonly interval: InputSignal<TimeBoxElement['interval'] | undefined> = input<TimeBoxElement['interval']>();\n\n    /**\n     * Signal input for the `blackoutTimes` property.\n     *\n     * @public\n     */\n    public readonly blackoutTimes: InputSignal<TimeBoxElement['blackoutTimes'] | undefined> = input<TimeBoxElement['blackoutTimes']>();\n\n    /**\n     * Signal input for the `specialTimes` property.\n     *\n     * @public\n     */\n    public readonly specialTimes: InputSignal<TimeBoxElement['specialTimes'] | undefined> = input<TimeBoxElement['specialTimes']>();\n\n    /**\n     * Signal input for the `minTime` property.\n     *\n     * @public\n     */\n    public readonly minTime: InputSignal<TimeBoxElement['minTime'] | undefined> = input<TimeBoxElement['minTime']>();\n\n    /**\n     * Signal input for the `maxTime` property.\n     *\n     * @public\n     */\n    public readonly maxTime: InputSignal<TimeBoxElement['maxTime'] | undefined> = input<TimeBoxElement['maxTime']>();\n\n    /**\n     * Signal input for the `markerHandler` property.\n     *\n     * @public\n     */\n    public readonly markerHandler: InputSignal<TimeBoxElement['markerHandler'] | undefined> = input<TimeBoxElement['markerHandler']>();\n\n    /**\n     * Signal input for the `textAlign` property.\n     *\n     * @public\n     */\n    public readonly textAlign: InputSignal<TimeBoxElement['textAlign'] | undefined> = input<TimeBoxElement['textAlign']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimeBoxElement['themeName'] | undefined> = input<TimeBoxElement['themeName']>();\n\n    /**\n     * Signal input for the `isClearable` property.\n     *\n     * @public\n     */\n    public readonly isClearable: InputSignal<TimeBoxElement['isClearable'] | undefined> = input<TimeBoxElement['isClearable']>();\n\n    /**\n     * Signal input for the `locale` property.\n     *\n     * @public\n     */\n    public readonly locale: InputSignal<TimeBoxElement['locale'] | undefined> = input<TimeBoxElement['locale']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<TimeBoxElement['invalid'] | undefined> = input<TimeBoxElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TimeBoxElement['value'] | undefined> = input<TimeBoxElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TimeBoxElement['variant'] | undefined> = input<TimeBoxElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TimeBoxElement['appearance'] | undefined> = input<TimeBoxElement['appearance']>();\n\n    /**\n     * Signal input for the `dropDownPlacement` property.\n     *\n     * @public\n     */\n    public readonly dropDownPlacement: InputSignal<TimeBoxElement['dropDownPlacement'] | undefined> = input<TimeBoxElement['dropDownPlacement']>();\n\n    /**\n     * Signal input for the `dropDownStrategy` property.\n     *\n     * @public\n     */\n    public readonly dropDownStrategy: InputSignal<TimeBoxElement['dropDownStrategy'] | undefined> = input<TimeBoxElement['dropDownStrategy']>();\n\n    /**\n     * Signal input for the `dropDownDistance` property.\n     *\n     * @public\n     */\n    public readonly dropDownDistance: InputSignal<TimeBoxElement['dropDownDistance'] | undefined> = input<TimeBoxElement['dropDownDistance']>();\n\n    /**\n     * Signal input for the `dropDownSkidding` property.\n     *\n     * @public\n     */\n    public readonly dropDownSkidding: InputSignal<TimeBoxElement['dropDownSkidding'] | undefined> = input<TimeBoxElement['dropDownSkidding']>();\n\n    /**\n     * Signal input for the `dropDownStaysOpen` property.\n     *\n     * @public\n     */\n    public readonly dropDownStaysOpen: InputSignal<TimeBoxElement['dropDownStaysOpen'] | undefined> = input<TimeBoxElement['dropDownStaysOpen']>();\n\n    /**\n     * Signal input for the `dropDownMaxHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxHeight: InputSignal<TimeBoxElement['dropDownMaxHeight'] | undefined> = input<TimeBoxElement['dropDownMaxHeight']>();\n\n    /**\n     * Signal input for the `dropDownHeight` property.\n     *\n     * @public\n     */\n    public readonly dropDownHeight: InputSignal<TimeBoxElement['dropDownHeight'] | undefined> = input<TimeBoxElement['dropDownHeight']>();\n\n    /**\n     * Signal input for the `dropDownWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownWidth: InputSignal<TimeBoxElement['dropDownWidth'] | undefined> = input<TimeBoxElement['dropDownWidth']>();\n\n    /**\n     * Signal input for the `dropDownMaxWidth` property.\n     *\n     * @public\n     */\n    public readonly dropDownMaxWidth: InputSignal<TimeBoxElement['dropDownMaxWidth'] | undefined> = input<TimeBoxElement['dropDownMaxWidth']>();\n\n    /**\n     * Signal input for the `isDropDownOpen` property.\n     *\n     * @public\n     */\n    public readonly isDropDownOpen: InputSignal<TimeBoxElement['isDropDownOpen'] | undefined> = input<TimeBoxElement['isDropDownOpen']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<TimeBoxElement['label'] | undefined> = input<TimeBoxElement['label']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TimeBoxElement['disabled'] | undefined> = input<TimeBoxElement['disabled']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<TimeBoxElement['state'] | undefined> = input<TimeBoxElement['state']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TimeBoxElement['formatter'] | undefined> = input<TimeBoxElement['formatter']>();\n\n    /**\n     * Signal input for the `parser` property.\n     *\n     * @public\n     */\n    public readonly parser: InputSignal<TimeBoxElement['parser'] | undefined> = input<TimeBoxElement['parser']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<TimeBoxElement['isFocused'] | undefined> = input<TimeBoxElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimeBoxElement['dir'] | undefined> = input<TimeBoxElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimeBoxElement['lang'] | undefined> = input<TimeBoxElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const readonlyValue = this.readonly();\n                if (readonlyValue !== undefined) {\n                    (this._element as any).readonly = readonlyValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const autofocusValue = this.autofocus();\n                if (autofocusValue !== undefined) {\n                    (this._element as any).autofocus = autofocusValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const placeholderValue = this.placeholder();\n                if (placeholderValue !== undefined) {\n                    (this._element as any).placeholder = placeholderValue;\n                }\n\n                const autocompleteValue = this.autocomplete();\n                if (autocompleteValue !== undefined) {\n                    (this._element as any).autocomplete = autocompleteValue;\n                }\n\n                const isEditableValue = this.isEditable();\n                if (isEditableValue !== undefined) {\n                    (this._element as any).isEditable = isEditableValue;\n                }\n\n                const intervalValue = this.interval();\n                if (intervalValue !== undefined) {\n                    (this._element as any).interval = intervalValue;\n                }\n\n                const blackoutTimesValue = this.blackoutTimes();\n                if (blackoutTimesValue !== undefined) {\n                    (this._element as any).blackoutTimes = blackoutTimesValue;\n                }\n\n                const specialTimesValue = this.specialTimes();\n                if (specialTimesValue !== undefined) {\n                    (this._element as any).specialTimes = specialTimesValue;\n                }\n\n                const minTimeValue = this.minTime();\n                if (minTimeValue !== undefined) {\n                    (this._element as any).minTime = minTimeValue;\n                }\n\n                const maxTimeValue = this.maxTime();\n                if (maxTimeValue !== undefined) {\n                    (this._element as any).maxTime = maxTimeValue;\n                }\n\n                const markerHandlerValue = this.markerHandler();\n                if (markerHandlerValue !== undefined) {\n                    (this._element as any).markerHandler = markerHandlerValue;\n                }\n\n                const textAlignValue = this.textAlign();\n                if (textAlignValue !== undefined) {\n                    (this._element as any).textAlign = textAlignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isClearableValue = this.isClearable();\n                if (isClearableValue !== undefined) {\n                    (this._element as any).isClearable = isClearableValue;\n                }\n\n                const localeValue = this.locale();\n                if (localeValue !== undefined) {\n                    (this._element as any).locale = localeValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const dropDownPlacementValue = this.dropDownPlacement();\n                if (dropDownPlacementValue !== undefined) {\n                    (this._element as any).dropDownPlacement = dropDownPlacementValue;\n                }\n\n                const dropDownStrategyValue = this.dropDownStrategy();\n                if (dropDownStrategyValue !== undefined) {\n                    (this._element as any).dropDownStrategy = dropDownStrategyValue;\n                }\n\n                const dropDownDistanceValue = this.dropDownDistance();\n                if (dropDownDistanceValue !== undefined) {\n                    (this._element as any).dropDownDistance = dropDownDistanceValue;\n                }\n\n                const dropDownSkiddingValue = this.dropDownSkidding();\n                if (dropDownSkiddingValue !== undefined) {\n                    (this._element as any).dropDownSkidding = dropDownSkiddingValue;\n                }\n\n                const dropDownStaysOpenValue = this.dropDownStaysOpen();\n                if (dropDownStaysOpenValue !== undefined) {\n                    (this._element as any).dropDownStaysOpen = dropDownStaysOpenValue;\n                }\n\n                const dropDownMaxHeightValue = this.dropDownMaxHeight();\n                if (dropDownMaxHeightValue !== undefined) {\n                    (this._element as any).dropDownMaxHeight = dropDownMaxHeightValue;\n                }\n\n                const dropDownHeightValue = this.dropDownHeight();\n                if (dropDownHeightValue !== undefined) {\n                    (this._element as any).dropDownHeight = dropDownHeightValue;\n                }\n\n                const dropDownWidthValue = this.dropDownWidth();\n                if (dropDownWidthValue !== undefined) {\n                    (this._element as any).dropDownWidth = dropDownWidthValue;\n                }\n\n                const dropDownMaxWidthValue = this.dropDownMaxWidth();\n                if (dropDownMaxWidthValue !== undefined) {\n                    (this._element as any).dropDownMaxWidth = dropDownMaxWidthValue;\n                }\n\n                const isDropDownOpenValue = this.isDropDownOpen();\n                if (isDropDownOpenValue !== undefined) {\n                    (this._element as any).isDropDownOpen = isDropDownOpenValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const parserValue = this.parser();\n                if (parserValue !== undefined) {\n                    (this._element as any).parser = parserValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `cleared` event.\n     *\n     * @public\n     */\n    public readonly cleared: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimeBoxMethodNames>(method: TMethod, ...args: Parameters<TimeBoxComponentMethods[TMethod]>): ReturnType<TimeBoxComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimeBoxElement>(property: TProperty, value: TimeBoxElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimeBoxComponent.\n */\nexport type TimeBoxMethodNames = 'selectNext' | 'selectPrevious' | 'focus' | 'blur' | 'clear' | 'reset' | 'checkValidity' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'open' | 'close' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimeBoxComponent.\n */\nexport type TimeBoxComponentMethods = MethodMap<TimeBoxMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimeBoxComponent(config: Partial<TimeBoxElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIME_BOX_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TimelineContentElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimelineContentComponent.\n * Use this token to provide default properties for the TimelineContentComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIMELINE_CONTENT_DEFAULT_PROPS = new InjectionToken<Partial<TimelineContentElement.Props>>('MOSAIK_TIMELINE_CONTENT_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for primary timeline content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timeline-content', TimelineContentElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timeline-content',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TimelineContentComponent {\n    // #region Fields\n\n    private readonly _element: TimelineContentElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIMELINE_CONTENT_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimelineContentElement['themeName'] | undefined> = input<TimelineContentElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimelineContentElement['dir'] | undefined> = input<TimelineContentElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimelineContentElement['lang'] | undefined> = input<TimelineContentElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimelineContentMethodNames>(method: TMethod, ...args: Parameters<TimelineContentComponentMethods[TMethod]>): ReturnType<TimelineContentComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimelineContentElement>(property: TProperty, value: TimelineContentElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimelineContentComponent.\n */\nexport type TimelineContentMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimelineContentComponent.\n */\nexport type TimelineContentComponentMethods = MethodMap<TimelineContentMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimelineContentComponent(config: Partial<TimelineContentElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIMELINE_CONTENT_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TimelineItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimelineItemComponent.\n * Use this token to provide default properties for the TimelineItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIMELINE_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<TimelineItemElement.Props>>('MOSAIK_TIMELINE_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot content - Required content slot for a `TimelineContentElement` representing the primary timeline information.\n * @slot marker - Optional marker slot. Accepts a `TimelineMarkerElement`. Defaults to an internally rendered marker when omitted.\n * @slot opposite - Optional slot for a `TimelineOppositeElement` positioned opposite the main content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timeline-item', TimelineItemElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timeline-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TimelineItemComponent {\n    // #region Fields\n\n    private readonly _element: TimelineItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIMELINE_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimelineItemElement['themeName'] | undefined> = input<TimelineItemElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimelineItemElement['dir'] | undefined> = input<TimelineItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimelineItemElement['lang'] | undefined> = input<TimelineItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimelineItemMethodNames>(method: TMethod, ...args: Parameters<TimelineItemComponentMethods[TMethod]>): ReturnType<TimelineItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimelineItemElement>(property: TProperty, value: TimelineItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimelineItemComponent.\n */\nexport type TimelineItemMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimelineItemComponent.\n */\nexport type TimelineItemComponentMethods = MethodMap<TimelineItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimelineItemComponent(config: Partial<TimelineItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIMELINE_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TimelineMarkerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimelineMarkerComponent.\n * Use this token to provide default properties for the TimelineMarkerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIMELINE_MARKER_DEFAULT_PROPS = new InjectionToken<Partial<TimelineMarkerElement.Props>>('MOSAIK_TIMELINE_MARKER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for custom marker content. Overrides the internal pip when provided.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timeline-marker', TimelineMarkerElement),\n    inputs: ['text', 'icon', 'iconSize', 'themeName', 'appearance', 'variant', 'size', 'isBusy', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timeline-marker',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TimelineMarkerComponent {\n    // #region Fields\n\n    private readonly _element: TimelineMarkerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIMELINE_MARKER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TimelineMarkerElement['text'] | undefined> = input<TimelineMarkerElement['text']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<TimelineMarkerElement['icon'] | undefined> = input<TimelineMarkerElement['icon']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<TimelineMarkerElement['iconSize'] | undefined> = input<TimelineMarkerElement['iconSize']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimelineMarkerElement['themeName'] | undefined> = input<TimelineMarkerElement['themeName']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<TimelineMarkerElement['appearance'] | undefined> = input<TimelineMarkerElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TimelineMarkerElement['variant'] | undefined> = input<TimelineMarkerElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<TimelineMarkerElement['size'] | undefined> = input<TimelineMarkerElement['size']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<TimelineMarkerElement['isBusy'] | undefined> = input<TimelineMarkerElement['isBusy']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TimelineMarkerElement['disabled'] | undefined> = input<TimelineMarkerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimelineMarkerElement['dir'] | undefined> = input<TimelineMarkerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimelineMarkerElement['lang'] | undefined> = input<TimelineMarkerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimelineMarkerMethodNames>(method: TMethod, ...args: Parameters<TimelineMarkerComponentMethods[TMethod]>): ReturnType<TimelineMarkerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimelineMarkerElement>(property: TProperty, value: TimelineMarkerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimelineMarkerComponent.\n */\nexport type TimelineMarkerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimelineMarkerComponent.\n */\nexport type TimelineMarkerComponentMethods = MethodMap<TimelineMarkerMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimelineMarkerComponent(config: Partial<TimelineMarkerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIMELINE_MARKER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TimelineOppositeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimelineOppositeComponent.\n * Use this token to provide default properties for the TimelineOppositeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIMELINE_OPPOSITE_DEFAULT_PROPS = new InjectionToken<Partial<TimelineOppositeElement.Props>>('MOSAIK_TIMELINE_OPPOSITE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for opposite content.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timeline-opposite', TimelineOppositeElement),\n    inputs: ['themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timeline-opposite',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TimelineOppositeComponent {\n    // #region Fields\n\n    private readonly _element: TimelineOppositeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIMELINE_OPPOSITE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimelineOppositeElement['themeName'] | undefined> = input<TimelineOppositeElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimelineOppositeElement['dir'] | undefined> = input<TimelineOppositeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimelineOppositeElement['lang'] | undefined> = input<TimelineOppositeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimelineOppositeMethodNames>(method: TMethod, ...args: Parameters<TimelineOppositeComponentMethods[TMethod]>): ReturnType<TimelineOppositeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimelineOppositeElement>(property: TProperty, value: TimelineOppositeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimelineOppositeComponent.\n */\nexport type TimelineOppositeMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimelineOppositeComponent.\n */\nexport type TimelineOppositeComponentMethods = MethodMap<TimelineOppositeMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimelineOppositeComponent(config: Partial<TimelineOppositeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIMELINE_OPPOSITE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TimelineElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TimelineComponent.\n * Use this token to provide default properties for the TimelineComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TIMELINE_DEFAULT_PROPS = new InjectionToken<Partial<TimelineElement.Props>>('MOSAIK_TIMELINE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default slot for `TimelineItemElement` children.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-timeline', TimelineElement),\n    inputs: ['align', 'themeName', 'orientation', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-timeline',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TimelineComponent {\n    // #region Fields\n\n    private readonly _element: TimelineElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TIMELINE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `align` property.\n     *\n     * @public\n     */\n    public readonly align: InputSignal<TimelineElement['align'] | undefined> = input<TimelineElement['align']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TimelineElement['themeName'] | undefined> = input<TimelineElement['themeName']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<TimelineElement['orientation'] | undefined> = input<TimelineElement['orientation']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TimelineElement['dir'] | undefined> = input<TimelineElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TimelineElement['lang'] | undefined> = input<TimelineElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const alignValue = this.align();\n                if (alignValue !== undefined) {\n                    (this._element as any).align = alignValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TimelineMethodNames>(method: TMethod, ...args: Parameters<TimelineComponentMethods[TMethod]>): ReturnType<TimelineComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TimelineElement>(property: TProperty, value: TimelineElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TimelineComponent.\n */\nexport type TimelineMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TimelineComponent.\n */\nexport type TimelineComponentMethods = MethodMap<TimelineMethodNames>;\n\n/**\n * @public\n */\nexport function provideTimelineComponent(config: Partial<TimelineElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TIMELINE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ToggleButtonGroupElement, IElementValueAccessor, toggleButtonGroupElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToggleButtonGroupComponent.\n * Use this token to provide default properties for the ToggleButtonGroupComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOGGLE_BUTTON_GROUP_DEFAULT_PROPS = new InjectionToken<Partial<ToggleButtonGroupElement.Props>>('MOSAIK_TOGGLE_BUTTON_GROUP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for toggle buttons.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toggle-button-group', ToggleButtonGroupElement),\n    inputs: ['toggleChanged', 'themeName', 'invalid', 'disabled', 'orientation', 'value', 'appearance', 'variant', 'dir', 'lang'],\n    methods: ['onSlotChanges', 'checkValidity', 'reset', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toggle-button-group',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ToggleButtonGroupComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ToggleButtonGroupComponent)\n        }\n    ]\n})\nexport class ToggleButtonGroupComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ToggleButtonGroupElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = toggleButtonGroupElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('groupChanged', (e) => this.groupChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOGGLE_BUTTON_GROUP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `toggleChanged` property.\n     *\n     * @public\n     */\n    public readonly toggleChanged: InputSignal<ToggleButtonGroupElement['toggleChanged'] | undefined> = input<ToggleButtonGroupElement['toggleChanged']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToggleButtonGroupElement['themeName'] | undefined> = input<ToggleButtonGroupElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ToggleButtonGroupElement['invalid'] | undefined> = input<ToggleButtonGroupElement['invalid']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ToggleButtonGroupElement['disabled'] | undefined> = input<ToggleButtonGroupElement['disabled']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ToggleButtonGroupElement['orientation'] | undefined> = input<ToggleButtonGroupElement['orientation']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ToggleButtonGroupElement['value'] | undefined> = input<ToggleButtonGroupElement['value']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ToggleButtonGroupElement['appearance'] | undefined> = input<ToggleButtonGroupElement['appearance']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ToggleButtonGroupElement['variant'] | undefined> = input<ToggleButtonGroupElement['variant']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToggleButtonGroupElement['dir'] | undefined> = input<ToggleButtonGroupElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToggleButtonGroupElement['lang'] | undefined> = input<ToggleButtonGroupElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const toggleChangedValue = this.toggleChanged();\n                if (toggleChangedValue !== undefined) {\n                    (this._element as any).toggleChanged = toggleChangedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `groupChanged` event.\n     *\n     * @public\n     */\n    public readonly groupChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToggleButtonGroupMethodNames>(method: TMethod, ...args: Parameters<ToggleButtonGroupComponentMethods[TMethod]>): ReturnType<ToggleButtonGroupComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToggleButtonGroupElement>(property: TProperty, value: ToggleButtonGroupElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToggleButtonGroupComponent.\n */\nexport type ToggleButtonGroupMethodNames = 'onSlotChanges' | 'checkValidity' | 'reset' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToggleButtonGroupComponent.\n */\nexport type ToggleButtonGroupComponentMethods = MethodMap<ToggleButtonGroupMethodNames>;\n\n/**\n * @public\n */\nexport function provideToggleButtonGroupComponent(config: Partial<ToggleButtonGroupElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOGGLE_BUTTON_GROUP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ToggleButtonElement, IElementValueAccessor, toggleButtonElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToggleButtonComponent.\n * Use this token to provide default properties for the ToggleButtonComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOGGLE_BUTTON_DEFAULT_PROPS = new InjectionToken<Partial<ToggleButtonElement.Props>>('MOSAIK_TOGGLE_BUTTON_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot icon - Icon content area for visual state representation and identification\n * @slot label - Text label content area for button identification and description\n * @slot overlay - Overlay content area for badges, notifications, or additional state indicators\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toggle-button', ToggleButtonElement),\n    inputs: ['themeName', 'reverse', 'orientation', 'horizontalContentAlignment', 'verticalContentAlignment', 'fit', 'isBusy', 'isChecked', 'label', 'icon', 'iconPosition', 'iconSize', 'type', 'ripple', 'variant', 'appearance', 'size', 'value', 'disabled', 'isFocused', 'dir', 'lang'],\n    methods: ['reset', 'check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toggle-button',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ToggleButtonComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ToggleButtonComponent)\n        }\n    ]\n})\nexport class ToggleButtonComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ToggleButtonElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = toggleButtonElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('toggled', (e) => this.toggled.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOGGLE_BUTTON_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToggleButtonElement['themeName'] | undefined> = input<ToggleButtonElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<ToggleButtonElement['reverse'] | undefined> = input<ToggleButtonElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<ToggleButtonElement['orientation'] | undefined> = input<ToggleButtonElement['orientation']>();\n\n    /**\n     * Signal input for the `horizontalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly horizontalContentAlignment: InputSignal<ToggleButtonElement['horizontalContentAlignment'] | undefined> = input<ToggleButtonElement['horizontalContentAlignment']>();\n\n    /**\n     * Signal input for the `verticalContentAlignment` property.\n     *\n     * @public\n     */\n    public readonly verticalContentAlignment: InputSignal<ToggleButtonElement['verticalContentAlignment'] | undefined> = input<ToggleButtonElement['verticalContentAlignment']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ToggleButtonElement['fit'] | undefined> = input<ToggleButtonElement['fit']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<ToggleButtonElement['isBusy'] | undefined> = input<ToggleButtonElement['isBusy']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ToggleButtonElement['isChecked'] | undefined> = input<ToggleButtonElement['isChecked']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ToggleButtonElement['label'] | undefined> = input<ToggleButtonElement['label']>();\n\n    /**\n     * Signal input for the `icon` property.\n     *\n     * @public\n     */\n    public readonly icon: InputSignal<ToggleButtonElement['icon'] | undefined> = input<ToggleButtonElement['icon']>();\n\n    /**\n     * Signal input for the `iconPosition` property.\n     *\n     * @public\n     */\n    public readonly iconPosition: InputSignal<ToggleButtonElement['iconPosition'] | undefined> = input<ToggleButtonElement['iconPosition']>();\n\n    /**\n     * Signal input for the `iconSize` property.\n     *\n     * @public\n     */\n    public readonly iconSize: InputSignal<ToggleButtonElement['iconSize'] | undefined> = input<ToggleButtonElement['iconSize']>();\n\n    /**\n     * Signal input for the `type` property.\n     *\n     * @public\n     */\n    public readonly type: InputSignal<ToggleButtonElement['type'] | undefined> = input<ToggleButtonElement['type']>();\n\n    /**\n     * Signal input for the `ripple` property.\n     *\n     * @public\n     */\n    public readonly ripple: InputSignal<ToggleButtonElement['ripple'] | undefined> = input<ToggleButtonElement['ripple']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ToggleButtonElement['variant'] | undefined> = input<ToggleButtonElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ToggleButtonElement['appearance'] | undefined> = input<ToggleButtonElement['appearance']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ToggleButtonElement['size'] | undefined> = input<ToggleButtonElement['size']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ToggleButtonElement['value'] | undefined> = input<ToggleButtonElement['value']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ToggleButtonElement['disabled'] | undefined> = input<ToggleButtonElement['disabled']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ToggleButtonElement['isFocused'] | undefined> = input<ToggleButtonElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToggleButtonElement['dir'] | undefined> = input<ToggleButtonElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToggleButtonElement['lang'] | undefined> = input<ToggleButtonElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const horizontalContentAlignmentValue = this.horizontalContentAlignment();\n                if (horizontalContentAlignmentValue !== undefined) {\n                    (this._element as any).horizontalContentAlignment = horizontalContentAlignmentValue;\n                }\n\n                const verticalContentAlignmentValue = this.verticalContentAlignment();\n                if (verticalContentAlignmentValue !== undefined) {\n                    (this._element as any).verticalContentAlignment = verticalContentAlignmentValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const iconValue = this.icon();\n                if (iconValue !== undefined) {\n                    (this._element as any).icon = iconValue;\n                }\n\n                const iconPositionValue = this.iconPosition();\n                if (iconPositionValue !== undefined) {\n                    (this._element as any).iconPosition = iconPositionValue;\n                }\n\n                const iconSizeValue = this.iconSize();\n                if (iconSizeValue !== undefined) {\n                    (this._element as any).iconSize = iconSizeValue;\n                }\n\n                const typeValue = this.type();\n                if (typeValue !== undefined) {\n                    (this._element as any).type = typeValue;\n                }\n\n                const rippleValue = this.ripple();\n                if (rippleValue !== undefined) {\n                    (this._element as any).ripple = rippleValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `toggled` event.\n     *\n     * @public\n     */\n    public readonly toggled: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToggleButtonMethodNames>(method: TMethod, ...args: Parameters<ToggleButtonComponentMethods[TMethod]>): ReturnType<ToggleButtonComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToggleButtonElement>(property: TProperty, value: ToggleButtonElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToggleButtonComponent.\n */\nexport type ToggleButtonMethodNames = 'reset' | 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToggleButtonComponent.\n */\nexport type ToggleButtonComponentMethods = MethodMap<ToggleButtonMethodNames>;\n\n/**\n * @public\n */\nexport function provideToggleButtonComponent(config: Partial<ToggleButtonElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOGGLE_BUTTON_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ToggleSwitchElement, IElementValueAccessor, toggleSwitchElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToggleSwitchComponent.\n * Use this token to provide default properties for the ToggleSwitchComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOGGLE_SWITCH_DEFAULT_PROPS = new InjectionToken<Partial<ToggleSwitchElement.Props>>('MOSAIK_TOGGLE_SWITCH_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot checkmark - Custom checkmark/switch indicator content.\n * @slot label - Custom label content.\n * @slot prefix - Content placed before the switch control.\n * @slot suffix - Content placed after the switch control.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toggle-switch', ToggleSwitchElement),\n    inputs: ['labelPosition', 'required', 'name', 'themeName', 'invalid', 'value', 'variant', 'appearance', 'disabled', 'label', 'formatter', 'isChecked', 'isThreeState', 'isFocused', 'dir', 'lang'],\n    methods: ['checkValidity', 'reset', 'check', 'uncheck', 'toggle', 'hasVisibleFocusInTree', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toggle-switch',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ToggleSwitchComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => ToggleSwitchComponent)\n        }\n    ]\n})\nexport class ToggleSwitchComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: ToggleSwitchElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = toggleSwitchElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('checked', (e) => this.checked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('unchecked', (e) => this.unchecked.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('indeterminate', (e) => this.indeterminate.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOGGLE_SWITCH_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `labelPosition` property.\n     *\n     * @public\n     */\n    public readonly labelPosition: InputSignal<ToggleSwitchElement['labelPosition'] | undefined> = input<ToggleSwitchElement['labelPosition']>();\n\n    /**\n     * Signal input for the `required` property.\n     *\n     * @public\n     */\n    public readonly required: InputSignal<ToggleSwitchElement['required'] | undefined> = input<ToggleSwitchElement['required']>();\n\n    /**\n     * Signal input for the `name` property.\n     *\n     * @public\n     */\n    public readonly name: InputSignal<ToggleSwitchElement['name'] | undefined> = input<ToggleSwitchElement['name']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToggleSwitchElement['themeName'] | undefined> = input<ToggleSwitchElement['themeName']>();\n\n    /**\n     * Signal input for the `invalid` property.\n     *\n     * @public\n     */\n    public readonly invalid: InputSignal<ToggleSwitchElement['invalid'] | undefined> = input<ToggleSwitchElement['invalid']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<ToggleSwitchElement['value'] | undefined> = input<ToggleSwitchElement['value']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ToggleSwitchElement['variant'] | undefined> = input<ToggleSwitchElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ToggleSwitchElement['appearance'] | undefined> = input<ToggleSwitchElement['appearance']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ToggleSwitchElement['disabled'] | undefined> = input<ToggleSwitchElement['disabled']>();\n\n    /**\n     * Signal input for the `label` property.\n     *\n     * @public\n     */\n    public readonly label: InputSignal<ToggleSwitchElement['label'] | undefined> = input<ToggleSwitchElement['label']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ToggleSwitchElement['formatter'] | undefined> = input<ToggleSwitchElement['formatter']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<ToggleSwitchElement['isChecked'] | undefined> = input<ToggleSwitchElement['isChecked']>();\n\n    /**\n     * Signal input for the `isThreeState` property.\n     *\n     * @public\n     */\n    public readonly isThreeState: InputSignal<ToggleSwitchElement['isThreeState'] | undefined> = input<ToggleSwitchElement['isThreeState']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<ToggleSwitchElement['isFocused'] | undefined> = input<ToggleSwitchElement['isFocused']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToggleSwitchElement['dir'] | undefined> = input<ToggleSwitchElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToggleSwitchElement['lang'] | undefined> = input<ToggleSwitchElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const labelPositionValue = this.labelPosition();\n                if (labelPositionValue !== undefined) {\n                    (this._element as any).labelPosition = labelPositionValue;\n                }\n\n                const requiredValue = this.required();\n                if (requiredValue !== undefined) {\n                    (this._element as any).required = requiredValue;\n                }\n\n                const nameValue = this.name();\n                if (nameValue !== undefined) {\n                    (this._element as any).name = nameValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const invalidValue = this.invalid();\n                if (invalidValue !== undefined) {\n                    (this._element as any).invalid = invalidValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const labelValue = this.label();\n                if (labelValue !== undefined) {\n                    (this._element as any).label = labelValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const isThreeStateValue = this.isThreeState();\n                if (isThreeStateValue !== undefined) {\n                    (this._element as any).isThreeState = isThreeStateValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `checked` event.\n     *\n     * @public\n     */\n    public readonly checked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `unchecked` event.\n     *\n     * @public\n     */\n    public readonly unchecked: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `indeterminate` event.\n     *\n     * @public\n     */\n    public readonly indeterminate: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToggleSwitchMethodNames>(method: TMethod, ...args: Parameters<ToggleSwitchComponentMethods[TMethod]>): ReturnType<ToggleSwitchComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToggleSwitchElement>(property: TProperty, value: ToggleSwitchElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToggleSwitchComponent.\n */\nexport type ToggleSwitchMethodNames = 'checkValidity' | 'reset' | 'check' | 'uncheck' | 'toggle' | 'hasVisibleFocusInTree' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToggleSwitchComponent.\n */\nexport type ToggleSwitchComponentMethods = MethodMap<ToggleSwitchMethodNames>;\n\n/**\n * @public\n */\nexport function provideToggleSwitchComponent(config: Partial<ToggleSwitchElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOGGLE_SWITCH_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ToggleTipElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToggleTipComponent.\n * Use this token to provide default properties for the ToggleTipComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOGGLE_TIP_DEFAULT_PROPS = new InjectionToken<Partial<ToggleTipElement.Props>>('MOSAIK_TOGGLE_TIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toggletip', ToggleTipElement),\n    inputs: ['content', 'placement', 'horizontalOffset', 'verticalOffset', 'isOpen', 'showDelay', 'hideDelay', 'trigger', 'staysOpen', 'themeName', 'disabled', 'size', 'formatter', 'width', 'height', 'dir', 'lang'],\n    methods: ['open', 'close', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toggletip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ToggleTipComponent {\n    // #region Fields\n\n    private readonly _element: ToggleTipElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOGGLE_TIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<ToggleTipElement['content'] | undefined> = input<ToggleTipElement['content']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<ToggleTipElement['placement'] | undefined> = input<ToggleTipElement['placement']>();\n\n    /**\n     * Signal input for the `horizontalOffset` property.\n     *\n     * @public\n     */\n    public readonly horizontalOffset: InputSignal<ToggleTipElement['horizontalOffset'] | undefined> = input<ToggleTipElement['horizontalOffset']>();\n\n    /**\n     * Signal input for the `verticalOffset` property.\n     *\n     * @public\n     */\n    public readonly verticalOffset: InputSignal<ToggleTipElement['verticalOffset'] | undefined> = input<ToggleTipElement['verticalOffset']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<ToggleTipElement['isOpen'] | undefined> = input<ToggleTipElement['isOpen']>();\n\n    /**\n     * Signal input for the `showDelay` property.\n     *\n     * @public\n     */\n    public readonly showDelay: InputSignal<ToggleTipElement['showDelay'] | undefined> = input<ToggleTipElement['showDelay']>();\n\n    /**\n     * Signal input for the `hideDelay` property.\n     *\n     * @public\n     */\n    public readonly hideDelay: InputSignal<ToggleTipElement['hideDelay'] | undefined> = input<ToggleTipElement['hideDelay']>();\n\n    /**\n     * Signal input for the `trigger` property.\n     *\n     * @public\n     */\n    public readonly trigger: InputSignal<ToggleTipElement['trigger'] | undefined> = input<ToggleTipElement['trigger']>();\n\n    /**\n     * Signal input for the `staysOpen` property.\n     *\n     * @public\n     */\n    public readonly staysOpen: InputSignal<ToggleTipElement['staysOpen'] | undefined> = input<ToggleTipElement['staysOpen']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToggleTipElement['themeName'] | undefined> = input<ToggleTipElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<ToggleTipElement['disabled'] | undefined> = input<ToggleTipElement['disabled']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<ToggleTipElement['size'] | undefined> = input<ToggleTipElement['size']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ToggleTipElement['formatter'] | undefined> = input<ToggleTipElement['formatter']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<ToggleTipElement['width'] | undefined> = input<ToggleTipElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<ToggleTipElement['height'] | undefined> = input<ToggleTipElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToggleTipElement['dir'] | undefined> = input<ToggleTipElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToggleTipElement['lang'] | undefined> = input<ToggleTipElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const horizontalOffsetValue = this.horizontalOffset();\n                if (horizontalOffsetValue !== undefined) {\n                    (this._element as any).horizontalOffset = horizontalOffsetValue;\n                }\n\n                const verticalOffsetValue = this.verticalOffset();\n                if (verticalOffsetValue !== undefined) {\n                    (this._element as any).verticalOffset = verticalOffsetValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const showDelayValue = this.showDelay();\n                if (showDelayValue !== undefined) {\n                    (this._element as any).showDelay = showDelayValue;\n                }\n\n                const hideDelayValue = this.hideDelay();\n                if (hideDelayValue !== undefined) {\n                    (this._element as any).hideDelay = hideDelayValue;\n                }\n\n                const triggerValue = this.trigger();\n                if (triggerValue !== undefined) {\n                    (this._element as any).trigger = triggerValue;\n                }\n\n                const staysOpenValue = this.staysOpen();\n                if (staysOpenValue !== undefined) {\n                    (this._element as any).staysOpen = staysOpenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToggleTipMethodNames>(method: TMethod, ...args: Parameters<ToggleTipComponentMethods[TMethod]>): ReturnType<ToggleTipComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToggleTipElement>(property: TProperty, value: ToggleTipElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToggleTipComponent.\n */\nexport type ToggleTipMethodNames = 'open' | 'close' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToggleTipComponent.\n */\nexport type ToggleTipComponentMethods = MethodMap<ToggleTipMethodNames>;\n\n/**\n * @public\n */\nexport function provideToggleTipComponent(config: Partial<ToggleTipElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOGGLE_TIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { ToolbarElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the ToolbarComponent.\n * Use this token to provide default properties for the ToolbarComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOOLBAR_DEFAULT_PROPS = new InjectionToken<Partial<ToolbarElement.Props>>('MOSAIK_TOOLBAR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content slot for main toolbar controls and elements\n * @slot end - Trailing content area for secondary actions, user menus, or controls\n * @slot start - Leading content area for navigation buttons or primary actions\n * @slot subTitle - Secondary title or subtitle text for additional context\n * @slot title - Primary toolbar title or heading text\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-toolbar', ToolbarElement),\n    inputs: ['title', 'subTitle', 'themeName', 'variant', 'appearance', 'fit', 'formatter', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-toolbar',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class ToolbarComponent {\n    // #region Fields\n\n    private readonly _element: ToolbarElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOOLBAR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `title` property.\n     *\n     * @public\n     */\n    public readonly title: InputSignal<ToolbarElement['title'] | undefined> = input<ToolbarElement['title']>();\n\n    /**\n     * Signal input for the `subTitle` property.\n     *\n     * @public\n     */\n    public readonly subTitle: InputSignal<ToolbarElement['subTitle'] | undefined> = input<ToolbarElement['subTitle']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<ToolbarElement['themeName'] | undefined> = input<ToolbarElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<ToolbarElement['variant'] | undefined> = input<ToolbarElement['variant']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<ToolbarElement['appearance'] | undefined> = input<ToolbarElement['appearance']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<ToolbarElement['fit'] | undefined> = input<ToolbarElement['fit']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<ToolbarElement['formatter'] | undefined> = input<ToolbarElement['formatter']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<ToolbarElement['dir'] | undefined> = input<ToolbarElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<ToolbarElement['lang'] | undefined> = input<ToolbarElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const titleValue = this.title();\n                if (titleValue !== undefined) {\n                    (this._element as any).title = titleValue;\n                }\n\n                const subTitleValue = this.subTitle();\n                if (subTitleValue !== undefined) {\n                    (this._element as any).subTitle = subTitleValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends ToolbarMethodNames>(method: TMethod, ...args: Parameters<ToolbarComponentMethods[TMethod]>): ReturnType<ToolbarComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof ToolbarElement>(property: TProperty, value: ToolbarElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on ToolbarComponent.\n */\nexport type ToolbarMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for ToolbarComponent.\n */\nexport type ToolbarComponentMethods = MethodMap<ToolbarMethodNames>;\n\n/**\n * @public\n */\nexport function provideToolbarComponent(config: Partial<ToolbarElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOOLBAR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TooltipElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TooltipComponent.\n * Use this token to provide default properties for the TooltipComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOOLTIP_DEFAULT_PROPS = new InjectionToken<Partial<TooltipElement.Props>>('MOSAIK_TOOLTIP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The trigger element that activates the tooltip\n * @slot content - The tooltip content (text, elements, or formatted content)\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tooltip', TooltipElement),\n    inputs: ['hasSlottedContent', 'formattedContent', 'anchorElement', 'isFloatingActive', 'content', 'placement', 'horizontalOffset', 'verticalOffset', 'isOpen', 'showDelay', 'hideDelay', 'trigger', 'staysOpen', 'themeName', 'animationTarget', 'enter', 'exit', 'for', 'control', 'disabled', 'formatter', 'closeable', 'width', 'height', 'dir', 'lang'],\n    methods: ['open', 'close', 'attach', 'play', 'onEnterAnimation', 'onExitAnimation', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'detach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tooltip',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TooltipComponent {\n    // #region Fields\n\n    private readonly _element: TooltipElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOOLTIP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasSlottedContent` property.\n     *\n     * @public\n     */\n    public readonly hasSlottedContent: InputSignal<TooltipElement['hasSlottedContent'] | undefined> = input<TooltipElement['hasSlottedContent']>();\n\n    /**\n     * Signal input for the `formattedContent` property.\n     *\n     * @public\n     */\n    public readonly formattedContent: InputSignal<TooltipElement['formattedContent'] | undefined> = input<TooltipElement['formattedContent']>();\n\n    /**\n     * Signal input for the `anchorElement` property.\n     *\n     * @public\n     */\n    public readonly anchorElement: InputSignal<TooltipElement['anchorElement'] | undefined> = input<TooltipElement['anchorElement']>();\n\n    /**\n     * Signal input for the `isFloatingActive` property.\n     *\n     * @public\n     */\n    public readonly isFloatingActive: InputSignal<TooltipElement['isFloatingActive'] | undefined> = input<TooltipElement['isFloatingActive']>();\n\n    /**\n     * Signal input for the `content` property.\n     *\n     * @public\n     */\n    public readonly content: InputSignal<TooltipElement['content'] | undefined> = input<TooltipElement['content']>();\n\n    /**\n     * Signal input for the `placement` property.\n     *\n     * @public\n     */\n    public readonly placement: InputSignal<TooltipElement['placement'] | undefined> = input<TooltipElement['placement']>();\n\n    /**\n     * Signal input for the `horizontalOffset` property.\n     *\n     * @public\n     */\n    public readonly horizontalOffset: InputSignal<TooltipElement['horizontalOffset'] | undefined> = input<TooltipElement['horizontalOffset']>();\n\n    /**\n     * Signal input for the `verticalOffset` property.\n     *\n     * @public\n     */\n    public readonly verticalOffset: InputSignal<TooltipElement['verticalOffset'] | undefined> = input<TooltipElement['verticalOffset']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<TooltipElement['isOpen'] | undefined> = input<TooltipElement['isOpen']>();\n\n    /**\n     * Signal input for the `showDelay` property.\n     *\n     * @public\n     */\n    public readonly showDelay: InputSignal<TooltipElement['showDelay'] | undefined> = input<TooltipElement['showDelay']>();\n\n    /**\n     * Signal input for the `hideDelay` property.\n     *\n     * @public\n     */\n    public readonly hideDelay: InputSignal<TooltipElement['hideDelay'] | undefined> = input<TooltipElement['hideDelay']>();\n\n    /**\n     * Signal input for the `trigger` property.\n     *\n     * @public\n     */\n    public readonly trigger: InputSignal<TooltipElement['trigger'] | undefined> = input<TooltipElement['trigger']>();\n\n    /**\n     * Signal input for the `staysOpen` property.\n     *\n     * @public\n     */\n    public readonly staysOpen: InputSignal<TooltipElement['staysOpen'] | undefined> = input<TooltipElement['staysOpen']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TooltipElement['themeName'] | undefined> = input<TooltipElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<TooltipElement['animationTarget'] | undefined> = input<TooltipElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<TooltipElement['enter'] | undefined> = input<TooltipElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<TooltipElement['exit'] | undefined> = input<TooltipElement['exit']>();\n\n    /**\n     * Signal input for the `for` property.\n     *\n     * @public\n     */\n    public readonly for: InputSignal<TooltipElement['for'] | undefined> = input<TooltipElement['for']>();\n\n    /**\n     * Signal input for the `control` property.\n     *\n     * @public\n     */\n    public readonly control: InputSignal<TooltipElement['control'] | undefined> = input<TooltipElement['control']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TooltipElement['disabled'] | undefined> = input<TooltipElement['disabled']>();\n\n    /**\n     * Signal input for the `formatter` property.\n     *\n     * @public\n     */\n    public readonly formatter: InputSignal<TooltipElement['formatter'] | undefined> = input<TooltipElement['formatter']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<TooltipElement['closeable'] | undefined> = input<TooltipElement['closeable']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<TooltipElement['width'] | undefined> = input<TooltipElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<TooltipElement['height'] | undefined> = input<TooltipElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TooltipElement['dir'] | undefined> = input<TooltipElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TooltipElement['lang'] | undefined> = input<TooltipElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasSlottedContentValue = this.hasSlottedContent();\n                if (hasSlottedContentValue !== undefined) {\n                    (this._element as any).hasSlottedContent = hasSlottedContentValue;\n                }\n\n                const formattedContentValue = this.formattedContent();\n                if (formattedContentValue !== undefined) {\n                    (this._element as any).formattedContent = formattedContentValue;\n                }\n\n                const anchorElementValue = this.anchorElement();\n                if (anchorElementValue !== undefined) {\n                    (this._element as any).anchorElement = anchorElementValue;\n                }\n\n                const isFloatingActiveValue = this.isFloatingActive();\n                if (isFloatingActiveValue !== undefined) {\n                    (this._element as any).isFloatingActive = isFloatingActiveValue;\n                }\n\n                const contentValue = this.content();\n                if (contentValue !== undefined) {\n                    (this._element as any).content = contentValue;\n                }\n\n                const placementValue = this.placement();\n                if (placementValue !== undefined) {\n                    (this._element as any).placement = placementValue;\n                }\n\n                const horizontalOffsetValue = this.horizontalOffset();\n                if (horizontalOffsetValue !== undefined) {\n                    (this._element as any).horizontalOffset = horizontalOffsetValue;\n                }\n\n                const verticalOffsetValue = this.verticalOffset();\n                if (verticalOffsetValue !== undefined) {\n                    (this._element as any).verticalOffset = verticalOffsetValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const showDelayValue = this.showDelay();\n                if (showDelayValue !== undefined) {\n                    (this._element as any).showDelay = showDelayValue;\n                }\n\n                const hideDelayValue = this.hideDelay();\n                if (hideDelayValue !== undefined) {\n                    (this._element as any).hideDelay = hideDelayValue;\n                }\n\n                const triggerValue = this.trigger();\n                if (triggerValue !== undefined) {\n                    (this._element as any).trigger = triggerValue;\n                }\n\n                const staysOpenValue = this.staysOpen();\n                if (staysOpenValue !== undefined) {\n                    (this._element as any).staysOpen = staysOpenValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const forValue = this.for();\n                if (forValue !== undefined) {\n                    (this._element as any).for = forValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const formatterValue = this.formatter();\n                if (formatterValue !== undefined) {\n                    (this._element as any).formatter = formatterValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TooltipMethodNames>(method: TMethod, ...args: Parameters<TooltipComponentMethods[TMethod]>): ReturnType<TooltipComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TooltipElement>(property: TProperty, value: TooltipElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TooltipComponent.\n */\nexport type TooltipMethodNames = 'open' | 'close' | 'attach' | 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'detach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TooltipComponent.\n */\nexport type TooltipComponentMethods = MethodMap<TooltipMethodNames>;\n\n/**\n * @public\n */\nexport function provideTooltipComponent(config: Partial<TooltipElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOOLTIP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TourAnchorElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TourAnchorComponent.\n * Use this token to provide default properties for the TourAnchorComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOUR_ANCHOR_DEFAULT_PROPS = new InjectionToken<Partial<TourAnchorElement.Props>>('MOSAIK_TOUR_ANCHOR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Content that should be associated with the anchor.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tour-anchor', TourAnchorElement),\n    inputs: ['tourId', 'anchorId', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tour-anchor',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TourAnchorComponent {\n    // #region Fields\n\n    private readonly _element: TourAnchorElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOUR_ANCHOR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `tourId` property.\n     *\n     * @public\n     */\n    public readonly tourId: InputSignal<TourAnchorElement['tourId'] | undefined> = input<TourAnchorElement['tourId']>();\n\n    /**\n     * Signal input for the `anchorId` property.\n     *\n     * @public\n     */\n    public readonly anchorId: InputSignal<TourAnchorElement['anchorId'] | undefined> = input<TourAnchorElement['anchorId']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TourAnchorElement['themeName'] | undefined> = input<TourAnchorElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TourAnchorElement['dir'] | undefined> = input<TourAnchorElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TourAnchorElement['lang'] | undefined> = input<TourAnchorElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const tourIdValue = this.tourId();\n                if (tourIdValue !== undefined) {\n                    (this._element as any).tourId = tourIdValue;\n                }\n\n                const anchorIdValue = this.anchorId();\n                if (anchorIdValue !== undefined) {\n                    (this._element as any).anchorId = anchorIdValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TourAnchorMethodNames>(method: TMethod, ...args: Parameters<TourAnchorComponentMethods[TMethod]>): ReturnType<TourAnchorComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TourAnchorElement>(property: TProperty, value: TourAnchorElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TourAnchorComponent.\n */\nexport type TourAnchorMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TourAnchorComponent.\n */\nexport type TourAnchorComponentMethods = MethodMap<TourAnchorMethodNames>;\n\n/**\n * @public\n */\nexport function provideTourAnchorComponent(config: Partial<TourAnchorElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOUR_ANCHOR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TourStepElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TourStepComponent.\n * Use this token to provide default properties for the TourStepComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOUR_STEP_DEFAULT_PROPS = new InjectionToken<Partial<TourStepElement.Props>>('MOSAIK_TOUR_STEP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tour-step', TourStepElement),\n    inputs: ['resolvedLabels', 'previous', 'next', 'finish', 'skip', 'step', 'isFirstStep', 'isLastStep', 'themeName', 'dir', 'lang'],\n    methods: ['onPreviousClicked', 'onNextClicked', 'onFinishClicked', 'onSkipClicked', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tour-step',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TourStepComponent {\n    // #region Fields\n\n    private readonly _element: TourStepElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOUR_STEP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `resolvedLabels` property.\n     *\n     * @public\n     */\n    public readonly resolvedLabels: InputSignal<TourStepElement['resolvedLabels'] | undefined> = input<TourStepElement['resolvedLabels']>();\n\n    /**\n     * Signal input for the `previous` property.\n     *\n     * @public\n     */\n    public readonly previous: InputSignal<TourStepElement['previous'] | undefined> = input<TourStepElement['previous']>();\n\n    /**\n     * Signal input for the `next` property.\n     *\n     * @public\n     */\n    public readonly next: InputSignal<TourStepElement['next'] | undefined> = input<TourStepElement['next']>();\n\n    /**\n     * Signal input for the `finish` property.\n     *\n     * @public\n     */\n    public readonly finish: InputSignal<TourStepElement['finish'] | undefined> = input<TourStepElement['finish']>();\n\n    /**\n     * Signal input for the `skip` property.\n     *\n     * @public\n     */\n    public readonly skip: InputSignal<TourStepElement['skip'] | undefined> = input<TourStepElement['skip']>();\n\n    /**\n     * Signal input for the `step` property.\n     *\n     * @public\n     */\n    public readonly step: InputSignal<TourStepElement['step'] | undefined> = input<TourStepElement['step']>();\n\n    /**\n     * Signal input for the `isFirstStep` property.\n     *\n     * @public\n     */\n    public readonly isFirstStep: InputSignal<TourStepElement['isFirstStep'] | undefined> = input<TourStepElement['isFirstStep']>();\n\n    /**\n     * Signal input for the `isLastStep` property.\n     *\n     * @public\n     */\n    public readonly isLastStep: InputSignal<TourStepElement['isLastStep'] | undefined> = input<TourStepElement['isLastStep']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TourStepElement['themeName'] | undefined> = input<TourStepElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TourStepElement['dir'] | undefined> = input<TourStepElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TourStepElement['lang'] | undefined> = input<TourStepElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const resolvedLabelsValue = this.resolvedLabels();\n                if (resolvedLabelsValue !== undefined) {\n                    (this._element as any).resolvedLabels = resolvedLabelsValue;\n                }\n\n                const previousValue = this.previous();\n                if (previousValue !== undefined) {\n                    (this._element as any).previous = previousValue;\n                }\n\n                const nextValue = this.next();\n                if (nextValue !== undefined) {\n                    (this._element as any).next = nextValue;\n                }\n\n                const finishValue = this.finish();\n                if (finishValue !== undefined) {\n                    (this._element as any).finish = finishValue;\n                }\n\n                const skipValue = this.skip();\n                if (skipValue !== undefined) {\n                    (this._element as any).skip = skipValue;\n                }\n\n                const stepValue = this.step();\n                if (stepValue !== undefined) {\n                    (this._element as any).step = stepValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TourStepMethodNames>(method: TMethod, ...args: Parameters<TourStepComponentMethods[TMethod]>): ReturnType<TourStepComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TourStepElement>(property: TProperty, value: TourStepElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TourStepComponent.\n */\nexport type TourStepMethodNames = 'onPreviousClicked' | 'onNextClicked' | 'onFinishClicked' | 'onSkipClicked' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TourStepComponent.\n */\nexport type TourStepComponentMethods = MethodMap<TourStepMethodNames>;\n\n/**\n * @public\n */\nexport function provideTourStepComponent(config: Partial<TourStepElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOUR_STEP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TourElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TourComponent.\n * Use this token to provide default properties for the TourComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TOUR_DEFAULT_PROPS = new InjectionToken<Partial<TourElement.Props>>('MOSAIK_TOUR_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tour', TourElement),\n    inputs: ['currentStep', 'isFirstStep', 'isLastStep', 'tooltipStyles', 'started', 'ended', 'stepChanged', 'tourId', 'steps', 'themeName', 'isOpen', 'hasBackdrop', 'pressEscapeToClose', 'clickOutsideToClose', 'closeable', 'dir', 'lang'],\n    methods: ['start', 'next', 'previous', 'finish', 'skip', 'showStep', 'onBackdropClicked', 'open', 'close', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tour',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TourComponent {\n    // #region Fields\n\n    private readonly _element: TourElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('opened', (e) => this.opened.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('closed', (e) => this.closed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TOUR_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `currentStep` property.\n     *\n     * @public\n     */\n    public readonly currentStep: InputSignal<TourElement['currentStep'] | undefined> = input<TourElement['currentStep']>();\n\n    /**\n     * Signal input for the `isFirstStep` property.\n     *\n     * @public\n     */\n    public readonly isFirstStep: InputSignal<TourElement['isFirstStep'] | undefined> = input<TourElement['isFirstStep']>();\n\n    /**\n     * Signal input for the `isLastStep` property.\n     *\n     * @public\n     */\n    public readonly isLastStep: InputSignal<TourElement['isLastStep'] | undefined> = input<TourElement['isLastStep']>();\n\n    /**\n     * Signal input for the `tooltipStyles` property.\n     *\n     * @public\n     */\n    public readonly tooltipStyles: InputSignal<TourElement['tooltipStyles'] | undefined> = input<TourElement['tooltipStyles']>();\n\n    /**\n     * Signal input for the `started` property.\n     *\n     * @public\n     */\n    public readonly started: InputSignal<TourElement['started'] | undefined> = input<TourElement['started']>();\n\n    /**\n     * Signal input for the `ended` property.\n     *\n     * @public\n     */\n    public readonly ended: InputSignal<TourElement['ended'] | undefined> = input<TourElement['ended']>();\n\n    /**\n     * Signal input for the `stepChanged` property.\n     *\n     * @public\n     */\n    public readonly stepChanged: InputSignal<TourElement['stepChanged'] | undefined> = input<TourElement['stepChanged']>();\n\n    /**\n     * Signal input for the `tourId` property.\n     *\n     * @public\n     */\n    public readonly tourId: InputSignal<TourElement['tourId'] | undefined> = input<TourElement['tourId']>();\n\n    /**\n     * Signal input for the `steps` property.\n     *\n     * @public\n     */\n    public readonly steps: InputSignal<TourElement['steps'] | undefined> = input<TourElement['steps']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TourElement['themeName'] | undefined> = input<TourElement['themeName']>();\n\n    /**\n     * Signal input for the `isOpen` property.\n     *\n     * @public\n     */\n    public readonly isOpen: InputSignal<TourElement['isOpen'] | undefined> = input<TourElement['isOpen']>();\n\n    /**\n     * Signal input for the `hasBackdrop` property.\n     *\n     * @public\n     */\n    public readonly hasBackdrop: InputSignal<TourElement['hasBackdrop'] | undefined> = input<TourElement['hasBackdrop']>();\n\n    /**\n     * Signal input for the `pressEscapeToClose` property.\n     *\n     * @public\n     */\n    public readonly pressEscapeToClose: InputSignal<TourElement['pressEscapeToClose'] | undefined> = input<TourElement['pressEscapeToClose']>();\n\n    /**\n     * Signal input for the `clickOutsideToClose` property.\n     *\n     * @public\n     */\n    public readonly clickOutsideToClose: InputSignal<TourElement['clickOutsideToClose'] | undefined> = input<TourElement['clickOutsideToClose']>();\n\n    /**\n     * Signal input for the `closeable` property.\n     *\n     * @public\n     */\n    public readonly closeable: InputSignal<TourElement['closeable'] | undefined> = input<TourElement['closeable']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TourElement['dir'] | undefined> = input<TourElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TourElement['lang'] | undefined> = input<TourElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const currentStepValue = this.currentStep();\n                if (currentStepValue !== undefined) {\n                    (this._element as any).currentStep = currentStepValue;\n                }\n\n                const tooltipStylesValue = this.tooltipStyles();\n                if (tooltipStylesValue !== undefined) {\n                    (this._element as any).tooltipStyles = tooltipStylesValue;\n                }\n\n                const startedValue = this.started();\n                if (startedValue !== undefined) {\n                    (this._element as any).started = startedValue;\n                }\n\n                const endedValue = this.ended();\n                if (endedValue !== undefined) {\n                    (this._element as any).ended = endedValue;\n                }\n\n                const stepChangedValue = this.stepChanged();\n                if (stepChangedValue !== undefined) {\n                    (this._element as any).stepChanged = stepChangedValue;\n                }\n\n                const tourIdValue = this.tourId();\n                if (tourIdValue !== undefined) {\n                    (this._element as any).tourId = tourIdValue;\n                }\n\n                const stepsValue = this.steps();\n                if (stepsValue !== undefined) {\n                    (this._element as any).steps = stepsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const isOpenValue = this.isOpen();\n                if (isOpenValue !== undefined) {\n                    (this._element as any).isOpen = isOpenValue;\n                }\n\n                const hasBackdropValue = this.hasBackdrop();\n                if (hasBackdropValue !== undefined) {\n                    (this._element as any).hasBackdrop = hasBackdropValue;\n                }\n\n                const pressEscapeToCloseValue = this.pressEscapeToClose();\n                if (pressEscapeToCloseValue !== undefined) {\n                    (this._element as any).pressEscapeToClose = pressEscapeToCloseValue;\n                }\n\n                const clickOutsideToCloseValue = this.clickOutsideToClose();\n                if (clickOutsideToCloseValue !== undefined) {\n                    (this._element as any).clickOutsideToClose = clickOutsideToCloseValue;\n                }\n\n                const closeableValue = this.closeable();\n                if (closeableValue !== undefined) {\n                    (this._element as any).closeable = closeableValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `opened` event.\n     *\n     * @public\n     */\n    public readonly opened: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `closed` event.\n     *\n     * @public\n     */\n    public readonly closed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TourMethodNames>(method: TMethod, ...args: Parameters<TourComponentMethods[TMethod]>): ReturnType<TourComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TourElement>(property: TProperty, value: TourElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TourComponent.\n */\nexport type TourMethodNames = 'start' | 'next' | 'previous' | 'finish' | 'skip' | 'showStep' | 'onBackdropClicked' | 'open' | 'close' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TourComponent.\n */\nexport type TourComponentMethods = MethodMap<TourMethodNames>;\n\n/**\n * @public\n */\nexport function provideTourComponent(config: Partial<TourElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TOUR_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { TreeItemElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TreeItemComponent.\n * Use this token to provide default properties for the TreeItemComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TREE_ITEM_DEFAULT_PROPS = new InjectionToken<Partial<TreeItemElement.Props>>('MOSAIK_TREE_ITEM_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n * @slot text - The text slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tree-item', TreeItemElement),\n    inputs: ['hasChildren', 'items', 'text', 'isExpanded', 'isChecked', 'themeName', 'disabled', 'variant', 'isFocused', 'isBusy', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['expand', 'collapse', 'toggle', 'onSlotChanges', 'assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'hasVisibleFocusInTree', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tree-item',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class TreeItemComponent {\n    // #region Fields\n\n    private readonly _element: TreeItemElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TREE_ITEM_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasChildren` property.\n     *\n     * @public\n     */\n    public readonly hasChildren: InputSignal<TreeItemElement['hasChildren'] | undefined> = input<TreeItemElement['hasChildren']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<TreeItemElement['items'] | undefined> = input<TreeItemElement['items']>();\n\n    /**\n     * Signal input for the `text` property.\n     *\n     * @public\n     */\n    public readonly text: InputSignal<TreeItemElement['text'] | undefined> = input<TreeItemElement['text']>();\n\n    /**\n     * Signal input for the `isExpanded` property.\n     *\n     * @public\n     */\n    public readonly isExpanded: InputSignal<TreeItemElement['isExpanded'] | undefined> = input<TreeItemElement['isExpanded']>();\n\n    /**\n     * Signal input for the `isChecked` property.\n     *\n     * @public\n     */\n    public readonly isChecked: InputSignal<TreeItemElement['isChecked'] | undefined> = input<TreeItemElement['isChecked']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TreeItemElement['themeName'] | undefined> = input<TreeItemElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TreeItemElement['disabled'] | undefined> = input<TreeItemElement['disabled']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<TreeItemElement['variant'] | undefined> = input<TreeItemElement['variant']>();\n\n    /**\n     * Signal input for the `isFocused` property.\n     *\n     * @public\n     */\n    public readonly isFocused: InputSignal<TreeItemElement['isFocused'] | undefined> = input<TreeItemElement['isFocused']>();\n\n    /**\n     * Signal input for the `isBusy` property.\n     *\n     * @public\n     */\n    public readonly isBusy: InputSignal<TreeItemElement['isBusy'] | undefined> = input<TreeItemElement['isBusy']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<TreeItemElement['isSelected'] | undefined> = input<TreeItemElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<TreeItemElement['index'] | undefined> = input<TreeItemElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<TreeItemElement['displayText'] | undefined> = input<TreeItemElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<TreeItemElement['value'] | undefined> = input<TreeItemElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TreeItemElement['dir'] | undefined> = input<TreeItemElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TreeItemElement['lang'] | undefined> = input<TreeItemElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const hasChildrenValue = this.hasChildren();\n                if (hasChildrenValue !== undefined) {\n                    (this._element as any).hasChildren = hasChildrenValue;\n                }\n\n                const textValue = this.text();\n                if (textValue !== undefined) {\n                    (this._element as any).text = textValue;\n                }\n\n                const isExpandedValue = this.isExpanded();\n                if (isExpandedValue !== undefined) {\n                    (this._element as any).isExpanded = isExpandedValue;\n                }\n\n                const isCheckedValue = this.isChecked();\n                if (isCheckedValue !== undefined) {\n                    (this._element as any).isChecked = isCheckedValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const isFocusedValue = this.isFocused();\n                if (isFocusedValue !== undefined) {\n                    (this._element as any).isFocused = isFocusedValue;\n                }\n\n                const isBusyValue = this.isBusy();\n                if (isBusyValue !== undefined) {\n                    (this._element as any).isBusy = isBusyValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TreeItemMethodNames>(method: TMethod, ...args: Parameters<TreeItemComponentMethods[TMethod]>): ReturnType<TreeItemComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TreeItemElement>(property: TProperty, value: TreeItemElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TreeItemComponent.\n */\nexport type TreeItemMethodNames = 'expand' | 'collapse' | 'toggle' | 'onSlotChanges' | 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'hasVisibleFocusInTree' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TreeItemComponent.\n */\nexport type TreeItemComponentMethods = MethodMap<TreeItemMethodNames>;\n\n/**\n * @public\n */\nexport function provideTreeItemComponent(config: Partial<TreeItemElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TREE_ITEM_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TreeElement, IElementValueAccessor, treeElementValueAccessor } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\nimport { FORM_STATUS_HOST, FormStatusHostDirective, FormFieldStatusHostDirective } from '../../../../Cdk/Cdk';\n\n/**\n * @public\n *\n * Injection token for the default properties of the TreeComponent.\n * Use this token to provide default properties for the TreeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const TREE_DEFAULT_PROPS = new InjectionToken<Partial<TreeElement.Props>>('MOSAIK_TREE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-tree', TreeElement),\n    inputs: ['selectionMode', 'themeName', 'disabled', 'items', 'dir', 'lang'],\n    methods: ['assignToSlot', 'getSlotAssignments', 'getSlotAssignmentsOf', 'getSlotContent', 'hasSlotContent', 'hasSlot', 'onSlotChanges', 'select', 'deselect', 'resetSelection', 'selectNext', 'selectPrevious', 'selectFirst', 'selectLast', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-tree',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>',\n    hostDirectives: [FormStatusHostDirective, FormFieldStatusHostDirective],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => TreeComponent),\n            multi: true\n        },\n        {\n            provide: FORM_STATUS_HOST,\n            useExisting: forwardRef(() => TreeComponent)\n        }\n    ]\n})\nexport class TreeComponent implements ControlValueAccessor {\n    // #region Fields\n\n    private readonly _element: TreeElement;\n    private readonly _destroyRef: DestroyRef;\n    private readonly _accessor: IElementValueAccessor;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n        this._accessor = treeElementValueAccessor(this._element);\n        this._element.addController(this._accessor);\n\n        // Wire up output events from the native element\n        this._element.on('selectionChanged', (e) => this.selectionChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('itemsChanged', (e) => this.itemsChanged.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(TREE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `selectionMode` property.\n     *\n     * @public\n     */\n    public readonly selectionMode: InputSignal<TreeElement['selectionMode'] | undefined> = input<TreeElement['selectionMode']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<TreeElement['themeName'] | undefined> = input<TreeElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<TreeElement['disabled'] | undefined> = input<TreeElement['disabled']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<TreeElement['items'] | undefined> = input<TreeElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<TreeElement['dir'] | undefined> = input<TreeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<TreeElement['lang'] | undefined> = input<TreeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const selectionModeValue = this.selectionMode();\n                if (selectionModeValue !== undefined) {\n                    (this._element as any).selectionMode = selectionModeValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selectionChanged` event.\n     *\n     * @public\n     */\n    public readonly selectionChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `itemsChanged` event.\n     *\n     * @public\n     */\n    public readonly itemsChanged: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region ControlValueAccessor\n\n    public writeValue(obj: unknown): void {\n        this._accessor.writeValue(obj);\n    }\n\n    public registerOnChange(fn: unknown): void {\n        this._accessor.registerOnChange(fn);\n    }\n\n    public registerOnTouched(fn: unknown): void {\n        this._accessor.registerOnTouched(fn);\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this._accessor.setDisabled?.(isDisabled);\n    }\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends TreeMethodNames>(method: TMethod, ...args: Parameters<TreeComponentMethods[TMethod]>): ReturnType<TreeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof TreeElement>(property: TProperty, value: TreeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on TreeComponent.\n */\nexport type TreeMethodNames = 'assignToSlot' | 'getSlotAssignments' | 'getSlotAssignmentsOf' | 'getSlotContent' | 'hasSlotContent' | 'hasSlot' | 'onSlotChanges' | 'select' | 'deselect' | 'resetSelection' | 'selectNext' | 'selectPrevious' | 'selectFirst' | 'selectLast' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for TreeComponent.\n */\nexport type TreeComponentMethods = MethodMap<TreeMethodNames>;\n\n/**\n * @public\n */\nexport function provideTreeComponent(config: Partial<TreeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: TREE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { UpDownSpinnerElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the UpDownSpinnerComponent.\n * Use this token to provide default properties for the UpDownSpinnerComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const UP_DOWN_SPINNER_DEFAULT_PROPS = new InjectionToken<Partial<UpDownSpinnerElement.Props>>('MOSAIK_UP_DOWN_SPINNER_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - Default content slot displayed between the spinner buttons\n * @slot prefix - Content displayed before the default slot\n * @slot suffix - Content displayed after the default slot\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-updown-spinner', UpDownSpinnerElement),\n    inputs: ['increaseIcon', 'decreaseIcon', 'delay', 'interval', 'position', 'increaseDisabled', 'decreaseDisabled', 'focusable', 'themeName', 'variant', 'size', 'appearance', 'orientation', 'disabled', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-updown-spinner',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class UpDownSpinnerComponent {\n    // #region Fields\n\n    private readonly _element: UpDownSpinnerElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('spinned', (e) => this.spinned.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(UP_DOWN_SPINNER_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `increaseIcon` property.\n     *\n     * @public\n     */\n    public readonly increaseIcon: InputSignal<UpDownSpinnerElement['increaseIcon'] | undefined> = input<UpDownSpinnerElement['increaseIcon']>();\n\n    /**\n     * Signal input for the `decreaseIcon` property.\n     *\n     * @public\n     */\n    public readonly decreaseIcon: InputSignal<UpDownSpinnerElement['decreaseIcon'] | undefined> = input<UpDownSpinnerElement['decreaseIcon']>();\n\n    /**\n     * Signal input for the `delay` property.\n     *\n     * @public\n     */\n    public readonly delay: InputSignal<UpDownSpinnerElement['delay'] | undefined> = input<UpDownSpinnerElement['delay']>();\n\n    /**\n     * Signal input for the `interval` property.\n     *\n     * @public\n     */\n    public readonly interval: InputSignal<UpDownSpinnerElement['interval'] | undefined> = input<UpDownSpinnerElement['interval']>();\n\n    /**\n     * Signal input for the `position` property.\n     *\n     * @public\n     */\n    public readonly position: InputSignal<UpDownSpinnerElement['position'] | undefined> = input<UpDownSpinnerElement['position']>();\n\n    /**\n     * Signal input for the `increaseDisabled` property.\n     *\n     * @public\n     */\n    public readonly increaseDisabled: InputSignal<UpDownSpinnerElement['increaseDisabled'] | undefined> = input<UpDownSpinnerElement['increaseDisabled']>();\n\n    /**\n     * Signal input for the `decreaseDisabled` property.\n     *\n     * @public\n     */\n    public readonly decreaseDisabled: InputSignal<UpDownSpinnerElement['decreaseDisabled'] | undefined> = input<UpDownSpinnerElement['decreaseDisabled']>();\n\n    /**\n     * Signal input for the `focusable` property.\n     *\n     * @public\n     */\n    public readonly focusable: InputSignal<UpDownSpinnerElement['focusable'] | undefined> = input<UpDownSpinnerElement['focusable']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<UpDownSpinnerElement['themeName'] | undefined> = input<UpDownSpinnerElement['themeName']>();\n\n    /**\n     * Signal input for the `variant` property.\n     *\n     * @public\n     */\n    public readonly variant: InputSignal<UpDownSpinnerElement['variant'] | undefined> = input<UpDownSpinnerElement['variant']>();\n\n    /**\n     * Signal input for the `size` property.\n     *\n     * @public\n     */\n    public readonly size: InputSignal<UpDownSpinnerElement['size'] | undefined> = input<UpDownSpinnerElement['size']>();\n\n    /**\n     * Signal input for the `appearance` property.\n     *\n     * @public\n     */\n    public readonly appearance: InputSignal<UpDownSpinnerElement['appearance'] | undefined> = input<UpDownSpinnerElement['appearance']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<UpDownSpinnerElement['orientation'] | undefined> = input<UpDownSpinnerElement['orientation']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<UpDownSpinnerElement['disabled'] | undefined> = input<UpDownSpinnerElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<UpDownSpinnerElement['dir'] | undefined> = input<UpDownSpinnerElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<UpDownSpinnerElement['lang'] | undefined> = input<UpDownSpinnerElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const increaseIconValue = this.increaseIcon();\n                if (increaseIconValue !== undefined) {\n                    (this._element as any).increaseIcon = increaseIconValue;\n                }\n\n                const decreaseIconValue = this.decreaseIcon();\n                if (decreaseIconValue !== undefined) {\n                    (this._element as any).decreaseIcon = decreaseIconValue;\n                }\n\n                const delayValue = this.delay();\n                if (delayValue !== undefined) {\n                    (this._element as any).delay = delayValue;\n                }\n\n                const intervalValue = this.interval();\n                if (intervalValue !== undefined) {\n                    (this._element as any).interval = intervalValue;\n                }\n\n                const positionValue = this.position();\n                if (positionValue !== undefined) {\n                    (this._element as any).position = positionValue;\n                }\n\n                const increaseDisabledValue = this.increaseDisabled();\n                if (increaseDisabledValue !== undefined) {\n                    (this._element as any).increaseDisabled = increaseDisabledValue;\n                }\n\n                const decreaseDisabledValue = this.decreaseDisabled();\n                if (decreaseDisabledValue !== undefined) {\n                    (this._element as any).decreaseDisabled = decreaseDisabledValue;\n                }\n\n                const focusableValue = this.focusable();\n                if (focusableValue !== undefined) {\n                    (this._element as any).focusable = focusableValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const variantValue = this.variant();\n                if (variantValue !== undefined) {\n                    (this._element as any).variant = variantValue;\n                }\n\n                const sizeValue = this.size();\n                if (sizeValue !== undefined) {\n                    (this._element as any).size = sizeValue;\n                }\n\n                const appearanceValue = this.appearance();\n                if (appearanceValue !== undefined) {\n                    (this._element as any).appearance = appearanceValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `spinned` event.\n     *\n     * @public\n     */\n    public readonly spinned: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends UpDownSpinnerMethodNames>(method: TMethod, ...args: Parameters<UpDownSpinnerComponentMethods[TMethod]>): ReturnType<UpDownSpinnerComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof UpDownSpinnerElement>(property: TProperty, value: UpDownSpinnerElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on UpDownSpinnerComponent.\n */\nexport type UpDownSpinnerMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for UpDownSpinnerComponent.\n */\nexport type UpDownSpinnerComponentMethods = MethodMap<UpDownSpinnerMethodNames>;\n\n/**\n * @public\n */\nexport function provideUpDownSpinnerComponent(config: Partial<UpDownSpinnerElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: UP_DOWN_SPINNER_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { VideoElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the VideoComponent.\n * Use this token to provide default properties for the VideoComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const VIDEO_DEFAULT_PROPS = new InjectionToken<Partial<VideoElement.Props>>('MOSAIK_VIDEO_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot legend - The legend slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-video', VideoElement),\n    inputs: ['hasSrc', 'src', 'autoPlay', 'poster', 'autoFullScreen', 'showControls', 'fit', 'legend', 'legendPosition', 'ratio', 'muted', 'loop', 'themeName', 'disabled', 'width', 'height', 'dir', 'lang'],\n    methods: ['play', 'pause', 'toggle', 'load', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-video',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class VideoComponent {\n    // #region Fields\n\n    private readonly _element: VideoElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(VIDEO_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `hasSrc` property.\n     *\n     * @public\n     */\n    public readonly hasSrc: InputSignal<VideoElement['hasSrc'] | undefined> = input<VideoElement['hasSrc']>();\n\n    /**\n     * Signal input for the `src` property.\n     *\n     * @public\n     */\n    public readonly src: InputSignal<VideoElement['src'] | undefined> = input<VideoElement['src']>();\n\n    /**\n     * Signal input for the `autoPlay` property.\n     *\n     * @public\n     */\n    public readonly autoPlay: InputSignal<VideoElement['autoPlay'] | undefined> = input<VideoElement['autoPlay']>();\n\n    /**\n     * Signal input for the `poster` property.\n     *\n     * @public\n     */\n    public readonly poster: InputSignal<VideoElement['poster'] | undefined> = input<VideoElement['poster']>();\n\n    /**\n     * Signal input for the `autoFullScreen` property.\n     *\n     * @public\n     */\n    public readonly autoFullScreen: InputSignal<VideoElement['autoFullScreen'] | undefined> = input<VideoElement['autoFullScreen']>();\n\n    /**\n     * Signal input for the `showControls` property.\n     *\n     * @public\n     */\n    public readonly showControls: InputSignal<VideoElement['showControls'] | undefined> = input<VideoElement['showControls']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<VideoElement['fit'] | undefined> = input<VideoElement['fit']>();\n\n    /**\n     * Signal input for the `legend` property.\n     *\n     * @public\n     */\n    public readonly legend: InputSignal<VideoElement['legend'] | undefined> = input<VideoElement['legend']>();\n\n    /**\n     * Signal input for the `legendPosition` property.\n     *\n     * @public\n     */\n    public readonly legendPosition: InputSignal<VideoElement['legendPosition'] | undefined> = input<VideoElement['legendPosition']>();\n\n    /**\n     * Signal input for the `ratio` property.\n     *\n     * @public\n     */\n    public readonly ratio: InputSignal<VideoElement['ratio'] | undefined> = input<VideoElement['ratio']>();\n\n    /**\n     * Signal input for the `muted` property.\n     *\n     * @public\n     */\n    public readonly muted: InputSignal<VideoElement['muted'] | undefined> = input<VideoElement['muted']>();\n\n    /**\n     * Signal input for the `loop` property.\n     *\n     * @public\n     */\n    public readonly loop: InputSignal<VideoElement['loop'] | undefined> = input<VideoElement['loop']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<VideoElement['themeName'] | undefined> = input<VideoElement['themeName']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<VideoElement['disabled'] | undefined> = input<VideoElement['disabled']>();\n\n    /**\n     * Signal input for the `width` property.\n     *\n     * @public\n     */\n    public readonly width: InputSignal<VideoElement['width'] | undefined> = input<VideoElement['width']>();\n\n    /**\n     * Signal input for the `height` property.\n     *\n     * @public\n     */\n    public readonly height: InputSignal<VideoElement['height'] | undefined> = input<VideoElement['height']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<VideoElement['dir'] | undefined> = input<VideoElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<VideoElement['lang'] | undefined> = input<VideoElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const srcValue = this.src();\n                if (srcValue !== undefined) {\n                    (this._element as any).src = srcValue;\n                }\n\n                const autoPlayValue = this.autoPlay();\n                if (autoPlayValue !== undefined) {\n                    (this._element as any).autoPlay = autoPlayValue;\n                }\n\n                const posterValue = this.poster();\n                if (posterValue !== undefined) {\n                    (this._element as any).poster = posterValue;\n                }\n\n                const autoFullScreenValue = this.autoFullScreen();\n                if (autoFullScreenValue !== undefined) {\n                    (this._element as any).autoFullScreen = autoFullScreenValue;\n                }\n\n                const showControlsValue = this.showControls();\n                if (showControlsValue !== undefined) {\n                    (this._element as any).showControls = showControlsValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const legendValue = this.legend();\n                if (legendValue !== undefined) {\n                    (this._element as any).legend = legendValue;\n                }\n\n                const legendPositionValue = this.legendPosition();\n                if (legendPositionValue !== undefined) {\n                    (this._element as any).legendPosition = legendPositionValue;\n                }\n\n                const ratioValue = this.ratio();\n                if (ratioValue !== undefined) {\n                    (this._element as any).ratio = ratioValue;\n                }\n\n                const mutedValue = this.muted();\n                if (mutedValue !== undefined) {\n                    (this._element as any).muted = mutedValue;\n                }\n\n                const loopValue = this.loop();\n                if (loopValue !== undefined) {\n                    (this._element as any).loop = loopValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const widthValue = this.width();\n                if (widthValue !== undefined) {\n                    (this._element as any).width = widthValue;\n                }\n\n                const heightValue = this.height();\n                if (heightValue !== undefined) {\n                    (this._element as any).height = heightValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends VideoMethodNames>(method: TMethod, ...args: Parameters<VideoComponentMethods[TMethod]>): ReturnType<VideoComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof VideoElement>(property: TProperty, value: VideoElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on VideoComponent.\n */\nexport type VideoMethodNames = 'play' | 'pause' | 'toggle' | 'load' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for VideoComponent.\n */\nexport type VideoComponentMethods = MethodMap<VideoMethodNames>;\n\n/**\n * @public\n */\nexport function provideVideoComponent(config: Partial<VideoElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: VIDEO_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { VirtualizeElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the VirtualizeComponent.\n * Use this token to provide default properties for the VirtualizeComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const VIRTUALIZE_DEFAULT_PROPS = new InjectionToken<Partial<VirtualizeElement.Props>>('MOSAIK_VIRTUALIZE_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-virtualize', VirtualizeElement),\n    inputs: ['items', 'renderItem', 'keyFunction', 'layout', 'scroller', 'themeName', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-virtualize',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class VirtualizeComponent {\n    // #region Fields\n\n    private readonly _element: VirtualizeElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(VIRTUALIZE_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<VirtualizeElement['items'] | undefined> = input<VirtualizeElement['items']>();\n\n    /**\n     * Signal input for the `renderItem` property.\n     *\n     * @public\n     */\n    public readonly renderItem: InputSignal<VirtualizeElement['renderItem'] | undefined> = input<VirtualizeElement['renderItem']>();\n\n    /**\n     * Signal input for the `keyFunction` property.\n     *\n     * @public\n     */\n    public readonly keyFunction: InputSignal<VirtualizeElement['keyFunction'] | undefined> = input<VirtualizeElement['keyFunction']>();\n\n    /**\n     * Signal input for the `layout` property.\n     *\n     * @public\n     */\n    public readonly layout: InputSignal<VirtualizeElement['layout'] | undefined> = input<VirtualizeElement['layout']>();\n\n    /**\n     * Signal input for the `scroller` property.\n     *\n     * @public\n     */\n    public readonly scroller: InputSignal<VirtualizeElement['scroller'] | undefined> = input<VirtualizeElement['scroller']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<VirtualizeElement['themeName'] | undefined> = input<VirtualizeElement['themeName']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<VirtualizeElement['dir'] | undefined> = input<VirtualizeElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<VirtualizeElement['lang'] | undefined> = input<VirtualizeElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const renderItemValue = this.renderItem();\n                if (renderItemValue !== undefined) {\n                    (this._element as any).renderItem = renderItemValue;\n                }\n\n                const keyFunctionValue = this.keyFunction();\n                if (keyFunctionValue !== undefined) {\n                    (this._element as any).keyFunction = keyFunctionValue;\n                }\n\n                const layoutValue = this.layout();\n                if (layoutValue !== undefined) {\n                    (this._element as any).layout = layoutValue;\n                }\n\n                const scrollerValue = this.scroller();\n                if (scrollerValue !== undefined) {\n                    (this._element as any).scroller = scrollerValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends VirtualizeMethodNames>(method: TMethod, ...args: Parameters<VirtualizeComponentMethods[TMethod]>): ReturnType<VirtualizeComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof VirtualizeElement>(property: TProperty, value: VirtualizeElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on VirtualizeComponent.\n */\nexport type VirtualizeMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for VirtualizeComponent.\n */\nexport type VirtualizeComponentMethods = MethodMap<VirtualizeMethodNames>;\n\n/**\n * @public\n */\nexport function provideVirtualizeComponent(config: Partial<VirtualizeElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: VIRTUALIZE_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { VoiceRecorderChatToolElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the VoiceRecorderChatToolComponent.\n * Use this token to provide default properties for the VoiceRecorderChatToolComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const VOICE_RECORDER_CHAT_TOOL_DEFAULT_PROPS = new InjectionToken<Partial<VoiceRecorderChatToolElement.Props>>('MOSAIK_VOICE_RECORDER_CHAT_TOOL_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-voice-recorder-chat-tool', VoiceRecorderChatToolElement),\n    inputs: ['recCancel', 'recResume', 'recStop', 'recStart', 'recPause', 'state', 'elapsedTime', 'maxDurationTime', 'objectUrl', 'canPause', 'themeName', 'dock', 'disabled', 'dir', 'lang'],\n    methods: ['execute', 'attach', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-voice-recorder-chat-tool',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class VoiceRecorderChatToolComponent {\n    // #region Fields\n\n    private readonly _element: VoiceRecorderChatToolElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('recorderCancel', (e) => this.recorderCancel.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('recorderStart', (e) => this.recorderStart.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('recorderPause', (e) => this.recorderPause.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('recorderResume', (e) => this.recorderResume.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('recorderStop', (e) => this.recorderStop.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(VOICE_RECORDER_CHAT_TOOL_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `recCancel` property.\n     *\n     * @public\n     */\n    public readonly recCancel: InputSignal<VoiceRecorderChatToolElement['recCancel'] | undefined> = input<VoiceRecorderChatToolElement['recCancel']>();\n\n    /**\n     * Signal input for the `recResume` property.\n     *\n     * @public\n     */\n    public readonly recResume: InputSignal<VoiceRecorderChatToolElement['recResume'] | undefined> = input<VoiceRecorderChatToolElement['recResume']>();\n\n    /**\n     * Signal input for the `recStop` property.\n     *\n     * @public\n     */\n    public readonly recStop: InputSignal<VoiceRecorderChatToolElement['recStop'] | undefined> = input<VoiceRecorderChatToolElement['recStop']>();\n\n    /**\n     * Signal input for the `recStart` property.\n     *\n     * @public\n     */\n    public readonly recStart: InputSignal<VoiceRecorderChatToolElement['recStart'] | undefined> = input<VoiceRecorderChatToolElement['recStart']>();\n\n    /**\n     * Signal input for the `recPause` property.\n     *\n     * @public\n     */\n    public readonly recPause: InputSignal<VoiceRecorderChatToolElement['recPause'] | undefined> = input<VoiceRecorderChatToolElement['recPause']>();\n\n    /**\n     * Signal input for the `state` property.\n     *\n     * @public\n     */\n    public readonly state: InputSignal<VoiceRecorderChatToolElement['state'] | undefined> = input<VoiceRecorderChatToolElement['state']>();\n\n    /**\n     * Signal input for the `elapsedTime` property.\n     *\n     * @public\n     */\n    public readonly elapsedTime: InputSignal<VoiceRecorderChatToolElement['elapsedTime'] | undefined> = input<VoiceRecorderChatToolElement['elapsedTime']>();\n\n    /**\n     * Signal input for the `maxDurationTime` property.\n     *\n     * @public\n     */\n    public readonly maxDurationTime: InputSignal<VoiceRecorderChatToolElement['maxDurationTime'] | undefined> = input<VoiceRecorderChatToolElement['maxDurationTime']>();\n\n    /**\n     * Signal input for the `objectUrl` property.\n     *\n     * @public\n     */\n    public readonly objectUrl: InputSignal<VoiceRecorderChatToolElement['objectUrl'] | undefined> = input<VoiceRecorderChatToolElement['objectUrl']>();\n\n    /**\n     * Signal input for the `canPause` property.\n     *\n     * @public\n     */\n    public readonly canPause: InputSignal<VoiceRecorderChatToolElement['canPause'] | undefined> = input<VoiceRecorderChatToolElement['canPause']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<VoiceRecorderChatToolElement['themeName'] | undefined> = input<VoiceRecorderChatToolElement['themeName']>();\n\n    /**\n     * Signal input for the `dock` property.\n     *\n     * @public\n     */\n    public readonly dock: InputSignal<VoiceRecorderChatToolElement['dock'] | undefined> = input<VoiceRecorderChatToolElement['dock']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<VoiceRecorderChatToolElement['disabled'] | undefined> = input<VoiceRecorderChatToolElement['disabled']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<VoiceRecorderChatToolElement['dir'] | undefined> = input<VoiceRecorderChatToolElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<VoiceRecorderChatToolElement['lang'] | undefined> = input<VoiceRecorderChatToolElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const recCancelValue = this.recCancel();\n                if (recCancelValue !== undefined) {\n                    (this._element as any).recCancel = recCancelValue;\n                }\n\n                const recResumeValue = this.recResume();\n                if (recResumeValue !== undefined) {\n                    (this._element as any).recResume = recResumeValue;\n                }\n\n                const recStopValue = this.recStop();\n                if (recStopValue !== undefined) {\n                    (this._element as any).recStop = recStopValue;\n                }\n\n                const recStartValue = this.recStart();\n                if (recStartValue !== undefined) {\n                    (this._element as any).recStart = recStartValue;\n                }\n\n                const recPauseValue = this.recPause();\n                if (recPauseValue !== undefined) {\n                    (this._element as any).recPause = recPauseValue;\n                }\n\n                const stateValue = this.state();\n                if (stateValue !== undefined) {\n                    (this._element as any).state = stateValue;\n                }\n\n                const elapsedTimeValue = this.elapsedTime();\n                if (elapsedTimeValue !== undefined) {\n                    (this._element as any).elapsedTime = elapsedTimeValue;\n                }\n\n                const maxDurationTimeValue = this.maxDurationTime();\n                if (maxDurationTimeValue !== undefined) {\n                    (this._element as any).maxDurationTime = maxDurationTimeValue;\n                }\n\n                const objectUrlValue = this.objectUrl();\n                if (objectUrlValue !== undefined) {\n                    (this._element as any).objectUrl = objectUrlValue;\n                }\n\n                const canPauseValue = this.canPause();\n                if (canPauseValue !== undefined) {\n                    (this._element as any).canPause = canPauseValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const dockValue = this.dock();\n                if (dockValue !== undefined) {\n                    (this._element as any).dock = dockValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `recorderCancel` event.\n     *\n     * @public\n     */\n    public readonly recorderCancel: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `recorderStart` event.\n     *\n     * @public\n     */\n    public readonly recorderStart: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `recorderPause` event.\n     *\n     * @public\n     */\n    public readonly recorderPause: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `recorderResume` event.\n     *\n     * @public\n     */\n    public readonly recorderResume: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `recorderStop` event.\n     *\n     * @public\n     */\n    public readonly recorderStop: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends VoiceRecorderChatToolMethodNames>(method: TMethod, ...args: Parameters<VoiceRecorderChatToolComponentMethods[TMethod]>): ReturnType<VoiceRecorderChatToolComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof VoiceRecorderChatToolElement>(property: TProperty, value: VoiceRecorderChatToolElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on VoiceRecorderChatToolComponent.\n */\nexport type VoiceRecorderChatToolMethodNames = 'execute' | 'attach' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for VoiceRecorderChatToolComponent.\n */\nexport type VoiceRecorderChatToolComponentMethods = MethodMap<VoiceRecorderChatToolMethodNames>;\n\n/**\n * @public\n */\nexport function provideVoiceRecorderChatToolComponent(config: Partial<VoiceRecorderChatToolElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: VOICE_RECORDER_CHAT_TOOL_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { WizardStepElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the WizardStepComponent.\n * Use this token to provide default properties for the WizardStepComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const WIZARD_STEP_DEFAULT_PROPS = new InjectionToken<Partial<WizardStepElement.Props>>('MOSAIK_WIZARD_STEP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot.\n * @slot footer - The footer slot.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-wizard-step', WizardStepElement),\n    inputs: ['header', 'subHeader', 'isActive', 'themeName', 'animationTarget', 'enter', 'exit', 'disabled', 'inset', 'isSelected', 'index', 'displayText', 'value', 'dir', 'lang'],\n    methods: ['play', 'onEnterAnimation', 'onExitAnimation', 'select', 'deselect', 'adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-wizard-step',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class WizardStepComponent {\n    // #region Fields\n\n    private readonly _element: WizardStepElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('selected', (e) => this.selected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('deselected', (e) => this.deselected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(WIZARD_STEP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `header` property.\n     *\n     * @public\n     */\n    public readonly header: InputSignal<WizardStepElement['header'] | undefined> = input<WizardStepElement['header']>();\n\n    /**\n     * Signal input for the `subHeader` property.\n     *\n     * @public\n     */\n    public readonly subHeader: InputSignal<WizardStepElement['subHeader'] | undefined> = input<WizardStepElement['subHeader']>();\n\n    /**\n     * Signal input for the `isActive` property.\n     *\n     * @public\n     */\n    public readonly isActive: InputSignal<WizardStepElement['isActive'] | undefined> = input<WizardStepElement['isActive']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<WizardStepElement['themeName'] | undefined> = input<WizardStepElement['themeName']>();\n\n    /**\n     * Signal input for the `animationTarget` property.\n     *\n     * @public\n     */\n    public readonly animationTarget: InputSignal<WizardStepElement['animationTarget'] | undefined> = input<WizardStepElement['animationTarget']>();\n\n    /**\n     * Signal input for the `enter` property.\n     *\n     * @public\n     */\n    public readonly enter: InputSignal<WizardStepElement['enter'] | undefined> = input<WizardStepElement['enter']>();\n\n    /**\n     * Signal input for the `exit` property.\n     *\n     * @public\n     */\n    public readonly exit: InputSignal<WizardStepElement['exit'] | undefined> = input<WizardStepElement['exit']>();\n\n    /**\n     * Signal input for the `disabled` property.\n     *\n     * @public\n     */\n    public readonly disabled: InputSignal<WizardStepElement['disabled'] | undefined> = input<WizardStepElement['disabled']>();\n\n    /**\n     * Signal input for the `inset` property.\n     *\n     * @public\n     */\n    public readonly inset: InputSignal<WizardStepElement['inset'] | undefined> = input<WizardStepElement['inset']>();\n\n    /**\n     * Signal input for the `isSelected` property.\n     *\n     * @public\n     */\n    public readonly isSelected: InputSignal<WizardStepElement['isSelected'] | undefined> = input<WizardStepElement['isSelected']>();\n\n    /**\n     * Signal input for the `index` property.\n     *\n     * @public\n     */\n    public readonly index: InputSignal<WizardStepElement['index'] | undefined> = input<WizardStepElement['index']>();\n\n    /**\n     * Signal input for the `displayText` property.\n     *\n     * @public\n     */\n    public readonly displayText: InputSignal<WizardStepElement['displayText'] | undefined> = input<WizardStepElement['displayText']>();\n\n    /**\n     * Signal input for the `value` property.\n     *\n     * @public\n     */\n    public readonly value: InputSignal<WizardStepElement['value'] | undefined> = input<WizardStepElement['value']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<WizardStepElement['dir'] | undefined> = input<WizardStepElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<WizardStepElement['lang'] | undefined> = input<WizardStepElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const headerValue = this.header();\n                if (headerValue !== undefined) {\n                    (this._element as any).header = headerValue;\n                }\n\n                const subHeaderValue = this.subHeader();\n                if (subHeaderValue !== undefined) {\n                    (this._element as any).subHeader = subHeaderValue;\n                }\n\n                const isActiveValue = this.isActive();\n                if (isActiveValue !== undefined) {\n                    (this._element as any).isActive = isActiveValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const enterValue = this.enter();\n                if (enterValue !== undefined) {\n                    (this._element as any).enter = enterValue;\n                }\n\n                const exitValue = this.exit();\n                if (exitValue !== undefined) {\n                    (this._element as any).exit = exitValue;\n                }\n\n                const disabledValue = this.disabled();\n                if (disabledValue !== undefined) {\n                    (this._element as any).disabled = disabledValue;\n                }\n\n                const insetValue = this.inset();\n                if (insetValue !== undefined) {\n                    (this._element as any).inset = insetValue;\n                }\n\n                const isSelectedValue = this.isSelected();\n                if (isSelectedValue !== undefined) {\n                    (this._element as any).isSelected = isSelectedValue;\n                }\n\n                const valueValue = this.value();\n                if (valueValue !== undefined) {\n                    (this._element as any).value = valueValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `selected` event.\n     *\n     * @public\n     */\n    public readonly selected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `deselected` event.\n     *\n     * @public\n     */\n    public readonly deselected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends WizardStepMethodNames>(method: TMethod, ...args: Parameters<WizardStepComponentMethods[TMethod]>): ReturnType<WizardStepComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof WizardStepElement>(property: TProperty, value: WizardStepElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on WizardStepComponent.\n */\nexport type WizardStepMethodNames = 'play' | 'onEnterAnimation' | 'onExitAnimation' | 'select' | 'deselect' | 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for WizardStepComponent.\n */\nexport type WizardStepComponentMethods = MethodMap<WizardStepMethodNames>;\n\n/**\n * @public\n */\nexport function provideWizardStepComponent(config: Partial<WizardStepElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: WIZARD_STEP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","// ------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n// </auto-generated>\n// ------------------------------------------------------------------------------\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentProviders, effect, inject, InjectionToken, input, InputSignal, makeEnvironmentProviders, output, OutputEmitterRef } from '@angular/core';\nimport { WrapElement } from '@breadstone/mosaik-elements-foundation';\nimport { applyDefaults, ProxyCmp, MethodMap } from '../../../../Utils/Proxy';\n\n/**\n * @public\n *\n * Injection token for the default properties of the WrapComponent.\n * Use this token to provide default properties for the WrapComponent.\n * The properties will be applied to the component when it is created.\n * This is useful for setting default values for properties that are not set by the user.\n */\nexport const WRAP_DEFAULT_PROPS = new InjectionToken<Partial<WrapElement.Props>>('MOSAIK_WRAP_DEFAULT_PROPS');\n\n/**\n * @public\n *\n * @slot  - The default slot for elements that will wrap based on available space.\n * @slot style - Custom styles injection slot for shadow DOM styling escape hatch\n */\n\n@ProxyCmp({\n    defineCustomElementFn: () => customElements.define('mosaik-wrap', WrapElement),\n    inputs: ['columns', 'themeName', 'reverse', 'orientation', 'fit', 'gap', 'items', 'dir', 'lang'],\n    methods: ['adoptStyle', 'on', 'off', 'emit', 'requestUpdate']\n})\n@Component({\n    selector: 'mosaik-wrap',\n    standalone: true,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: '<ng-content></ng-content>'\n})\nexport class WrapComponent {\n    // #region Fields\n\n    private readonly _element: WrapElement;\n    private readonly _destroyRef: DestroyRef;\n\n    // #endregion\n\n    // #region Ctor\n\n    public constructor() {\n        inject(ChangeDetectorRef).detach();\n\n        this._element = inject(ElementRef).nativeElement;\n        this._destroyRef = inject(DestroyRef);\n\n        // Wire up output events from the native element\n        this._element.on('changed', (e) => this.changed.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('connected', (e) => this.connected.emit(e instanceof CustomEvent ? e.detail : undefined));\n        this._element.on('disconnected', (e) => this.disconnected.emit(e instanceof CustomEvent ? e.detail : undefined));\n\n        // Initialize input synchronization effect\n        this.initInputSyncEffect();\n\n        applyDefaults(this._element, inject(WRAP_DEFAULT_PROPS, { optional: true }) ?? {});\n    }\n\n    // #endregion\n\n    // #region Properties\n\n    /**\n     * Signal input for the `columns` property.\n     *\n     * @public\n     */\n    public readonly columns: InputSignal<WrapElement['columns'] | undefined> = input<WrapElement['columns']>();\n\n    /**\n     * Signal input for the `themeName` property.\n     *\n     * @public\n     */\n    public readonly themeName: InputSignal<WrapElement['themeName'] | undefined> = input<WrapElement['themeName']>();\n\n    /**\n     * Signal input for the `reverse` property.\n     *\n     * @public\n     */\n    public readonly reverse: InputSignal<WrapElement['reverse'] | undefined> = input<WrapElement['reverse']>();\n\n    /**\n     * Signal input for the `orientation` property.\n     *\n     * @public\n     */\n    public readonly orientation: InputSignal<WrapElement['orientation'] | undefined> = input<WrapElement['orientation']>();\n\n    /**\n     * Signal input for the `fit` property.\n     *\n     * @public\n     */\n    public readonly fit: InputSignal<WrapElement['fit'] | undefined> = input<WrapElement['fit']>();\n\n    /**\n     * Signal input for the `gap` property.\n     *\n     * @public\n     */\n    public readonly gap: InputSignal<WrapElement['gap'] | undefined> = input<WrapElement['gap']>();\n\n    /**\n     * Signal input for the `items` property.\n     *\n     * @public\n     */\n    public readonly items: InputSignal<WrapElement['items'] | undefined> = input<WrapElement['items']>();\n\n    /**\n     * Signal input for the `dir` property.\n     *\n     * @public\n     */\n    public readonly dir: InputSignal<WrapElement['dir'] | undefined> = input<WrapElement['dir']>();\n\n    /**\n     * Signal input for the `lang` property.\n     *\n     * @public\n     */\n    public readonly lang: InputSignal<WrapElement['lang'] | undefined> = input<WrapElement['lang']>();\n\n    /**\n     * Initializes the effect that synchronizes all signal inputs to the native element.\n     * Called from constructor after _element is initialized.\n     * The effect is automatically cleaned up when the component is destroyed via DestroyRef.\n     *\n     * @private\n     */\n    private initInputSyncEffect(): void {\n        effect(\n            () => {\n                const columnsValue = this.columns();\n                if (columnsValue !== undefined) {\n                    (this._element as any).columns = columnsValue;\n                }\n\n                const themeNameValue = this.themeName();\n                if (themeNameValue !== undefined) {\n                    (this._element as any).themeName = themeNameValue;\n                }\n\n                const reverseValue = this.reverse();\n                if (reverseValue !== undefined) {\n                    (this._element as any).reverse = reverseValue;\n                }\n\n                const orientationValue = this.orientation();\n                if (orientationValue !== undefined) {\n                    (this._element as any).orientation = orientationValue;\n                }\n\n                const fitValue = this.fit();\n                if (fitValue !== undefined) {\n                    (this._element as any).fit = fitValue;\n                }\n\n                const gapValue = this.gap();\n                if (gapValue !== undefined) {\n                    (this._element as any).gap = gapValue;\n                }\n\n                const dirValue = this.dir();\n                if (dirValue !== undefined) {\n                    (this._element as any).dir = dirValue;\n                }\n\n                const langValue = this.lang();\n                if (langValue !== undefined) {\n                    (this._element as any).lang = langValue;\n                }\n            },\n            { injector: undefined }\n        );\n    }\n\n    // #endregion\n\n    // #region Outputs\n\n    /**\n     * Output signal for the `changed` event.\n     *\n     * @public\n     */\n    public readonly changed: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `connected` event.\n     *\n     * @public\n     */\n    public readonly connected: OutputEmitterRef<unknown> = output<unknown>();\n\n    /**\n     * Output signal for the `disconnected` event.\n     *\n     * @public\n     */\n    public readonly disconnected: OutputEmitterRef<unknown> = output<unknown>();\n\n    // #endregion\n\n    // #region Methods\n\n    /**\n     * Invokes a method on the underlying native element.\n     *\n     * @public\n     * @param method - The method name to invoke.\n     * @param args - The arguments to pass to the method.\n     * @returns The return value of the method.\n     */\n    public invoke<TMethod extends WrapMethodNames>(method: TMethod, ...args: Parameters<WrapComponentMethods[TMethod]>): ReturnType<WrapComponentMethods[TMethod]> {\n        return (this._element as any)[method](...args);\n    }\n\n    /**\n     * Sets a property value on the underlying native element.\n     * This is useful for CDK behaviors and directives that need to modify element properties\n     * without going through the signal input (which would cause a one-way binding).\n     *\n     * @public\n     * @param property - The property name to set.\n     * @param value - The value to set.\n     */\n    public setInput<TProperty extends keyof WrapElement>(property: TProperty, value: WrapElement[TProperty]): void {\n        (this._element as any)[property] = value;\n    }\n\n    // #endregion\n}\n\n/**\n * Declares the methods available on WrapComponent.\n */\nexport type WrapMethodNames = 'adoptStyle' | 'on' | 'off' | 'emit' | 'requestUpdate';\n\n/**\n * Declares the methods interface for WrapComponent.\n */\nexport type WrapComponentMethods = MethodMap<WrapMethodNames>;\n\n/**\n * @public\n */\nexport function provideWrapComponent(config: Partial<WrapElement.Props>): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        {\n            provide: WRAP_DEFAULT_PROPS,\n            useValue: config\n        }\n    ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["__decorate","i1.FormStatusHostDirective","i2.FormFieldStatusHostDirective","TEMPLATE_OVERRIDES","PATCHED_ELEMENTS","registerTemplateOverrides","unregisterTemplateOverrides","PortalComponent","i1.TimeUpdateService","FoundationThemeService"],"mappings":"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"}