@agnos-ui/angular-bootstrap 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/agnos-ui-angular.module.d.ts +2 -1
- package/components/accordion/accordion.component.d.ts +40 -18
- package/components/accordion/accordion.gen.d.ts +37 -9
- package/components/alert/alert.component.d.ts +29 -17
- package/components/alert/alert.gen.d.ts +21 -2
- package/components/collapse/collapse.component.d.ts +79 -0
- package/components/collapse/collapse.gen.d.ts +146 -0
- package/components/collapse/index.d.ts +2 -0
- package/components/modal/modal.component.d.ts +13 -19
- package/components/modal/modal.gen.d.ts +35 -18
- package/components/modal/modal.service.d.ts +5 -1
- package/components/pagination/pagination.component.d.ts +20 -15
- package/components/pagination/pagination.gen.d.ts +49 -29
- package/components/progressbar/progressbar.component.d.ts +32 -16
- package/components/progressbar/progressbar.gen.d.ts +21 -4
- package/components/rating/rating.component.d.ts +11 -4
- package/components/rating/rating.gen.d.ts +25 -17
- package/components/select/select.component.d.ts +24 -4
- package/components/select/select.gen.d.ts +41 -25
- package/components/slider/slider.component.d.ts +32 -23
- package/components/slider/slider.gen.d.ts +54 -33
- package/components/toast/toast.component.d.ts +29 -17
- package/components/toast/toast.gen.d.ts +22 -2
- package/config.d.ts +16 -5
- package/config.gen.d.ts +5 -0
- package/esm2022/agnos-ui-angular.module.mjs +12 -5
- package/esm2022/components/accordion/accordion.component.mjs +165 -134
- package/esm2022/components/accordion/accordion.gen.mjs +1 -1
- package/esm2022/components/alert/alert.component.mjs +90 -65
- package/esm2022/components/alert/alert.gen.mjs +1 -1
- package/esm2022/components/collapse/collapse.component.mjs +89 -0
- package/esm2022/components/collapse/collapse.gen.mjs +15 -0
- package/esm2022/components/collapse/index.mjs +3 -0
- package/esm2022/components/modal/modal.component.mjs +111 -99
- package/esm2022/components/modal/modal.gen.mjs +1 -1
- package/esm2022/components/modal/modal.service.mjs +7 -5
- package/esm2022/components/pagination/pagination.component.mjs +138 -123
- package/esm2022/components/pagination/pagination.gen.mjs +1 -1
- package/esm2022/components/progressbar/progressbar.component.mjs +94 -55
- package/esm2022/components/progressbar/progressbar.gen.mjs +1 -1
- package/esm2022/components/rating/rating.component.mjs +41 -35
- package/esm2022/components/rating/rating.gen.mjs +1 -1
- package/esm2022/components/select/select.component.mjs +103 -118
- package/esm2022/components/select/select.gen.mjs +1 -1
- package/esm2022/components/slider/slider.component.mjs +126 -111
- package/esm2022/components/slider/slider.gen.mjs +1 -1
- package/esm2022/components/toast/toast.component.mjs +106 -81
- package/esm2022/components/toast/toast.gen.mjs +1 -1
- package/esm2022/config.gen.mjs +1 -1
- package/esm2022/config.mjs +17 -1
- package/esm2022/index.mjs +2 -1
- package/fesm2022/agnos-ui-angular-bootstrap.mjs +1085 -806
- package/fesm2022/agnos-ui-angular-bootstrap.mjs.map +1 -1
- package/index.d.ts +8 -7
- package/package.json +9 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agnos-ui-angular-bootstrap.mjs","sources":["../../src/components/modal/modal.gen.ts","../../src/config.ts","../../src/components/modal/modal.component.ts","../../src/components/pagination/pagination.gen.ts","../../src/components/pagination/pagination.component.ts","../../src/components/rating/rating.gen.ts","../../src/components/rating/rating.component.ts","../../src/components/select/select.gen.ts","../../src/components/select/select.component.ts","../../src/components/alert/alert.gen.ts","../../src/components/alert/alert.component.ts","../../src/components/accordion/accordion.gen.ts","../../src/components/accordion/accordion.component.ts","../../src/components/slider/slider.gen.ts","../../src/components/slider/slider.component.ts","../../src/components/progressbar/progressbar.gen.ts","../../src/components/progressbar/progressbar.component.ts","../../src/components/toast/toast.gen.ts","../../src/components/toast/toast.component.ts","../../src/agnos-ui-angular.module.ts","../../src/components/modal/modal.service.ts","../../src/index.ts","../../src/agnos-ui-angular-bootstrap.ts"],"sourcesContent":["import {getModalDefaultConfig, createModal, modalOutsideClick, modalCloseButtonClick} from '@agnos-ui/core-bootstrap/components/modal';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, PropsConfig, Directive} from '@agnos-ui/angular-headless';\n\n\n/**\n * Retrieve a shallow copy of the default modal config\n * @returns the default modal config\n */\nconst export_getModalDefaultConfig: () => ModalProps<any> = getModalDefaultConfig as any;\nexport {export_getModalDefaultConfig as getModalDefaultConfig};\n\n\n\nexport type ModalContext<Data> = WidgetSlotContext<ModalWidget<Data>>;\n\nexport interface ModalState<Data> {\n\t\n\t/**\n\t * Whether the backdrop is fully hidden. This can be true either because {@link ModalProps.backdrop|backdrop} is false or\n\t * because {@link ModalProps.visible|visible} is false and there is no current transition.\n\t */\n\tbackdropHidden: boolean;\n\t\n\n\t/**\n\t * Whether the modal is fully hidden.\n\t */\n\thidden: boolean;\n\t\n\n\t/**\n\t * Whether there is an active transition to either display or hide the modal.\n\t */\n\ttransitioning: boolean;\n\t\n\n\t/**\n\t * DOM element of the modal.\n\t */\n\tmodalElement: HTMLElement | null;\n\t\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\tbackdropClass: string;\n\t\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseButton: boolean;\n\t\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\tcontainer: HTMLElement | null;\n\t\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Data to use in content slots\n\t */\n\tcontentData: Data;\n\t\n\t/**\n\t * Body of the modal.\n\t */\n\tchildren: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Footer of the modal.\n\t */\n\tfooter: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\theader: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\tstructure: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Title of the modal.\n\t */\n\ttitle: SlotContent<ModalContext<Data>>;\n\t\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\tfullscreen: boolean;\n}\n\nexport interface ModalProps<Data> {\n\t\n\t/**\n\t * The transition to use for the backdrop behind the modal (if present).\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\tbackdropTransition: TransitionFn;\n\t\n\n\t/**\n\t * The transition to use for the modal.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\tmodalTransition: TransitionFn;\n\t\n\t/**\n\t * Whether the modal and its backdrop (if present) should be animated when shown or hidden.\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\n\t/**\n\t * Whether a backdrop should be created behind the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\tbackdrop: boolean;\n\t\n\n\t/**\n\t * Whether the modal should be closed when clicking on the viewport outside the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseOnOutsideClick: boolean;\n\t\n\n\t/**\n\t * Event to be triggered when the modal is about to be closed (i.e. the {@link ModalApi.close|close} method was called).\n\t *\n\t * @param event - event giving access to the argument given to the {@link ModalApi.close|close} method and allowing\n\t * to cancel the close process.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonBeforeClose: (event: ModalBeforeCloseEvent) => void;\n\t\n\n\t/**\n\t * Event to be triggered when the visible property changes.\n\t *\n\t * @param visible - new value of the visible propery\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is not visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\tbackdropClass: string;\n\t\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseButton: boolean;\n\t\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\tcontainer: HTMLElement | null;\n\t\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Data to use in content slots\n\t */\n\tcontentData: Data;\n\t\n\t/**\n\t * Body of the modal.\n\t */\n\tchildren: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Footer of the modal.\n\t */\n\tfooter: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\theader: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\tstructure: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Title of the modal.\n\t */\n\ttitle: SlotContent<ModalContext<Data>>;\n\t\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\tfullscreen: boolean;\n}\n\nexport interface ModalApi<Data> {\n\t\n\t/**\n\t * Method to change some modal properties.\n\t */\n\tpatch: ModalWidget<Data>['patch'];\n\t\n\t/**\n\t * Closes the modal with the given result.\n\t *\n\t * @param result - result of the modal, as passed in the {@link ModalBeforeCloseEvent.result|result} property of the event passed to the\n\t * {@link ModalProps.onBeforeClose|onBeforeClose} event handler (and possibly changed by it) and resolved by the promise returned by the {@link ModalApi.open|open} method.\n\t */\n\tclose(result?: any): void;\n\t\n\n\t/**\n\t * Opens the modal and returns a promise that is resolved when the modal is closed.\n\t * The resolved value is the result passed to the {@link ModalApi.close|close} method and possibly changed by the\n\t * {@link ModalProps.onBeforeClose|onBeforeClose} event handler\n\t */\n\topen(): Promise<any>;\n}\n\n\n\nexport type ModalWidget<Data> = Widget<ModalProps<Data>, ModalState<Data>, ModalApi<Data>, ModalActions, ModalDirectives>;\n\n\n\n/**\n * Creates a new modal widget instance.\n * @param config - config of the modal, either as a store or as an object containing values or stores.\n * @returns a new modal widget instance\n */\nconst export_createModal: <Data>(config?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data> = createModal as any;\nexport {export_createModal as createModal};\n\n\n\n/**\n * Value present in the {@link ModalBeforeCloseEvent.result|result} property of the {@link ModalProps.onBeforeClose|onBeforeClose} event\n * and returned by the {@link ModalApi.open|open} method, when the modal is closed by a click inside the viewport but outside the modal.\n */\nconst export_modalOutsideClick: typeof modalOutsideClick = modalOutsideClick as any;\nexport {export_modalOutsideClick as modalOutsideClick};\n\n\n\n/**\n * Value present in the {@link ModalBeforeCloseEvent.result|result} property of the {@link ModalProps.onBeforeClose|onBeforeClose} event\n * and returned by the {@link ModalApi.open|open} method, when the modal is closed by a click on the close button.\n */\nconst export_modalCloseButtonClick: typeof modalCloseButtonClick = modalCloseButtonClick as any;\nexport {export_modalCloseButtonClick as modalCloseButtonClick};\n\nexport interface ModalBeforeCloseEvent {\n\t\n\t/**\n\t * Result of the modal, which is the value passed to the {@link ModalApi.close|close} method\n\t * and later resolved by the promise returned by the {@link ModalApi.open|open} method.\n\t * If needed, it can be changed from the {@link ModalProps.onBeforeClose|onBeforeClose} event handler.\n\t */\n\tresult: any;\n\t\n\n\t/**\n\t * Whether to cancel the close of the modal.\n\t * It can be changed from the {@link ModalProps.onBeforeClose|onBeforeClose} event handler.\n\t */\n\tcancel: boolean;\n}\n\nexport interface ModalActions {\n\t\n\t/**\n\t * Action to be called when the user clicks on the close button. It closes the modal with the {@link modalCloseButtonClick} result.\n\t * @param event - mouse event\n\t */\n\tcloseButtonClick(event: Pick<MouseEvent, never>): void;\n\t\n\n\t/**\n\t * Action to be called when the user clicks on the modal DOM element (which is supposed to have the size of the full viewport).\n\t * If the click is not done on a descendant of the modal DOM element, it is considered to be done outside the modal\n\t * and, depending on the value of the {@link ModalProps.closeOnOutsideClick|closeOnOutsideClick} prop, the modal is or isn't closed\n\t * (with the {@link modalOutsideClick} result).\n\t * @param event - mouse event\n\t */\n\tmodalClick(event: Pick<MouseEvent, 'target' | 'currentTarget'>): void;\n}\n\nexport interface ModalDirectives {\n\t\n\t/**\n\t * Directive to put on the modal DOM element.\n\t */\n\tmodalDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the backdrop DOM element.\n\t */\n\tbackdropDirective: Directive;\n\t\n\n\t/**\n\t * Portal directive to put on the modal DOM element.\n\t */\n\tmodalPortalDirective: Directive;\n\t\n\n\t/**\n\t * Portal directive to put on the backdrop DOM element.\n\t */\n\tbackdropPortalDirective: Directive;\n\t\n\n\t/**\n\t * Directive that adds all the necessary attributes to the close button\n\t */\n\tcloseButtonDirective: Directive;\n\t\n\t/**\n\t * Directive to apply to the dialog element when using the native [HTMLDialogElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement)\n\t */\n\tdialogDirective: Directive;\n}\n\n","import type {AngularWidget, Partial2Levels, Widget, WidgetFactory, WidgetProps, WidgetsConfigStore} from '@agnos-ui/angular-headless';\nimport {widgetsConfigFactory} from '@agnos-ui/angular-headless';\nimport type {BootstrapWidgetsConfig} from '@agnos-ui/core-bootstrap/config';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\n\nimport type {WidgetsConfig} from './config.gen';\nexport type {WidgetsConfig};\n\ntype AdaptParentConfig = (config: Partial2Levels<WidgetsConfig>) => Partial2Levels<WidgetsConfig>;\ntype InjectWidgetsConfig = (config?: Partial2Levels<WidgetsConfig>) => WidgetsConfigStore<WidgetsConfig>;\n\nconst widgetFactories: {\n\twidgetsConfigInjectionToken: InjectionToken<WidgetsConfigStore<WidgetsConfig>>;\n\tprovideWidgetsConfig: (adaptParentConfig?: AdaptParentConfig | undefined) => FactoryProvider;\n\tinjectWidgetConfig: <N extends keyof BootstrapWidgetsConfig>(widgetName: N) => ReadableSignal<Partial<WidgetsConfig[N]> | undefined>;\n\tinjectWidgetsConfig: InjectWidgetsConfig;\n\tcallWidgetFactory: <W extends Widget<object, object, object, object, object>>({\n\t\tfactory,\n\t\twidgetName,\n\t\tdefaultConfig,\n\t\tevents,\n\t\tafterInit,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: keyof BootstrapWidgetsConfig | null | undefined;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined> | undefined;\n\t\tevents?: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\t\tafterInit?: (() => void) | undefined;\n\t}) => AngularWidget<W>;\n} = widgetsConfigFactory<WidgetsConfig>(new InjectionToken<WidgetsConfigStore<WidgetsConfig>>('bootstrapWidgetsConfig'));\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} = widgetFactories;\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tContentAsSlotDirective,\n\tSlotDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tauBooleanAttribute,\n} from '@agnos-ui/angular-headless';\nimport type {ModalContext, ModalProps, ModalWidget, ModalBeforeCloseEvent} from './modal.gen';\nimport {createModal} from './modal.gen';\nimport {writable} from '@amadeus-it-group/tansu';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\n\n/**\n * Directive to provide the slot structure for the modal widget.\n */\n@Directive({selector: 'ng-template[auModalStructure]', standalone: true})\nexport class ModalStructureDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(dir: ModalStructureDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot header for the modal widget.\n */\n@Directive({selector: 'ng-template[auModalHeader]', standalone: true})\nexport class ModalHeaderDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalHeaderDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot title for the modal widget.\n */\n@Directive({selector: 'ng-template[auModalTitle]', standalone: true})\nexport class ModalTitleDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalTitleDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the default slot for the modal widget.\n */\n@Directive({selector: 'ng-template[auModalBody]', standalone: true})\nexport class ModalBodyDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalBodyDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot footer for the modal widget.\n */\n@Directive({selector: 'ng-template[auModalFooter]', standalone: true})\nexport class ModalFooterDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalFooterDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Component containing the default slots for the modal.\n */\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, ModalHeaderDirective, ModalStructureDirective, UseDirective],\n\ttemplate: `\n\t\t<ng-template auModalHeader #header let-state=\"state\" let-widget=\"widget\">\n\t\t\t<h5 class=\"modal-title\">\n\t\t\t\t<ng-template [auSlot]=\"state.title\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t</h5>\n\t\t\t@if (state.closeButton) {\n\t\t\t\t<button class=\"btn-close\" [auUse]=\"widget.directives.closeButtonDirective\"></button>\n\t\t\t}\n\t\t</ng-template>\n\t\t<ng-template auModalStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t\t@if (state.title) {\n\t\t\t\t<div class=\"modal-header\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.header\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-template [auSlot]=\"state.children\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t</div>\n\t\t\t@if (state.footer) {\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.footer\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nexport class ModalDefaultSlotsComponent<Data> {\n\t@ViewChild('header', {static: true}) header!: TemplateRef<ModalContext<Data>>;\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ModalContext<Data>>;\n}\n\n/**\n * Default slot for modal header.\n */\nexport const modalDefaultSlotHeader = new ComponentTemplate(ModalDefaultSlotsComponent, 'header');\n\n/**\n * Default slot for modal structure.\n */\nexport const modalDefaultSlotStructure = new ComponentTemplate(ModalDefaultSlotsComponent, 'structure');\n\nconst defaultConfig: Partial<ModalProps<any>> = {\n\theader: modalDefaultSlotHeader,\n\tstructure: modalDefaultSlotStructure,\n};\n\n/**\n * Modal component.\n */\n@Component({\n\tselector: '[auModal]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseMultiDirective, SlotDirective, ContentAsSlotDirective],\n\ttemplate: `\n\t\t<ng-template [auContentAsSlot]=\"defaultSlots\"><ng-content></ng-content></ng-template>\n\t\t@if (!state().backdropHidden) {\n\t\t\t<div class=\"modal-backdrop\" [auUseMulti]=\"[widget.directives.backdropPortalDirective, widget.directives.backdropDirective]\"></div>\n\t\t}\n\t\t@if (!state().hidden) {\n\t\t\t<div class=\"modal d-block\" [auUseMulti]=\"[widget.directives.modalPortalDirective, widget.directives.modalDirective]\">\n\t\t\t\t<div class=\"modal-dialog {{ state().fullscreen ? 'modal-fullscreen' : '' }}\">\n\t\t\t\t\t<div class=\"modal-content\">\n\t\t\t\t\t\t<ng-template [auSlot]=\"state().structure\" [auSlotProps]=\"{state: state(), widget}\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\t`,\n})\nexport class ModalComponent<Data> extends BaseWidgetDirective<ModalWidget<Data>> implements AfterContentChecked {\n\t/**\n\t * Whether the modal and its backdrop (if present) should be animated when shown or hidden.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\n\t/**\n\t * The transition to use for the backdrop behind the modal (if present).\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auBackdropTransition') backdropTransition: TransitionFn | undefined;\n\n\t/**\n\t * The transition to use for the modal.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auModalTransition') modalTransition: TransitionFn | undefined;\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute}) visible: boolean | undefined;\n\n\t/**\n\t * Whether a backdrop should be created behind the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auBackdrop', transform: auBooleanAttribute}) backdrop: boolean | undefined;\n\n\t/**\n\t * Whether the modal should be closed when clicking on the viewport outside the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auCloseOnOutsideClick', transform: auBooleanAttribute}) closeOnOutsideClick: boolean | undefined;\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\t@Input('auContainer') container: HTMLElement | null | undefined;\n\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auBackdropClass') backdropClass: string | undefined;\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auCloseButton', transform: auBooleanAttribute}) closeButton: boolean | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auFullscreen', transform: auBooleanAttribute}) fullscreen: boolean | undefined;\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\t@Input('auStructure') structure: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalStructureDirective, {static: false})\n\tslotStructureFromContent: ModalStructureDirective<Data> | undefined;\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\t@Input('auHeader') header: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalHeaderDirective, {static: false})\n\tslotHeaderFromContent: ModalHeaderDirective<Data> | undefined;\n\n\t/**\n\t * Title of the modal.\n\t */\n\t@Input('auTitle') title: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalTitleDirective, {static: false})\n\tslotTitleFromContent: ModalTitleDirective<Data> | undefined;\n\n\t/**\n\t * Body of the modal.\n\t */\n\t@Input('auChildren') children: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalBodyDirective, {static: false})\n\tslotDefaultFromContent: ModalBodyDirective<Data> | undefined;\n\n\t/**\n\t * Footer of the modal.\n\t */\n\t@Input('auFooter') footer: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalFooterDirective, {static: false})\n\tslotFooterFromContent: ModalFooterDirective<Data> | undefined;\n\n\t/**\n\t * Data to use in content slots\n\t */\n\t@Input('auContentData') contentData: Data | undefined;\n\n\t/**\n\t * Event to be triggered when the visible property changes.\n\t *\n\t * @param visible - new value of the visible propery\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Event to be triggered when the modal is about to be closed (i.e. the {@link ModalApi.close|close} method was called).\n\t *\n\t * @param event - event giving access to the argument given to the {@link ModalApi.close|close} method and allowing\n\t * to cancel the close process.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auBeforeClose') beforeClose = new EventEmitter<ModalBeforeCloseEvent>();\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is not visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\treadonly defaultSlots = writable(defaultConfig);\n\n\treadonly _widget = callWidgetFactory<ModalWidget<Data>>({\n\t\tfactory: createModal,\n\t\twidgetName: 'modal',\n\t\tdefaultConfig: this.defaultSlots,\n\t\tevents: {\n\t\t\tonShown: () => this.shown.emit(),\n\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\tonBeforeClose: (event) => this.beforeClose.emit(event),\n\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t},\n\t});\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\tfooter: this.slotFooterFromContent?.templateRef,\n\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\ttitle: this.slotTitleFromContent?.templateRef,\n\t\t} as any);\n\t}\n}\n","import {getPaginationDefaultConfig, createPagination} from '@agnos-ui/core-bootstrap/components/pagination';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n/**\n * Retrieve a shallow copy of the default Pagination config\n * @returns the default Pagination config\n */\nconst export_getPaginationDefaultConfig: () => PaginationProps = getPaginationDefaultConfig as any;\nexport {export_getPaginationDefaultConfig as getPaginationDefaultConfig};\n\n\n\n/**\n * A type for the slot context of the pagination widget\n */\nexport type PaginationContext = WidgetSlotContext<PaginationWidget>;\n\n\n\n/**\n * A type for the slot context of the pagination widget when the slot is the number label\n */\nexport type PaginationNumberContext = PaginationContext & {\n\t/**\n\t * Displayed page\n\t */\n\tdisplayedPage: number;\n};\n\nexport interface PaginationState {\n\t\n\t/**\n\t * The number of pages.\n\t */\n\tpageCount: number;\n\t\n\t/**\n\t * The current pages, the number in the Array is the number of the page.\n\t */\n\tpages: number[];\n\t\n\t/**\n\t * true if the previous link need to be disabled\n\t */\n\tpreviousDisabled: boolean;\n\t\n\t/**\n\t * true if the next link need to be disabled\n\t */\n\tnextDisabled: boolean;\n\t\n\t/**\n\t * The label for each \"Page\" page link.\n\t */\n\tpagesLabel: string[];\n\t\n\n\t/** The hrefs for each \"Page\" page link */\n\tpagesHrefs: string[];\n\t\n\n\t/** The hrefs for the direction links */\n\tdirectionsHrefs: DirectionsHrefs;\n\t\n\n\t/** The aria-live text */\n\tariaLiveLabelText: string;\n\t\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\tpage: number;\n\t // value of the current/init page to display\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\tsize: 'sm' | 'lg' | null;\n\t\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\tactiveLabel: string;\n\t\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\tariaFirstLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\tariaPreviousLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\tariaNextLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\tariaLastLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\tariaEllipsisLabel: string;\n\t\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdirectionLinks: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\tboundaryLinks: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\tstructure: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\tellipsisLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\tfirstPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\tpreviousPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\tnextPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\tlastPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\tpagesDisplay: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\tnumberLabel: SlotContent<PaginationNumberContext>;\n}\n\nexport interface PaginationProps {\n\t\n\t/**\n\t * The number of items in your paginated collection.\n\t *\n\t * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n\t * `collectionSize` and `pageSize`.\n\t *\n\t * Ex. if you have 100 items in your collection and displaying 20 items per page, you'll end up with 5 pages.\n\t *\n\t * Whatever the collectionSize the page number is of minimum 1.\n\t *\n\t * @defaultValue `0`\n\t */\n\tcollectionSize: number;\n\t\n\n\t/**\n\t * The number of items per page.\n\t * @remarks min value is 1\n\t *\n\t * @defaultValue `10`\n\t */\n\tpageSize: number;\n\t\n\n\t/**\n\t * An event fired when the page is changed.\n\t *\n\t * Event payload is the number of the newly selected page.\n\t *\n\t * Page numbers start with `1`.\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonPageChange: (page: number) => void;\n\t\n\n\t/**\n\t * pagesFactory returns a function computing the array of pages to be displayed\n\t * as number (-1 are treated as ellipsis).\n\t * Use Page slot to customize the pages view and not this\n\t * @param page - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number, pageCount: number) => {\n\t * \t\tconst pages: number[] = [];\n\t * \t\tfor (let i = 1; i <= pageCount; i++) {\n\t * \t\t\tpages.push(i);\n\t * \t\t}\n\t * \t\treturn pages;\n\t * \t}\n\t * ```\n\t */\n\tpagesFactory: (page: number, pageCount: number) => number[];\n\t\n\n\t/**\n\t * Provide the label for each \"Page\" page button.\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param processPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (processPage: number, pageCount: number) => `Page ${processPage} of ${pageCount}`\n\t * ```\n\t */\n\tariaPageLabel: (processPage: number, pageCount: number) => string;\n\t\n\n\t/**\n\t * Provide the label for the aria-live element\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param currentPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (currentPage: number, pageCount: number) => `Current page is ${currentPage}`\n\t * ```\n\t */\n\tariaLiveLabel: (currentPage: number, pageCount: number) => string;\n\t\n\n\t/**\n\t * Factory function providing the href for a \"Page\" page anchor,\n\t * based on the current page number\n\t * @param pageNumber - The index to use in the link\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number) => PAGE_LINK_DEFAULT\n\t * ```\n\t */\n\tpageLink: (pageNumber: number) => string;\n\t\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\tpage: number;\n\t // value of the current/init page to display\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\tsize: 'sm' | 'lg' | null;\n\t\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\tactiveLabel: string;\n\t\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\tariaFirstLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\tariaPreviousLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\tariaNextLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\tariaLastLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\tariaEllipsisLabel: string;\n\t\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdirectionLinks: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\tboundaryLinks: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\tstructure: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\tellipsisLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\tfirstPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\tpreviousPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\tnextPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\tlastPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\tpagesDisplay: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\tnumberLabel: SlotContent<PaginationNumberContext>;\n}\n\n\n\nexport type PaginationWidget = Widget<PaginationProps, PaginationState, PaginationApi, PaginationActions, PaginationDirectives>;\n\n\n\n/**\n * Create a PaginationWidget with given config props\n * @param config - an optional alert config\n * @returns a PaginationWidget\n */\nconst export_createPagination: WidgetFactory<PaginationWidget> = createPagination as any;\nexport {export_createPagination as createPagination};\n\nexport interface DirectionsHrefs {\n\t\n\t/**\n\t * The href for the 'Previous' navigation link\n\t */\n\tprevious: string;\n\t\n\t/**\n\t * The href for the 'Next' direction link\n\t */\n\tnext: string;\n}\n\nexport interface PaginationActions {\n\t\n\t/**\n\t * To \"go\" to a specific page\n\t * @param page - The page number to select\n\t */\n\tselect(page: number, event?: MouseEvent): void;\n\t\n\t/**\n\t * To \"go\" to the first page\n\t */\n\tfirst(event?: MouseEvent): void;\n\t\n\t/**\n\t * To \"go\" to the previous page\n\t */\n\tprevious(event?: MouseEvent): void;\n\t\n\t/**\n\t * To \"go\" to the next page\n\t */\n\tnext(event?: MouseEvent): void;\n\t\n\t/**\n\t * To \"go\" to the last page\n\t */\n\tlast(event?: MouseEvent): void;\n}\n\nexport interface PaginationDirectives {\n\t\n\t/**\n\t * A directive to be applied to each page link\n\t * This will handle the click, tabindex and aria attributes\n\t */\n\tpageLink: Directive<{\n\t\tpage: number;\n\t}>;\n\t\n\n\t/**\n\t * A directive to be applied on the previous link\n\t */\n\tpagePrev: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the first link\n\t */\n\tpageFirst: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the next link\n\t */\n\tpageNext: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the Last link\n\t */\n\tpageLast: Directive;\n}\n\nexport interface PaginationApi {\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {BaseWidgetDirective, ComponentTemplate, SlotDirective, UseDirective, auBooleanAttribute, auNumberAttribute} from '@agnos-ui/angular-headless';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {PaginationContext, PaginationNumberContext, PaginationProps, PaginationWidget} from './pagination.gen';\nimport {createPagination} from './pagination.gen';\n\n/**\n * A directive to use to give the 'ellipsis' link template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationEllipsis]', standalone: true})\nexport class PaginationEllipsisDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationEllipsisDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'first' link template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationFirst]', standalone: true})\nexport class PaginationFirstDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationFirstDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'last' link template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationLast]', standalone: true})\nexport class PaginationLastDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationLastDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'next' link template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationNext]', standalone: true})\nexport class PaginationNextDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationNextDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the page 'number' template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationNumber]', standalone: true})\nexport class PaginationNumberDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationNumberContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationNumberDirective, context: unknown): context is PaginationNumberContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'previous' link template to the pagination component\n */\n@Directive({selector: 'ng-template[auPaginationPrevious]', standalone: true})\nexport class PaginationPreviousDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationPreviousDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'Pages' template for the Pages slot\n */\n@Directive({selector: 'ng-template[auPaginationPages]', standalone: true})\nexport class PaginationPagesDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationPagesDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot structure for the pagination widget.\n */\n@Directive({selector: 'ng-template[auPaginationStructure]', standalone: true})\nexport class PaginationStructureDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(dir: PaginationStructureDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\timports: [SlotDirective, PaginationPagesDirective, PaginationStructureDirective, UseDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-template auPaginationPages #pages let-state=\"state\" let-widget=\"widget\">\n\t\t\t@for (page of state.pages; track page; let i = $index) {\n\t\t\t\t<li class=\"page-item\" [class.active]=\"page === state.page\" [class.disabled]=\"page === -1 || state.disabled\">\n\t\t\t\t\t@if (page === -1) {\n\t\t\t\t\t\t<div class=\"page-link au-ellipsis\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.ellipsisLabel\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"visually-hidden\">{{ state.ariaEllipsisLabel }}</span>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"[widget.directives.pageLink, {page}]\">\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.numberLabel\" [auSlotProps]=\"{state, widget, displayedPage: page}\"></ng-template>\n\t\t\t\t\t\t\t@if (state.page === page) {\n\t\t\t\t\t\t\t\t<span class=\"visually-hidden\">{{ state.activeLabel }}</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</li>\n\t\t\t}\n\t\t</ng-template>\n\t\t<ng-template auPaginationStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t\t<ul [class]=\"'au-pagination pagination' + (state.size ? ' pagination-' + state.size : '') + ' ' + state.className\">\n\t\t\t\t@if (state.boundaryLinks) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.previousDisabled\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"widget.directives.pageFirst\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.firstPageLabel\" [auSlotProps]=\"{widget, state}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t@if (state.directionLinks) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.previousDisabled\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"widget.directives.pagePrev\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.previousPageLabel\" [auSlotProps]=\"{widget, state}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t<ng-template [auSlot]=\"state.pagesDisplay\" [auSlotProps]=\"{widget, state}\"></ng-template>\n\t\t\t\t@if (state.directionLinks) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.nextDisabled\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"widget.directives.pageNext\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.nextPageLabel\" [auSlotProps]=\"{widget, state}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t@if (state.boundaryLinks) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.nextDisabled\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"widget.directives.pageLast\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.lastPageLabel\" [auSlotProps]=\"{widget, state}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t\t<div aria-live=\"polite\" class=\"visually-hidden\">{{ state.ariaLiveLabelText }}</div>\n\t\t</ng-template>\n\t`,\n})\nexport class PaginationDefaultSlotsComponent {\n\t@ViewChild('pages', {static: true}) pages!: TemplateRef<PaginationContext>;\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<PaginationContext>;\n}\n/**\n * The default slot for the pages\n */\nexport const paginationDefaultSlotPages = new ComponentTemplate(PaginationDefaultSlotsComponent, 'pages');\n/**\n * The default slot for the structure\n */\nexport const paginationDefaultSlotStructure = new ComponentTemplate(PaginationDefaultSlotsComponent, 'structure');\n\nconst defaultConfig: Partial<PaginationProps> = {\n\tstructure: paginationDefaultSlotStructure,\n\tpagesDisplay: paginationDefaultSlotPages,\n};\n\n@Component({\n\tselector: '[auPagination]',\n\tstandalone: true,\n\timports: [SlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[attr.aria-label]': 'state().ariaLabel',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\ttemplate: `<ng-template [auSlotProps]=\"{state: state(), widget}\" [auSlot]=\"state().structure\"></ng-template>`,\n})\nexport class PaginationComponent extends BaseWidgetDirective<PaginationWidget> implements AfterContentChecked {\n\t/**\n\t * Provide the label for each \"Page\" page button.\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param processPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (processPage: number, pageCount: number) => `Page ${processPage} of ${pageCount}`\n\t * ```\n\t */\n\t@Input('auAriaPageLabel') ariaPageLabel: ((processPage: number, pageCount: number) => string) | undefined;\n\n\t/**\n\t * Provide the label for the aria-live element\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param currentPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (currentPage: number, pageCount: number) => `Current page is ${currentPage}`\n\t * ```\n\t */\n\t@Input('auAriaLiveLabel') ariaLiveLabel: ((currentPage: number, pageCount: number) => string) | undefined;\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\t@Input('auActiveLabel') activeLabel: string | undefined;\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\t@Input('auAriaFirstLabel') ariaFirstLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\t@Input('auAriaPreviousLabel') ariaPreviousLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\t@Input('auAriaNextLabel') ariaNextLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\t@Input('auAriaLastLabel') ariaLastLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\t@Input('auAriaEllipsisLabel') ariaEllipsisLabel: string | undefined;\n\n\t/**\n\t * Factory function providing the href for a \"Page\" page anchor,\n\t * based on the current page number\n\t * @param pageNumber - The index to use in the link\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number) => PAGE_LINK_DEFAULT\n\t * ```\n\t */\n\t@Input('auPageLink') pageLink: ((pageNumber: number) => string) | undefined;\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createPagination,\n\t\twidgetName: 'pagination',\n\t\tdefaultConfig,\n\t\tevents: {\n\t\t\tonPageChange: (page: number) => this.pageChange.emit(page),\n\t\t},\n\t});\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\t@Input('auEllipsisLabel') ellipsisLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationEllipsisDirective, {static: false})\n\tslotEllipsisFromContent: PaginationEllipsisDirective | undefined;\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\t@Input('auFirstPageLabel') firstPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationFirstDirective, {static: false})\n\tslotFirstFromContent: PaginationFirstDirective | undefined;\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\t@Input('auPreviousPageLabel') previousPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationPreviousDirective, {static: false})\n\tslotPreviousFromContent: PaginationPreviousDirective | undefined;\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\t@Input('auNextPageLabel') nextPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationNextDirective, {static: false})\n\tslotNextFromContent: PaginationNextDirective | undefined;\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\t@Input('auLastPageLabel') lastPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationLastDirective, {static: false})\n\tslotLastFromContent: PaginationLastDirective | undefined;\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\t@Input('auPagesDisplay') pagesDisplay: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationPagesDirective, {static: false})\n\tslotPagesFromContent: PaginationPagesDirective | undefined;\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\t@Input('auNumberLabel') numberLabel: SlotContent<PaginationNumberContext>;\n\t@ContentChild(PaginationNumberDirective, {static: false})\n\tslotNumberLabelFromContent: PaginationNumberDirective | undefined;\n\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\t@Input('auStructure') structure: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationStructureDirective, {static: false})\n\tslotStructureFromContent: PaginationStructureDirective | undefined;\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auBoundaryLinks', transform: auBooleanAttribute}) boundaryLinks: boolean | undefined;\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDirectionLinks', transform: auBooleanAttribute}) directionLinks: boolean | undefined;\n\n\t/**\n\t * The number of items in your paginated collection.\n\t *\n\t * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n\t * `collectionSize` and `pageSize`.\n\t *\n\t * Ex. if you have 100 items in your collection and displaying 20 items per page, you'll end up with 5 pages.\n\t *\n\t * Whatever the collectionSize the page number is of minimum 1.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auCollectionSize', transform: auNumberAttribute}) collectionSize: number | undefined;\n\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\t@Input({alias: 'auPage', transform: auNumberAttribute}) page: number | undefined;\n\n\t/**\n\t * The number of items per page.\n\t * @remarks min value is 1\n\t *\n\t * @defaultValue `10`\n\t */\n\t@Input({alias: 'auPageSize', transform: auNumberAttribute}) pageSize: number | undefined;\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\t@Input('auSize') size: 'sm' | 'lg' | null | undefined;\n\n\t/**\n\t * pagesFactory returns a function computing the array of pages to be displayed\n\t * as number (-1 are treated as ellipsis).\n\t * Use Page slot to customize the pages view and not this\n\t * @param page - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number, pageCount: number) => {\n\t * \t\tconst pages: number[] = [];\n\t * \t\tfor (let i = 1; i <= pageCount; i++) {\n\t * \t\t\tpages.push(i);\n\t * \t\t}\n\t * \t\treturn pages;\n\t * \t}\n\t * ```\n\t */\n\t@Input('auPagesFactory') pagesFactory: ((page: number, pageCount: number) => number[]) | undefined;\n\n\t/**\n\t * An event fired when the page is changed.\n\t *\n\t * Event payload is the number of the newly selected page.\n\t *\n\t * Page numbers start with `1`.\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auPageChange') pageChange = new EventEmitter<number>();\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\tellipsisLabel: this.slotEllipsisFromContent?.templateRef,\n\t\t\tfirstPageLabel: this.slotFirstFromContent?.templateRef,\n\t\t\tpreviousPageLabel: this.slotPreviousFromContent?.templateRef,\n\t\t\tnextPageLabel: this.slotNextFromContent?.templateRef,\n\t\t\tlastPageLabel: this.slotLastFromContent?.templateRef,\n\t\t\tpagesDisplay: this.slotPagesFromContent?.templateRef,\n\t\t\tnumberLabel: this.slotNumberLabelFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {getRatingDefaultConfig, createRating} from '@agnos-ui/core-bootstrap/components/rating';\nimport type {SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Rating config\n * @returns the default Rating config\n */\nconst export_getRatingDefaultConfig: () => RatingProps = getRatingDefaultConfig as any;\nexport {export_getRatingDefaultConfig as getRatingDefaultConfig};\n\nexport interface RatingState {\n\t\n\t/**\n\t * the aria value of the rating\n\t */\n\tariaValueText: string;\n\t\n\t/**\n\t * the visible value of the rating (it changes when hovering over the rating even though the real value did not change)\n\t */\n\tvisibleRating: number;\n\t\n\t/**\n\t * is the rating interactive i.e. listening to hover, click and keyboard events\n\t */\n\tinteractive: boolean;\n\t\n\t/**\n\t * the list of stars\n\t */\n\tstars: StarContext[];\n\t\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\trating: number;\n\t\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\tmaxRating: number;\n\t\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\tresettable: boolean;\n\t\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\ttabindex: number;\n\t\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\tariaLabelledBy: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\tstar: SlotContent<StarContext>;\n}\n\nexport interface RatingProps {\n\t\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param rating - Current rating value.\n\t * @param maxRating - maxRating value.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (rating: number, maxRating: number) => `${rating} out of ${maxRating}`\n\t * ```\n\t */\n\tariaValueTextFn: (rating: number, maxRating: number) => string;\n\t\n\n\t/**\n\t * An event emitted when the rating is changed.\n\t *\n\t * Event payload is equal to the newly selected rating.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonRatingChange: (rating: number) => void;\n\t\n\n\t/**\n\t * An event emitted when the user is hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHover: (rating: number) => void;\n\t\n\n\t/**\n\t * An event emitted when the user stops hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating of the last item being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonLeave: (rating: number) => void;\n\t\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\trating: number;\n\t\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\tmaxRating: number;\n\t\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\tresettable: boolean;\n\t\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\ttabindex: number;\n\t\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\tariaLabelledBy: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\tstar: SlotContent<StarContext>;\n}\n\n\n\nexport type RatingWidget = Widget<RatingProps, RatingState, object, RatingActions, RatingDirectives>;\n\n\n\n/**\n * Create a RatingWidget with given config props\n * @param config - an optional rating config\n * @returns a RatingWidget\n */\n\nconst export_createRating: WidgetFactory<RatingWidget> = createRating as any;\nexport {export_createRating as createRating};\n\nexport interface StarContext {\n\t\n\t/**\n\t * indicates how much the current star is filled, from 0 to 100\n\t */\n\tfill: number;\n\t\n\t/**\n\t * the position of the star in the rating\n\t */\n\tindex: number;\n}\n\nexport interface RatingDirectives {\n\t\n\t/**\n\t * A directive to be applied to the main container\n\t * This will handle the keydown, mouseleave, tabindex and aria attributes\n\t */\n\tcontainerDirective: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on each star element\n\t */\n\tstarDirective: Directive<{index: number}>;\n}\n\nexport interface RatingActions {\n\t\n\t/**\n\t * Method to be used when a star is clicked.\n\t *\n\t * To be used in the onclick event of a star\n\t * @param index - Star index, starting from 1\n\t */\n\tclick(index: number): void;\n\t\n\n\t/**\n\t * Method to be used when the mouse enter in a star.\n\t *\n\t * To be used in the onmouseenter of a star\n\t * @param index - Star index, starting from 1\n\t */\n\thover(index: number): void;\n\t\n\n\t/**\n\t * Method to be used when the mouse leave the widget.\n\t *\n\t * To be used in the onmouseleave of the rating container\n\t */\n\tleave(): void;\n\t\n\n\t/**\n\t * Method to be used to handle the keyboard.\n\t *\n\t * To be used in the onkeydown of the rating container\n\t */\n\thandleKey(event: KeyboardEvent): void;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewEncapsulation,\n\tforwardRef,\n\tinject,\n} from '@angular/core';\nimport type {ControlValueAccessor} from '@angular/forms';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {callWidgetFactory} from '../../config';\nimport type {RatingWidget, StarContext} from './rating.gen';\nimport {createRating} from './rating.gen';\n\n@Directive({selector: 'ng-template[auRatingStar]', standalone: true})\nexport class RatingStarDirective {\n\tpublic templateRef = inject(TemplateRef<StarContext>);\n\tstatic ngTemplateContextGuard(_dir: RatingStarDirective, context: unknown): context is StarContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tselector: '[auRating]',\n\tstandalone: true,\n\timports: [UseDirective, SlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'd-inline-flex',\n\t\t'(blur)': 'onTouched()',\n\t},\n\ttemplate: `\n\t\t@for (item of state().stars; track trackByIndex(index); let index = $index) {\n\t\t\t<span class=\"visually-hidden\">({{ index < state().visibleRating ? '*' : ' ' }})</span>\n\t\t\t<span [auUse]=\"[_widget.directives.starDirective, {index}]\">\n\t\t\t\t<ng-template [auSlot]=\"state().star\" [auSlotProps]=\"state().stars[index]\"></ng-template>\n\t\t\t</span>\n\t\t}\n\t`,\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RatingComponent), multi: true}],\n})\nexport class RatingComponent extends BaseWidgetDirective<RatingWidget> implements ControlValueAccessor, AfterContentChecked {\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createRating,\n\t\twidgetName: 'rating',\n\t\tevents: {\n\t\t\tonHover: (event) => this.hover.emit(event),\n\t\t\tonLeave: (event) => this.leave.emit(event),\n\t\t\tonRatingChange: (rating: number) => {\n\t\t\t\tthis.ratingChange.emit(rating);\n\t\t\t\tthis.onChange(rating);\n\t\t\t},\n\t\t},\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.containerDirective);\n\t\t},\n\t});\n\n\tonChange = (_: any) => {};\n\tonTouched = () => {};\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param rating - Current rating value.\n\t * @param maxRating - maxRating value.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (rating: number, maxRating: number) => `${rating} out of ${maxRating}`\n\t * ```\n\t */\n\t@Input('auAriaValueTextFn') ariaValueTextFn: ((rating: number, maxRating: number) => string) | undefined;\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\t@Input({alias: 'auMaxRating', transform: auNumberAttribute}) maxRating: number | undefined;\n\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auRating', transform: auNumberAttribute}) rating: number | undefined;\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auReadonly', transform: auBooleanAttribute}) readonly: boolean | undefined;\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auResettable', transform: auBooleanAttribute}) resettable: boolean | undefined;\n\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\t@Input('auStar') star: SlotContent<StarContext>;\n\t@ContentChild(RatingStarDirective, {static: false}) slotStarFromContent: RatingStarDirective | undefined;\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auTabindex', transform: auNumberAttribute}) tabindex: number | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auAriaLabelledBy') ariaLabelledBy: string | undefined;\n\n\t/**\n\t * An event emitted when the user is hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHover') hover = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the user stops hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating of the last item being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auLeave') leave = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the rating is changed.\n\t *\n\t * Event payload is equal to the newly selected rating.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auRatingChange') ratingChange = new EventEmitter<number>();\n\n\twriteValue(value: any): void {\n\t\tthis._widget.patch({rating: value});\n\t}\n\n\tregisterOnChange(fn: (value: any) => any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(disabled: boolean): void {\n\t\tthis._widget.patch({disabled});\n\t}\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tstar: this.slotStarFromContent?.templateRef,\n\t\t});\n\t}\n\n\ttrackByIndex(index: number) {\n\t\treturn index;\n\t}\n}\n","import {getSelectDefaultConfig, createSelect} from '@agnos-ui/core-bootstrap/components/select';\nimport type {WidgetSlotContext, SlotContent, Widget, PropsConfig, HasFocus, FloatingUI, Directive} from '@agnos-ui/angular-headless';\nimport type {Placement} from '@floating-ui/dom';\n\n\n\n/**\n * Retrieve a shallow copy of the default Select config\n * @returns the default Select config\n */\nconst export_getSelectDefaultConfig: () => SelectProps<any> = getSelectDefaultConfig as any;\nexport {export_getSelectDefaultConfig as getSelectDefaultConfig};\n\n\n\n/**\n * A type for the slot context of the pagination widget\n */\nexport type SelectContext<Item> = WidgetSlotContext<SelectWidget<Item>>;\n\n\n\nexport type SelectItemContext<Item> = SelectContext<Item> & {\n\t/**\n\t * Contextual data related to an item\n\t */\n\titemContext: ItemContext<Item>;\n};\n\nexport interface SelectState<Item> {\n\t\n\t/**\n\t * List of item contexts, to be displayed in the menu\n\t */\n\tvisibleItems: ItemContext<Item>[];\n\t\n\n\t/**\n\t * List of selected items to be display\n\t */\n\tselectedContexts: ItemContext<Item>[];\n\t\n\n\t/**\n\t * Highlighted item context.\n\t * It is designed to define the highlighted item in the dropdown menu\n\t */\n\thighlighted: ItemContext<Item> | undefined;\n\t\n\n\t/**\n\t * Current placement of the dropdown\n\t */\n\tplacement: Placement | undefined;\n\t\n\t/**\n\t * id used for the input inside the select\n\t */\n\tid: string | undefined;\n\t\n\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\tariaLabel: string | undefined;\n\t\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\tselected: Item[];\n\t\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\tfilterText: string;\n\t\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\topen: boolean;\n\t\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuClassName: string;\n\t\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuItemClassName: string;\n\t\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\tbadgeClassName: string;\n\t\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\tloading: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\tbadgeLabel: SlotContent<SelectItemContext<Item>>;\n\t\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\titemLabel: SlotContent<SelectItemContext<Item>>;\n}\n\nexport interface SelectProps<Item> {\n\t\n\t/**\n\t * List of available items for the dropdown\n\t *\n\t * @defaultValue `[]`\n\t */\n\titems: Item[];\n\t\n\n\t/**\n\t * List of allowed placements for the dropdown.\n\t * This refers to the [allowedPlacements from floating UI](https://floating-ui.com/docs/autoPlacement#allowedplacements), given the different [Placement possibilities](https://floating-ui.com/docs/computePosition#placement).\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ['bottom-start', 'top-start', 'bottom-end', 'top-end']\n\t * ```\n\t */\n\tallowedPlacements: Placement[];\n\t\n\n\t/**\n\t * Custom function to get the id of an item\n\t * By default, the item is returned\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (item: any) => '' + item\n\t * ```\n\t */\n\titemIdFn(item: Item): string;\n\t\n\n\t/**\n\t * Retrieves navigable elements within an HTML element containing badges and the input.\n\t *\n\t * @param node - HTMLElement that contains the badges and the input\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')\n\t * ```\n\t */\n\tnavSelector(node: HTMLElement): NodeListOf<HTMLSpanElement | HTMLInputElement>;\n\t\n\n\t// Event callbacks\n\n\t/**\n\t * Callback called dropdown open state change\n\t * @param isOpen - updated open state\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonOpenChange(isOpen: boolean): void;\n\t\n\n\t/**\n\t * Callback called when the text filter change\n\t * @param text - Filtered text\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonFilterTextChange(text: string): void;\n\t\n\n\t/**\n\t * Callback called when the selection change\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonSelectedChange(selected: Item[]): void;\n\t\n\t/**\n\t * id used for the input inside the select\n\t */\n\tid: string | undefined;\n\t\n\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\tariaLabel: string | undefined;\n\t\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\tselected: Item[];\n\t\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\tfilterText: string;\n\t\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\topen: boolean;\n\t\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuClassName: string;\n\t\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuItemClassName: string;\n\t\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\tbadgeClassName: string;\n\t\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\tloading: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\tbadgeLabel: SlotContent<SelectItemContext<Item>>;\n\t\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\titemLabel: SlotContent<SelectItemContext<Item>>;\n}\n\n\n\nexport type SelectWidget<Item> = Widget<SelectProps<Item>, SelectState<Item>, SelectApi<Item>, SelectActions<Item>, SelectDirectives<Item>>;\n\n\n\n/**\n * Creates a new select widget instance.\n * @param config - config of the modal, either as a store or as an object containing values or stores.\n * @returns a new select widget instance\n */\nconst export_createSelect: <Item>(config?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = createSelect as any;\nexport {export_createSelect as createSelect};\n\nexport interface ItemContext<T> {\n\t\n\t/**\n\t * Original item given in the parameters\n\t */\n\titem: T;\n\t\n\n\t/**\n\t * Unique id to identify the item\n\t */\n\tid: string;\n\t\n\n\t/**\n\t * Specify if the item is checked\n\t */\n\tselected: boolean;\n}\n\nexport interface SelectApi<Item> {\n\t\n\t/**\n\t * Clear all the selected items\n\t */\n\tclear(): void;\n\t\n\n\t/**\n\t * Clear the filter text\n\t */\n\tclearText(): void;\n\t\n\n\t/**\n\t * Highlight the given item, if there is a corresponding match among the visible list\n\t */\n\thighlight(item: Item): void;\n\t\n\n\t/**\n\t * Highlight the first item among the visible list\n\t */\n\thighlightFirst(): void;\n\t\n\n\t/**\n\t * Highlight the previous item among the visible list\n\t * Loop to the last item if needed\n\t */\n\thighlightPrevious(): void;\n\t\n\n\t/**\n\t * Highlight the next item among the visible list.\n\t * Loop to the first item if needed\n\t */\n\thighlightNext(): void;\n\t\n\n\t/**\n\t * Highlight the last item among the visible list\n\t */\n\thighlightLast(): void;\n\t\n\n\t/**\n\t * Select the provided item.\n\t * The selected list is used to\n\t * @param item - the item to select\n\t */\n\tselect(item: Item): void;\n\t\n\t/**\n\t * Unselect the provided item.\n\t * @param item - the item to unselect\n\t */\n\tunselect(item: Item): void;\n\t\n\t/**\n\t * Toggle the selection of an item\n\t * @param item - the item to toggle\n\t * @param selected - an optional boolean to enforce the selected/unselected state instead of toggling\n\t */\n\ttoggleItem(item: Item, selected?: boolean): void;\n\t\n\n\t/**\n\t * open the select\n\t */\n\topen(): void;\n\t\n\t/**\n\t * close the select\n\t */\n\tclose(): void;\n\t\n\t/**\n\t * Toggle the dropdown menu\n\t * @param isOpen - If specified, set the menu in the defined state.\n\t */\n\ttoggle(isOpen?: boolean): void;\n}\n\nexport interface SelectDirectives<Item> {\n\t\n\t/**\n\t * Directive to be used in the input group and the menu containers\n\t */\n\thasFocusDirective: HasFocus['directive'];\n\t\n\n\t/**\n\t * Directive that enables dynamic positioning of menu element\n\t */\n\tfloatingDirective: FloatingUI['directives']['floatingDirective'];\n\t\n\n\t/**\n\t * A directive to be applied to the input group element serves as the base for menu positioning\n\t */\n\treferenceDirective: FloatingUI['directives']['referenceDirective'];\n\t\n\n\t/**\n\t * A directive to be applied to the element that contains the badges and the input\n\t */\n\tinputContainerDirective: Directive;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the container badges\n\t */\n\tbadgeAttributesDirective: Directive<ItemContext<Item>>;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the dropdown menu\n\t */\n\tmenuAttributesDirective: Directive;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the dropdown item\n\t */\n\titemAttributesDirective: Directive<ItemContext<Item>>;\n}\n\nexport interface SelectActions<Item> {\n\t\n\t// Dom methods\n\n\t/**\n\t * Method to be plugged to on the 'input' event. The input text will be used as the filter text.\n\t */\n\tonInput: (e: {target: any}) => void;\n\t\n\n\t/**\n\t * Method to be attached to the node element to close a badge on click.\n\t */\n\tonRemoveBadgeClick: (event: MouseEvent, item: Item) => void;\n\t\n\n\t/**\n\t * Method to be plugged to on an keydown event of the main input, in order to control the keyboard interactions with the highlighted item.\n\t * It manages arrow keys to move the highlighted item, or enter to toggle the item.\n\t */\n\tonInputKeydown: (event: KeyboardEvent) => void;\n\t\n\n\t/**\n\t * Method to be plugged to on an keydown event of a badge container, in order to manage main actions on badges.\n\t *\n\t * @param event - keyboard event\n\t * @param item - corresponding item\n\t */\n\tonBadgeKeydown: (event: KeyboardEvent, item: Item) => void;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tSlotDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tauBooleanAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport type {AfterContentChecked} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, inject} from '@angular/core';\nimport type {Placement} from '@floating-ui/dom';\nimport {callWidgetFactory} from '../../config';\nimport type {ItemContext, SelectItemContext, SelectWidget} from './select.gen';\nimport {createSelect} from './select.gen';\n\n@Directive({selector: 'ng-template[auSelectBadgeLabel]', standalone: true})\nexport class SelectBadgeLabelDirective<Item> {\n\tpublic templateRef = inject(TemplateRef<SelectItemContext<Item>>);\n\tstatic ngTemplateContextGuard<Item>(_dir: SelectBadgeLabelDirective<Item>, context: unknown): context is SelectItemContext<Item> {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auSelectItemLabel]', standalone: true})\nexport class SelectItemLabelDirective<Item> {\n\tpublic templateRef = inject(TemplateRef<SelectItemContext<Item>>);\n\tstatic ngTemplateContextGuard<Item>(_dir: SelectItemLabelDirective<Item>, context: unknown): context is SelectItemContext<Item> {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\timports: [UseMultiDirective, SlotDirective, UseDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tselector: '[auSelect]',\n\thost: {\n\t\t'[class]': '\"au-select dropdown border border-1 p-1 mb-3 d-block\" + state().className',\n\t},\n\ttemplate: `\n\t\t@if (state(); as state) {\n\t\t\t<div\n\t\t\t\t[auUseMulti]=\"[widget.directives.hasFocusDirective, widget.directives.inputContainerDirective]\"\n\t\t\t\tclass=\"d-flex align-items-center flex-wrap gap-1\"\n\t\t\t>\n\t\t\t\t@if (state.selectedContexts; as selectedContexts) {\n\t\t\t\t\t@for (itemContext of selectedContexts; track itemCtxTrackBy($index, itemContext)) {\n\t\t\t\t\t\t<div [auUse]=\"[_widget.directives.badgeAttributesDirective, itemContext]\">\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.badgeLabel\" [auSlotProps]=\"{state, widget, itemContext}\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t<input\n\t\t\t\t\tattr.id=\"{{ state.id }}\"\n\t\t\t\t\tattr.aria-label=\"{{ state.ariaLabel }}\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tclass=\"au-select-input flex-grow-1 border-0\"\n\t\t\t\t\t[value]=\"state.filterText\"\n\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t(input)=\"_widget.actions.onInput($event)\"\n\t\t\t\t\t(keydown)=\"_widget.actions.onInputKeydown($event)\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t@if (state.open && state.visibleItems.length) {\n\t\t\t\t<ul\n\t\t\t\t\t[auUseMulti]=\"[widget.directives.hasFocusDirective, widget.directives.floatingDirective, widget.directives.menuAttributesDirective]\"\n\t\t\t\t\tclass=\"dropdown-menu show\"\n\t\t\t\t>\n\t\t\t\t\t@for (itemContext of state.visibleItems; track itemCtxTrackBy($index, itemContext)) {\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass=\"dropdown-item position-relative\"\n\t\t\t\t\t\t\t[auUse]=\"[_widget.directives.itemAttributesDirective, itemContext]\"\n\t\t\t\t\t\t\t[class.text-bg-primary]=\"itemContext === state.highlighted\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.itemLabel\" [auSlotProps]=\"{state, widget, itemContext}\"></ng-template>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t}\n\t\t}\n\t`,\n})\nexport class SelectComponent<Item> extends BaseWidgetDirective<SelectWidget<Item>> implements AfterContentChecked {\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * id used for the input inside the select\n\t */\n\t@Input('auId') id: string | undefined;\n\n\t/**\n\t * List of available items for the dropdown\n\t *\n\t * @defaultValue `[]`\n\t */\n\t@Input('auItems') items: Item[] | undefined;\n\n\t/**\n\t * List of allowed placements for the dropdown.\n\t * This refers to the [allowedPlacements from floating UI](https://floating-ui.com/docs/autoPlacement#allowedplacements), given the different [Placement possibilities](https://floating-ui.com/docs/computePosition#placement).\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ['bottom-start', 'top-start', 'bottom-end', 'top-end']\n\t * ```\n\t */\n\t@Input('auAllowedPlacements') allowedPlacements: Placement[] | undefined;\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auOpen', transform: auBooleanAttribute}) open: boolean | undefined;\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auFilterText') filterText: string | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\t@Input('auSelected') selected: Item[] | undefined;\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auLoading', transform: auBooleanAttribute}) loading: boolean | undefined;\n\n\t/**\n\t * Custom function to get the id of an item\n\t * By default, the item is returned\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (item: any) => '' + item\n\t * ```\n\t */\n\t@Input('auItemIdFn') itemIdFn: ((item: Item) => string) | undefined;\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auMenuClassName') menuClassName: string | undefined;\n\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\t@Input('auBadgeLabel') badgeLabel: SlotContent<SelectItemContext<Item>>;\n\t@ContentChild(SelectBadgeLabelDirective, {static: false}) slotSelectBadgeLabelFromContent: SelectBadgeLabelDirective<Item> | undefined;\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\t@Input('auItemLabel') itemLabel: SlotContent<SelectItemContext<Item>>;\n\t@ContentChild(SelectItemLabelDirective, {static: false}) slotSelectItemLabelFromContent: SelectItemLabelDirective<Item> | undefined;\n\n\t/**\n\t * Callback called when the text filter change\n\t * @param text - Filtered text\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auFilterTextChange') filterTextChange = new EventEmitter<string>();\n\n\t/**\n\t * Callback called when the selection change\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auSelectedChange') selectedChange = new EventEmitter<Item[]>();\n\n\t/**\n\t * Callback called dropdown open state change\n\t * @param isOpen - updated open state\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auOpenChange') openChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auMenuItemClassName') menuItemClassName: string | undefined;\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auBadgeClassName') badgeClassName: string | undefined;\n\n\t/**\n\t * Retrieves navigable elements within an HTML element containing badges and the input.\n\t *\n\t * @param node - HTMLElement that contains the badges and the input\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')\n\t * ```\n\t */\n\t@Input('auNavSelector') navSelector: ((node: HTMLElement) => NodeListOf<HTMLSpanElement | HTMLInputElement>) | undefined;\n\n\treadonly _widget = callWidgetFactory<SelectWidget<Item>>({\n\t\tfactory: createSelect,\n\t\twidgetName: 'select',\n\t\tevents: {\n\t\t\tonOpenChange: (event) => this.openChange.emit(event),\n\t\t\tonSelectedChange: (event) => this.selectedChange.emit(event),\n\t\t\tonFilterTextChange: (event) => this.filterTextChange.emit(event),\n\t\t},\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.referenceDirective);\n\t\t},\n\t});\n\n\titemCtxTrackBy(_: number, itemContext: ItemContext<Item>) {\n\t\treturn itemContext.id;\n\t}\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tbadgeLabel: this.slotSelectBadgeLabelFromContent?.templateRef,\n\t\t\titemLabel: this.slotSelectItemLabelFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {getAlertDefaultConfig, createAlert} from '@agnos-ui/core-bootstrap/components/alert';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n\n\n/**\n * Retrieve a shallow copy of the default Alert config\n * @returns the default Alert config\n */\nconst export_getAlertDefaultConfig: () => AlertProps = getAlertDefaultConfig as any;\nexport {export_getAlertDefaultConfig as getAlertDefaultConfig};\n\n\n\nexport type AlertContext = WidgetSlotContext<AlertWidget>;\n\nexport interface AlertState {\n\t\n\t/**\n\t * Is `true` when the alert is hidden. Compared to `visible`, this is updated after the transition is executed.\n\t */\n\thidden: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the alert component\n\t */\n\tstructure: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Template for the alert content\n\t */\n\tchildren: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\ttype: BSContextualClass;\n}\n\nexport interface AlertProps {\n\t\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimatedOnInit: boolean;\n\t\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the alert component\n\t */\n\tstructure: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Template for the alert content\n\t */\n\tchildren: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\ttype: BSContextualClass;\n}\n\n\n\nexport type AlertWidget = Widget<AlertProps, AlertState, AlertApi, object, AlertDirectives>;\n\n\n\n/**\n * Create an AlertWidget with given config props\n * @param config - an optional alert config\n * @returns an AlertWidget\n */\nconst export_createAlert: WidgetFactory<AlertWidget> = createAlert as any;\nexport {export_createAlert as createAlert};\n\nexport interface AlertApi {\n\t\n\t/**\n\t * Triggers alert closing programmatically (same as clicking on the close button (×)).\n\t */\n\tclose(): void;\n\t\n\n\t/**\n\t * Triggers the alert to be displayed for the user.\n\t */\n\topen(): void;\n}\n\nexport interface AlertDirectives {\n\t\n\t/**\n\t * the transition directive, piloting what is the visual effect of going from hidden to visible\n\t */\n\ttransitionDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tContentAsSlotDirective,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n} from '@agnos-ui/angular-headless';\nimport type {AlertContext, AlertProps, AlertWidget} from './alert.gen';\nimport {createAlert} from './alert.gen';\nimport {type WritableSignal, writable} from '@amadeus-it-group/tansu';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n@Directive({selector: 'ng-template[auAlertBody]', standalone: true})\nexport class AlertBodyDirective {\n\tpublic templateRef = inject(TemplateRef<AlertContext>);\n\tstatic ngTemplateContextGuard(dir: AlertBodyDirective, context: unknown): context is AlertContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auAlertStructure]', standalone: true})\nexport class AlertStructureDirective {\n\tpublic templateRef = inject(TemplateRef<AlertContext>);\n\tstatic ngTemplateContextGuard(dir: AlertStructureDirective, context: unknown): context is AlertContext {\n\t\treturn true;\n\t}\n}\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, AlertStructureDirective],\n\ttemplate: ` <ng-template auAlertStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t<div class=\"alert-body\">\n\t\t\t<ng-template [auSlot]=\"state.children\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t</div>\n\t\t@if (state.dismissible) {\n\t\t\t<button type=\"button\" class=\"btn-close\" (click)=\"widget.api.close()\" [attr.aria-label]=\"state.ariaCloseButtonLabel\"></button>\n\t\t}\n\t</ng-template>`,\n})\nexport class AlertDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<AlertContext>;\n}\n\nexport const alertDefaultSlotStructure = new ComponentTemplate(AlertDefaultSlotsComponent, 'structure');\n\nexport type PartialAlertProps = Partial<AlertProps>;\nconst defaultConfig: PartialAlertProps = {\n\tstructure: alertDefaultSlotStructure,\n};\n\n@Component({\n\tselector: '[auAlert]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, UseDirective, ContentAsSlotDirective],\n\ttemplate: ` <ng-template [auContentAsSlot]=\"defaultSlots\">\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\n\t\t@if (!state().hidden) {\n\t\t\t<div\n\t\t\t\t[auUse]=\"widget.directives.transitionDirective\"\n\t\t\t\tclass=\"au-alert alert alert-{{ state().type }} {{ state().className }} {{ state().dismissible ? 'alert-dismissible' : '' }}\"\n\t\t\t\trole=\"alert\"\n\t\t\t>\n\t\t\t\t<ng-template [auSlot]=\"state().structure\" [auSlotProps]=\"{state: state(), widget}\"></ng-template>\n\t\t\t</div>\n\t\t}`,\n})\nexport class AlertComponent extends BaseWidgetDirective<AlertWidget> implements AfterContentChecked {\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\t@Input('auType')\n\ttype: BSContextualClass | undefined;\n\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDismissible', transform: auBooleanAttribute})\n\tdismissible: boolean | undefined;\n\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auTransition')\n\ttransition: TransitionFn | undefined;\n\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute})\n\tvisible: boolean | undefined;\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimatedOnInit', transform: auBooleanAttribute})\n\tanimatedOnInit: boolean | undefined;\n\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute})\n\tanimated: boolean | undefined;\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Template for the alert content\n\t */\n\t@Input('auChildren') children: SlotContent<AlertContext>;\n\t@ContentChild(AlertBodyDirective, {static: false})\n\tslotDefaultFromContent: AlertBodyDirective | undefined;\n\n\t/**\n\t * Global template for the alert component\n\t */\n\t@Input('auStructure') structure: SlotContent<AlertContext>;\n\t@ContentChild(AlertStructureDirective, {static: false}) slotStructureFromContent: AlertStructureDirective | undefined;\n\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\treadonly defaultSlots: WritableSignal<PartialAlertProps> = writable(defaultConfig);\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createAlert,\n\t\twidgetName: 'alert',\n\t\tdefaultConfig: this.defaultSlots,\n\t\tevents: {\n\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\tonShown: () => this.shown.emit(),\n\t\t\tonHidden: () => this.hidden.emit(),\n\t\t},\n\t});\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {getAccordionDefaultConfig, createAccordionItem, createAccordion, factoryCreateAccordion} from '@agnos-ui/core-bootstrap/components/accordion';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, ConfigValidator, PropsConfig, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default accordion config\n * @returns the default accordion config\n */\nconst export_getAccordionDefaultConfig: () => AccordionProps = getAccordionDefaultConfig as any;\nexport {export_getAccordionDefaultConfig as getAccordionDefaultConfig};\n\n\n\nexport type AccordionItemContext = WidgetSlotContext<AccordionItemWidget>;\n\nexport interface AccordionState {\n\t\n\t/**\n\t * Array containing all the accordion-items contained in the accordion.\n\t */\n\titemWidgets: AccordionItemWidget[];\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\titemStructure: SlotContent<AccordionItemContext>;\n}\n\nexport interface AccordionProps {\n\t\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * collapseVerticalTransition\n\t * ```\n\t */\n\titemTransition: TransitionFn;\n\t\n\t/**\n\t * If `true`, only one accordion-item at the time can stay open.\n\t *\n\t * @defaultValue `false`\n\t */\n\tcloseOthers: boolean;\n\t\n\t/**\n\t * An event fired when an item is shown.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonItemShown: (itemId: string) => void;\n\t\n\t/**\n\t * An event fired when an item is hidden.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonItemHidden: (itemId: string) => void;\n\t\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t *\n\t * @defaultValue `true`\n\t */\n\titemDestroyOnHide: boolean;\n\t\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\titemAnimated: boolean;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemHeaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item toggle button DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemButtonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemBodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemBodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemHeadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\titemStructure: SlotContent<AccordionItemContext>;\n}\n\n\n\nexport type AccordionWidget = Widget<AccordionProps, AccordionState, AccordionApi, object, AccordionDirectives>;\n\nexport interface AccordionItemState {\n\t\n\t/**\n\t * If `true` the content of the accordion-item collapse should be in DOM. Its value depends on the\n\t * value of the `visible` and `destroyOnHide`.\n\t */\n\tshouldBeInDOM: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\tdisabled: boolean;\n\t\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\tid: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\theaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\tbuttonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\tbodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\tbodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\theadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tstructure: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tchildren: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\theader: SlotContent<AccordionItemContext>;\n}\n\nexport interface AccordionItemProps {\n\t\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t */\n\tdestroyOnHide: boolean;\n\t\n\t/**\n\t * An event fired when an item is shown.\n\t */\n\tonShown: () => void;\n\t\n\t/**\n\t * An event fired when an item is hidden.\n\t */\n\tonHidden: () => void;\n\t\n\t/**\n\t * An event fired when the `visible` value changes.\n\t *\n\t * Event payload is the new value of visible.\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\tdisabled: boolean;\n\t\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\tid: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\theaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\tbuttonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\tbodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\tbodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\theadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tstructure: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tchildren: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\theader: SlotContent<AccordionItemContext>;\n}\n\n\n\nexport type AccordionItemWidget = Widget<AccordionItemProps, AccordionItemState, AccordionItemApi, AccordionItemActions, AccordionItemDirectives>;\n\n\n\n/**\n * Create an AccordionItemWidget with given config props\n * @param config - an optional AccordionItem config\n * @returns an AccordionItemWidget\n */\nconst export_createAccordionItem: WidgetFactory<AccordionItemWidget> = createAccordionItem as any;\nexport {export_createAccordionItem as createAccordionItem};\n\n\n\n/**\n * Create an AccordionWidget with given config props\n * @param config - an optional accordion config\n * @returns an AccordionWidget\n */\nconst export_createAccordion: WidgetFactory<AccordionWidget> = createAccordion as any;\nexport {export_createAccordion as createAccordion};\n\n\n\n/**\n * Create an accordion WidgetFactory based on a item factory and the list of item props that should inherit from the parent accordion\n *\n * @param itemFactory - the item factory\n * @param accordionItemProps - the list of item props\n * @param accordionConfig - the default accordion config\n * @param accordionValidator - the validator of props\n * @returns the accordion widget factory\n */\nconst export_factoryCreateAccordion: (itemFactory?: WidgetFactory<AccordionItemWidget>, accordionItemProps?: string[], accordionConfig?: AccordionProps, accordionValidator?: ConfigValidator<AccordionProps>) => WidgetFactory<AccordionWidget> = factoryCreateAccordion as any;\nexport {export_factoryCreateAccordion as factoryCreateAccordion};\n\nexport interface AccordionApi {\n\t\n\t/**\n\t * Given the itemId, will expand the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\texpand(itemId: string): void;\n\t\n\t/**\n\t * Given the itemId, will collapse the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\tcollapse(itemId: string): void;\n\t\n\t/**\n\t * Given the itemId, will toggle the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\ttoggle(itemId: string): void;\n\t\n\t/**\n\t * It will expand all the items in the accordion.\n\t *\n\t * If `closeOthers` is `true` it will expand only the last accordion-item.\n\t */\n\texpandAll(): void;\n\t\n\t/**\n\t * It will collapse all the accordion-items in the accordion.\n\t */\n\tcollapseAll(): void;\n\t\n\t/**\n\t * Creates a new accordionItem.\n\t */\n\tregisterItem(itemConfig?: PropsConfig<AccordionItemProps>): AccordionItemWidget;\n}\n\nexport interface AccordionDirectives {\n\t\n\t/**\n\t * Directive to put on the accordion DOM element\n\t */\n\taccordionDirective: Directive;\n}\n\nexport interface AccordionItemActions {\n\t\n\t/**\n\t * Action to be called when the user clicks on the accordion-item button. If the accordion-item is disabled nothing will happen.\n\t */\n\tclick(): void;\n}\n\nexport interface AccordionItemApi {\n\t\n\t/**\n\t * It will collapse the accordion-item.\n\t */\n\tcollapse(): void;\n\t\n\n\t/**\n\t * It will expand the accordion-item.\n\t */\n\texpand(): void;\n\t\n\t/**\n\t * It will toggle the accordion-item.\n\t */\n\ttoggle(): void;\n\t\n\t/**\n\t * Method to be called after the initialization to allow animations.\n\t */\n\tinitDone(): void;\n}\n\nexport interface AccordionItemDirectives {\n\t\n\t/**\n\t * Directive to use in special cases, if the accordion header does not use a button element to control the collapsing.\n\t */\n\ttoggleDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the button element that will control the collapsing of the accordion-item.\n\t */\n\tbuttonDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the accordion-item header that will contain the button element.\n\t */\n\theaderDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the accordion-item body.\n\t */\n\tbodyDirective: Directive;\n\t\n\t/**\n\t * Directive to apply the itemTransition\n\t */\n\ttransitionDirective: Directive;\n\t\n\t/**\n\t * Directive to apply aria attributes to the expanded body panel\n\t */\n\tbodyContainerAttrsDirective: Directive;\n\t\n\t/**\n\t * Directive to be put on the accordion-item body container. It will handle the animation.\n\t */\n\tbodyContainerDirective: Directive;\n\t\n\t/**\n\t * Directive to be put on the accordion-item. It will handle adding the accordion-item to the accordion.\n\t */\n\titemDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn, WidgetFactory} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tContentAsSlotDirective,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {NgTemplateOutlet} from '@angular/common';\nimport type {AfterContentChecked, AfterViewInit} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {AccordionItemContext, AccordionItemProps, AccordionItemWidget, AccordionWidget} from './accordion.gen';\nimport {createAccordion} from './accordion.gen';\nimport {writable} from '@amadeus-it-group/tansu';\n\n@Directive({selector: 'ng-template[auAccordionItemBody]', standalone: true})\nexport class AccordionBodyDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(dir: AccordionBodyDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auAccordionItemHeader]', standalone: true})\nexport class AccordionHeaderDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(dir: AccordionHeaderDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auAccordionItemStructure]', standalone: true})\nexport class AccordionItemStructureDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(dir: AccordionItemStructureDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseDirective, SlotDirective, AccordionHeaderDirective, AccordionBodyDirective, NgTemplateOutlet],\n\ttemplate: `\n\t\t<ng-template #structure let-state=\"state\" let-widget=\"widget\">\n\t\t\t@switch (state.itemHeadingTag) {\n\t\t\t\t@case ('h1') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h1\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h2') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h2\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h3') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h3\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h4') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h4\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h5') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h5\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h6') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h6\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@default {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h2\"></ng-container>\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<ng-template #h1>\n\t\t\t\t<h1 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h1>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h2>\n\t\t\t\t<h2 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h2>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h3>\n\t\t\t\t<h3 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h3>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h4>\n\t\t\t\t<h4 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h4>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h5>\n\t\t\t\t<h5 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h5>\n\t\t\t</ng-template>\n\t\t\t<ng-template #h6>\n\t\t\t\t<h6 class=\"accordion-header\" [auUse]=\"widget.directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h6>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #button>\n\t\t\t\t<button class=\"accordion-button \" [auUse]=\"widget.directives.buttonDirective\">\n\t\t\t\t\t<ng-template [auSlotProps]=\"{state, widget}\" [auSlot]=\"state.header\"></ng-template>\n\t\t\t\t</button>\n\t\t\t</ng-template>\n\t\t\t@if (state.shouldBeInDOM) {\n\t\t\t\t<div [auUse]=\"widget.directives.bodyContainerDirective\" class=\"accordion-collapse\">\n\t\t\t\t\t<div class=\"accordion-body\" [auUse]=\"widget.directives.bodyDirective\">\n\t\t\t\t\t\t<ng-template [auSlotProps]=\"{state, widget}\" [auSlot]=\"state.children\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nexport class AccordionItemDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<AccordionItemContext>;\n}\nexport const accordionItemDefaultSlotItemStructure = new ComponentTemplate(AccordionItemDefaultSlotsComponent, 'structure');\n\nconst defaultConfig: Partial<AccordionItemProps> = {\n\tstructure: accordionItemDefaultSlotItemStructure,\n};\n\n@Component({\n\tselector: '[auAccordionItem]',\n\texportAs: 'auAccordionItem',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'accordion-item',\n\t},\n\timports: [SlotDirective, UseDirective, ContentAsSlotDirective],\n\ttemplate: `\n\t\t<ng-template [auContentAsSlot]=\"defaultSlots\">\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t\t<ng-template [auSlotProps]=\"{state: state(), widget}\" [auSlot]=\"state().structure\"></ng-template>\n\t`,\n})\nexport class AccordionItemComponent extends BaseWidgetDirective<AccordionItemWidget> implements AfterContentChecked, AfterViewInit {\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auHeader') header: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionHeaderDirective, {static: false})\n\tslotHeaderFromContent: AccordionHeaderDirective | undefined;\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auChildren') children: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionBodyDirective, {static: false})\n\tslotBodyFromContent: AccordionBodyDirective | undefined;\n\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auStructure') structure: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionItemStructureDirective, {static: false})\n\tslotStructureFromContent: AccordionItemStructureDirective | undefined;\n\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\t@Input('auId') id: string | undefined;\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t */\n\t@Input('auTransition') transition: TransitionFn | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t */\n\t@Input({alias: 'auDestroyOnHide', transform: auBooleanAttribute}) destroyOnHide: boolean | undefined;\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute}) visible: boolean | undefined;\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\t@Input('auHeaderClassName') headerClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\t@Input('auButtonClassName') buttonClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\t@Input('auBodyContainerClassName') bodyContainerClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\t@Input('auBodyClassName') bodyClassName: string | undefined;\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\t@Input('auHeadingTag') headingTag: string | undefined;\n\t/**\n\t * An event fired when an item is shown.\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\t/**\n\t * An event fired when an item is hidden.\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\t/**\n\t * An event fired when the `visible` value changes.\n\t *\n\t * Event payload is the new value of visible.\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\treadonly ad = inject(AccordionDirective);\n\treadonly defaultSlots = writable(defaultConfig);\n\n\treadonly _widget = callWidgetFactory<AccordionItemWidget>({\n\t\tfactory: ((arg) => this.ad.api.registerItem(arg)) as WidgetFactory<AccordionItemWidget>,\n\t\tdefaultConfig: this.defaultSlots,\n\t\tevents: {\n\t\t\tonVisibleChange: (visible) => this.visibleChange.emit(visible),\n\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\tonShown: () => this.shown.emit(),\n\t\t},\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.itemDirective);\n\t\t},\n\t});\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t\tchildren: this.slotBodyFromContent?.templateRef,\n\t\t});\n\t}\n\n\tngAfterViewInit() {\n\t\tqueueMicrotask(() => this.api.initDone());\n\t}\n}\n\n@Directive({\n\tselector: '[auAccordion]',\n\texportAs: 'auAccordion',\n\tstandalone: true,\n\thost: {\n\t\tclass: 'accordion',\n\t},\n})\nexport class AccordionDirective extends BaseWidgetDirective<AccordionWidget> {\n\t/**\n\t * If `true`, only one accordion-item at the time can stay open.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auCloseOthers', transform: auBooleanAttribute}) closeOthers: boolean | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * An event fired when an item is shown.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auItemShown') itemShown: EventEmitter<string> = new EventEmitter<string>();\n\n\t/**\n\t * An event fired when an item is hidden.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auItemHidden') itemHidden: EventEmitter<string> = new EventEmitter<string>();\n\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auItemDestroyOnHide', transform: auBooleanAttribute}) itemDestroyOnHide: boolean | undefined;\n\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auItemAnimated', transform: auBooleanAttribute}) itemAnimated: boolean | undefined;\n\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * collapseVerticalTransition\n\t * ```\n\t */\n\t@Input('auItemTransition') itemTransition: TransitionFn | undefined;\n\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auItemStructure') itemStructure: SlotContent<AccordionItemContext>;\n\n\t/**\n\t * CSS classes to add on the accordion-item DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemClassName') itemClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemHeaderClassName') itemHeaderClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item toggle button DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemButtonClassName') itemButtonClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemBodyContainerClassName') itemBodyContainerClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemBodyClassName') itemBodyClassName: string | undefined;\n\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemHeadingTag') itemHeadingTag: string | undefined;\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createAccordion,\n\t\twidgetName: 'accordion',\n\t\tevents: {\n\t\t\tonItemShown: (id) => this.itemShown.emit(id),\n\t\t\tonItemHidden: (id) => this.itemHidden.emit(id),\n\t\t},\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.accordionDirective);\n\t\t},\n\t});\n}\n","import {getSliderDefaultConfig, createSlider} from '@agnos-ui/core-bootstrap/components/slider';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Slider config\n * @returns the default Slider config\n */\nconst export_getSliderDefaultConfig: () => SliderProps = getSliderDefaultConfig as any;\nexport {export_getSliderDefaultConfig as getSliderDefaultConfig};\n\n\n\nexport type SliderContext = WidgetSlotContext<SliderWidget>;\n\n\nexport type SliderSlotLabelContext = SliderContext & {value: number};\n\n\nexport type SliderSlotHandleContext = SliderContext & {item: SliderHandle};\n\nexport interface SliderState {\n\t\n\t/**\n\t * Sorted slider values\n\t */\n\tsortedValues: number[];\n\t\n\n\t/**\n\t * Combined label left offset in %\n\t */\n\tcombinedLabelPositionLeft: number;\n\t\n\n\t/**\n\t * Combined label top offset in %\n\t */\n\tcombinedLabelPositionTop: number;\n\t\n\n\t/**\n\t * If true, the minimum label will be visible\n\t */\n\tminValueLabelDisplay: boolean;\n\t\n\n\t/**\n\t * If true, the maximum label will be visible\n\t */\n\tmaxValueLabelDisplay: boolean;\n\t\n\n\t/**\n\t * If true, the label when the handles are close is visible\n\t */\n\tcombinedLabelDisplay: boolean;\n\t\n\n\t/**\n\t * Array of the sorted handles to display\n\t */\n\tsortedHandles: SliderHandle[];\n\t\n\n\t/**\n\t * Array of objects representing progress display options\n\t */\n\tprogressDisplayOptions: ProgressDisplayOptions[];\n\t\n\n\t/**\n\t * Array of objects representing handle display options\n\t */\n\thandleDisplayOptions: HandleDisplayOptions[];\n\t\n\n\t/**\n\t * Check if the slider is interactive, meaning it is not disabled or readonly\n\t */\n\tinteractive: boolean;\n\t\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\tstepSize: number;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\tvertical: boolean;\n\t\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\tvalues: number[];\n\t\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowValueLabels: boolean;\n\t\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowMinMaxLabels: boolean;\n\t\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\trtl: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\tstructure: SlotContent<SliderContext>;\n\t\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\tlabel: SlotContent<SliderSlotLabelContext>;\n\t\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\thandle: SlotContent<SliderSlotHandleContext>;\n}\n\nexport interface SliderProps {\n\t\n\t/**\n\t * Return the value for the 'aria-label' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\tariaLabelHandle: (value: number, sortedIndex: number, index: number) => string;\n\t\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\tariaValueText: (value: number, sortedIndex: number, index: number) => string;\n\t\n\n\t/**\n\t * An event emitted when slider values are changed\n\t *\n\t * Event payload equals to the updated slider values\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonValuesChange: (values: number[]) => void;\n\t\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\tstepSize: number;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\tvertical: boolean;\n\t\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\tvalues: number[];\n\t\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowValueLabels: boolean;\n\t\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowMinMaxLabels: boolean;\n\t\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\trtl: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\tstructure: SlotContent<SliderContext>;\n\t\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\tlabel: SlotContent<SliderSlotLabelContext>;\n\t\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\thandle: SlotContent<SliderSlotHandleContext>;\n}\n\n\n\nexport type SliderWidget = Widget<SliderProps, SliderState, SliderApi, SliderActions, SliderDirectives>;\n\n\n\n/**\n * Create a Slider with given config props\n * @param config - an optional slider config\n * @returns a SliderWidget\n */\n\nconst export_createSlider: WidgetFactory<SliderWidget> = createSlider as any;\nexport {export_createSlider as createSlider};\n\nexport interface ProgressDisplayOptions {\n\t\n\t/**\n\t * Right offset of the progress in %\n\t */\n\tleft: number | null;\n\t\n\t/**\n\t * Left offset of the progress in %\n\t */\n\tright: number | null;\n\t\n\t/**\n\t * Top offset of the progress in %\n\t */\n\ttop: number | null;\n\t\n\t/**\n\t * Bottom offset of the progress in %\n\t */\n\tbottom: number | null;\n\t\n\t/**\n\t * Width of the progress in %\n\t */\n\twidth: number;\n\t\n\t/**\n\t * Height of hte progress in %\n\t */\n\theight: number;\n}\n\nexport interface HandleDisplayOptions {\n\t\n\t/**\n\t * Left offset of the handle in %\n\t */\n\tleft: number | null;\n\t\n\t/**\n\t * Top offset of the handle in %\n\t */\n\ttop: number | null;\n}\n\nexport interface SliderHandle {\n\t\n\t/**\n\t * Value of the handle\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * Handle id\n\t */\n\tid: number;\n\t\n\t/**\n\t * ariaLabel of the handle\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * ariaValueText of the handle\n\t */\n\tariaValueText: string;\n}\n\nexport interface SliderApi {\n}\n\nexport interface SliderDirectives {\n\t\n\t/**\n\t * Directive to get the slider component elementRef\n\t */\n\tsliderDirective: Directive;\n\t\n\n\t/**\n\t * Directive used to style the progress display for each handle\n\t */\n\tprogressDisplayDirective: Directive<{option: ProgressDisplayOptions}>;\n\t\n\n\t/**\n\t * Directive to apply to the slider clickable area, to directly move the handle to a given specific position\n\t */\n\tclickableAreaDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply to the slider handle if any\n\t */\n\thandleDirective: Directive<{item: SliderHandle}>;\n\t\n\n\t/**\n\t * Directive to get the minLabel elementRef\n\t */\n\tminLabelDirective: Directive;\n\t\n\n\t/**\n\t * Directive to get the maxLabel elementRef\n\t */\n\tmaxLabelDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply to the handle when combined label display is active\n\t */\n\tcombinedHandleLabelDisplayDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply to the handle when combined label display is not active\n\t */\n\thandleLabelDisplayDirective: Directive<{index: number}>;\n}\n\nexport interface SliderActions {\n\t\n\t/**\n\t * Method to handle click on the slider\n\t * @param event - mouse event\n\t */\n\tclick(event: MouseEvent): void;\n\t\n\t/**\n\t * Method to process the keyboard event\n\t * @param event - keyboard event object\n\t * @param handleNumber - id of the modified handle\n\t */\n\tkeydown(event: KeyboardEvent, handleNumber: number): void;\n\t\n\n\t/**\n\t * Method describing the behavior of the slider handle on mouse down event\n\t * @param event - mouse event\n\t * @param handleId - numeric id of the handle\n\t */\n\tmouseDown(event: MouseEvent, handleId: number): void;\n\t\n\n\t/**\n\t * Method describing the behavior of the slider handle on touch start event\n\t * @param event - touch event\n\t * @param handleId - number id of the handle\n\t */\n\ttouchStart(event: TouchEvent, handleId: number): void;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {type WritableSignal, writable} from '@amadeus-it-group/tansu';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tNgZone,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n\tforwardRef,\n\tinject,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {take} from 'rxjs';\nimport {callWidgetFactory} from '../../config';\nimport type {SliderContext, SliderProps, SliderSlotHandleContext, SliderSlotLabelContext, SliderWidget} from './slider.gen';\nimport {createSlider} from './slider.gen';\n\n@Directive({selector: 'ng-template[auSliderLabel]', standalone: true})\nexport class SliderLabelDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotLabelContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderLabelDirective, context: unknown): context is SliderSlotLabelContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auSliderHandle]', standalone: true})\nexport class SliderHandleDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotLabelContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderHandleDirective, context: unknown): context is SliderSlotHandleContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseDirective, SliderHandleDirective],\n\ttemplate: `\n\t\t<ng-template auSliderHandle #handle let-state=\"state\" let-widget=\"widget\" let-item=\"item\">\n\t\t\t<button [auUse]=\"[widget.directives.handleDirective, {item}]\"> </button>\n\t\t</ng-template>\n\t`,\n})\nexport class SliderDefaultHandleSlotComponent {\n\tprivate readonly _zone = inject(NgZone);\n\n\t@ViewChild('handle', {static: true}) readonly handle!: TemplateRef<SliderSlotHandleContext>;\n\n\tonKeyDown(event: KeyboardEvent, handleId: number, widgetOnKeyDownFn: (event: KeyboardEvent, handleId: number) => void) {\n\t\twidgetOnKeyDownFn(event, handleId);\n\t\tthis._zone.onStable.pipe(take(1)).subscribe(() => {\n\t\t\t(event.target as HTMLElement).focus();\n\t\t});\n\t}\n}\n\nexport const sliderDefaultSlotHandle = new ComponentTemplate(SliderDefaultHandleSlotComponent, 'handle');\n\n@Directive({selector: 'ng-template[auSliderStructure]', standalone: true})\nexport class SliderStructureDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotHandleContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderStructureDirective, context: unknown): context is SliderSlotHandleContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, SliderStructureDirective, UseDirective],\n\ttemplate: `\n\t\t<ng-template auSliderStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t\t@for (option of state.progressDisplayOptions; track option) {\n\t\t\t\t<div [auUse]=\"[widget.directives.progressDisplayDirective, {option}]\"></div>\n\t\t\t}\n\t\t\t<div [auUse]=\"widget.directives.clickableAreaDirective\"></div>\n\t\t\t@if (state.showMinMaxLabels) {\n\t\t\t\t<div [auUse]=\"widget.directives.minLabelDirective\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.min}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div [auUse]=\"widget.directives.maxLabelDirective\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.max}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (state.showValueLabels && state.combinedLabelDisplay) {\n\t\t\t\t<div [auUse]=\"widget.directives.combinedHandleLabelDisplayDirective\">\n\t\t\t\t\t@if (state.rtl) {\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.sortedValues[1]}\"></ng-template> -\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.sortedValues[0]}\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.sortedValues[0]}\"></ng-template> -\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.sortedValues[1]}\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@for (item of state.sortedHandles; track item.id; let i = $index) {\n\t\t\t\t<ng-template [auSlot]=\"state.handle\" [auSlotProps]=\"{state, widget, item}\"></ng-template>\n\t\t\t\t@if (state.showValueLabels && !state.combinedLabelDisplay) {\n\t\t\t\t\t<div [auUse]=\"[widget.directives.handleLabelDisplayDirective, {index: i}]\">\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label\" [auSlotProps]=\"{state, widget, value: state.values[i]}\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nexport class SliderDefaultStructureSlotComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<SliderContext>;\n}\n\nexport const sliderDefaultSlotStructure = new ComponentTemplate(SliderDefaultStructureSlotComponent, 'structure');\n\nexport type PartialSliderProps = Partial<SliderProps>;\nconst defaultConfig: PartialSliderProps = {\n\tstructure: sliderDefaultSlotStructure,\n\thandle: sliderDefaultSlotHandle,\n};\n\n@Component({\n\tselector: '[auSlider]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SliderComponent), multi: true}],\n\timports: [SlotDirective],\n\thost: {\n\t\t'(blur)': 'handleBlur()',\n\t},\n\ttemplate: ` <ng-template [auSlot]=\"state().structure\" [auSlotProps]=\"{state: state(), widget}\"></ng-template> `,\n})\nexport class SliderComponent extends BaseWidgetDirective<SliderWidget> implements AfterContentChecked {\n\treadonly defaultSlots: WritableSignal<PartialSliderProps> = writable(defaultConfig);\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createSlider,\n\t\twidgetName: 'slider',\n\t\tdefaultConfig: this.defaultSlots,\n\t\tevents: {\n\t\t\tonValuesChange: (event) => {\n\t\t\t\tthis.onChange(event);\n\t\t\t\tthis.onTouched();\n\t\t\t\tthis.valuesChange.emit(event);\n\t\t\t},\n\t\t},\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.sliderDirective);\n\t\t},\n\t});\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auMin', transform: auNumberAttribute})\n\tmin: number | undefined;\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\t@Input({alias: 'auMax', transform: auNumberAttribute})\n\tmax: number | undefined;\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\t@Input({alias: 'auStepSize', transform: auNumberAttribute})\n\tstepSize: number | undefined;\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\t@Input('auValues')\n\tvalues: number[] | undefined;\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auRtl', transform: auBooleanAttribute})\n\trtl: boolean | undefined;\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auShowValueLabels', transform: auBooleanAttribute}) showValueLabels: boolean | undefined;\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auShowMinMaxLabels', transform: auBooleanAttribute}) showMinMaxLabels: boolean | undefined;\n\n\t/**\n\t * Return the value for the 'aria-label' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\t@Input('auAriaLabelHandle') ariaLabelHandle: ((value: number, sortedIndex: number, index: number) => string) | undefined;\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\t@Input('auAriaValueText') ariaValueText: ((value: number, sortedIndex: number, index: number) => string) | undefined;\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auReadonly', transform: auBooleanAttribute})\n\treadonly: boolean | undefined;\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute})\n\tdisabled: boolean | undefined;\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auVertical', transform: auBooleanAttribute})\n\tvertical: boolean | undefined;\n\n\t/**\n\t * An event emitted when slider values are changed\n\t *\n\t * Event payload equals to the updated slider values\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auValuesChange')\n\tvaluesChange = new EventEmitter<number[]>();\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\t@Input('auLabel') label: SlotContent<SliderSlotLabelContext>;\n\t@ContentChild(SliderLabelDirective, {static: false}) slotLabelFromContent: SliderLabelDirective | undefined;\n\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\t@Input('auStructure') structure: SlotContent<SliderContext>;\n\t@ContentChild(SliderStructureDirective, {static: false}) slotStructureFromContent: SliderStructureDirective | undefined;\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\t@Input('auHandle') handle: SlotContent<SliderSlotHandleContext>;\n\t@ContentChild(SliderHandleDirective, {static: false}) slotHandleFromContent: SliderHandleDirective | undefined;\n\n\t/**\n\t * Control value accessor methods\n\t */\n\tonChange = (_: any) => {};\n\n\tonTouched = () => {};\n\n\tregisterOnChange(fn: (value: any) => any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\twriteValue(value: any): void {\n\t\tif (Array.isArray(value)) {\n\t\t\tthis._widget.patch({\n\t\t\t\tvalues: value,\n\t\t\t});\n\t\t} else {\n\t\t\tthis._widget.patch({\n\t\t\t\tvalues: [value],\n\t\t\t});\n\t\t}\n\t}\n\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis._widget.patch({\n\t\t\tdisabled: isDisabled,\n\t\t});\n\t}\n\n\thandleBlur() {\n\t\tthis.onTouched();\n\t}\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\thandle: this.slotHandleFromContent?.templateRef,\n\t\t\tlabel: this.slotLabelFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {getProgressbarDefaultConfig, createProgressbar} from '@agnos-ui/core-bootstrap/components/progressbar';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n\n\n/**\n * Retrieve a shallow copy of the default Progressbar config\n * @returns the default Progressbar config\n */\nconst export_getProgressbarDefaultConfig: () => ProgressbarProps = getProgressbarDefaultConfig as any;\nexport {export_getProgressbarDefaultConfig as getProgressbarDefaultConfig};\n\n\n\nexport type ProgressbarContext = WidgetSlotContext<ProgressbarWidget>;\n\nexport interface ProgressbarState {\n\t\n\t/**\n\t * Percentage of completion.\n\t */\n\tpercentage: number;\n\t\n\t/**\n\t * `true` if the value is above its minimum value.\n\t */\n\tstarted: boolean;\n\t\n\t/**\n\t * `true` if the value has reached its maximum value.\n\t */\n\tfinished: boolean;\n\t\n\t/**\n\t * The aria value text.\n\t */\n\tariaValueText: string | undefined;\n\t\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\tstructure: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Label of the progress.\n\t */\n\tchildren: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\theight: string;\n\t\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\tstriped: boolean;\n\t\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\ttype: BSContextualClass | undefined;\n}\n\nexport interface ProgressbarProps {\n\t\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param value - current value\n\t * @param minimum - minimum value\n\t * @param maximum - maximum value\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => undefined\n\t * ```\n\t */\n\tariaValueTextFn: (value: number, minimum: number, maximum: number) => string | undefined;\n\t\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\tstructure: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Label of the progress.\n\t */\n\tchildren: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\theight: string;\n\t\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\tstriped: boolean;\n\t\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\ttype: BSContextualClass | undefined;\n}\n\n\n\nexport type ProgressbarWidget = Widget<ProgressbarProps, ProgressbarState, ProgressbarApi, object, ProgressbarDirectives>;\n\n\n\n/**\n * Create a Progressbar with given config props\n * @param config - an optional progressbar config\n * @returns a ProgressbarWidget\n */\n\nconst export_createProgressbar: WidgetFactory<ProgressbarWidget> = createProgressbar as any;\nexport {export_createProgressbar as createProgressbar};\n\nexport interface ProgressbarDirectives {\n\t\n\t/**\n\t * A directive to be applied to the main container that handles aria attributes.\n\t */\n\tariaDirective: Directive;\n}\n\nexport interface ProgressbarApi {\n}\n\n","import {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tContentAsSlotDirective,\n\tSlotDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport type {SlotContent} from '@agnos-ui/angular-headless';\nimport {type WritableSignal, writable} from '@amadeus-it-group/tansu';\nimport {NgClass} from '@angular/common';\nimport type {AfterContentChecked} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef, ViewChild, inject} from '@angular/core';\nimport type {ProgressbarContext, ProgressbarProps, ProgressbarWidget} from './progressbar.gen';\nimport {createProgressbar} from './progressbar.gen';\n\nimport {callWidgetFactory} from '../../config';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n@Directive({selector: 'ng-template[auProgressbarStructure]', standalone: true})\nexport class ProgressbarStructureDirective {\n\tpublic templateRef = inject(TemplateRef<ProgressbarContext>);\n\tstatic ngTemplateContextGuard(_dir: ProgressbarStructureDirective, context: unknown): context is ProgressbarContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, SlotDirective, ProgressbarStructureDirective],\n\ttemplate: `\n\t\t<ng-template auProgressbarStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t\t<div class=\"progress\" [style.height]=\"state.height\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"progress-bar\"\n\t\t\t\t\t[class.progress-bar-striped]=\"state.striped\"\n\t\t\t\t\t[class.progress-bar-animated]=\"state.animated\"\n\t\t\t\t\t[ngClass]=\"state.type ? 'text-bg-' + state.type : undefined\"\n\t\t\t\t\t[style.width.%]=\"state.percentage\"\n\t\t\t\t>\n\t\t\t\t\t<ng-template [auSlot]=\"state.children\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-template>\n\t`,\n})\nexport class ProgressbarDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ProgressbarContext>;\n}\n\nexport const progressbarDefaultSlotStructure = new ComponentTemplate(ProgressbarDefaultSlotsComponent, 'structure');\n\nexport type PartialProgressbarProps = Partial<ProgressbarProps>;\nconst defaultConfig: PartialProgressbarProps = {\n\tstructure: progressbarDefaultSlotStructure,\n};\n\n@Component({\n\tselector: '[auProgressbar]',\n\tstandalone: true,\n\timports: [SlotDirective, ContentAsSlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[class]': 'state().className',\n\t},\n\ttemplate: `\n\t\t<ng-template [auContentAsSlot]=\"defaultSlots\"><ng-content></ng-content></ng-template>\n\t\t<ng-template [auSlot]=\"state().structure\" [auSlotProps]=\"{state: state(), widget}\"></ng-template>\n\t`,\n})\nexport class ProgressbarComponent extends BaseWidgetDirective<ProgressbarWidget> implements AfterContentChecked {\n\treadonly defaultSlots: WritableSignal<PartialProgressbarProps> = writable(defaultConfig);\n\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auMin', transform: auNumberAttribute}) min: number | undefined;\n\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\t@Input({alias: 'auMax', transform: auNumberAttribute}) max: number | undefined;\n\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auValue', transform: auNumberAttribute}) value: number | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Label of the progress.\n\t */\n\t@Input('auChildren') children: SlotContent<ProgressbarContext>;\n\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\t@Input('auStructure') structure: SlotContent<ProgressbarContext>;\n\t@ContentChild(ProgressbarStructureDirective, {static: false}) slotStructureFromContent: ProgressbarStructureDirective | undefined;\n\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auHeight') height: string | undefined;\n\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auStriped', transform: auBooleanAttribute}) striped: boolean | undefined;\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param value - current value\n\t * @param minimum - minimum value\n\t * @param maximum - maximum value\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => undefined\n\t * ```\n\t */\n\t@Input('auAriaValueTextFn') ariaValueTextFn: ((value: number, minimum: number, maximum: number) => string | undefined) | undefined;\n\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\t@Input('auType') type: BSContextualClass | undefined;\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createProgressbar,\n\t\twidgetName: 'progressbar',\n\t\tdefaultConfig: this.defaultSlots,\n\t\tafterInit: () => {\n\t\t\tuseDirectiveForHost(this._widget.directives.ariaDirective);\n\t\t},\n\t});\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tchildren: undefined,\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {getToastDefaultConfig, createToast} from '@agnos-ui/core-bootstrap/components/toast';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Toast config\n * @returns the default Toast config\n */\nconst export_getToastDefaultConfig: () => ToastProps = getToastDefaultConfig as any;\nexport {export_getToastDefaultConfig as getToastDefaultConfig};\n\n\n\nexport type ToastContext = WidgetSlotContext<ToastWidget>;\n\nexport interface ToastState {\n\t\n\t/**\n\t * Is `true` when the alert is hidden. Compared to `visible`, this is updated after the transition is executed.\n\t */\n\thidden: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\tautoHide: boolean;\n\t\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\tdelay: number;\n\t\n\t/**\n\t * Global template for the toast component\n\t */\n\tstructure: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Template for the toast content\n\t */\n\tchildren: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Header template for the toast component\n\t */\n\theader: SlotContent<ToastContext>;\n}\n\nexport interface ToastProps {\n\t\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimatedOnInit: boolean;\n\t\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\tautoHide: boolean;\n\t\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\tdelay: number;\n\t\n\t/**\n\t * Global template for the toast component\n\t */\n\tstructure: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Template for the toast content\n\t */\n\tchildren: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Header template for the toast component\n\t */\n\theader: SlotContent<ToastContext>;\n}\n\n\n\nexport type ToastWidget = Widget<ToastProps, ToastState, ToastApi, object, ToastDirectives>;\n\n\n\n/**\n * Create an ToastWidget with given config props\n * @param config - an optional alert config\n * @returns an ToastWidget\n */\nconst export_createToast: WidgetFactory<ToastWidget> = createToast as any;\nexport {export_createToast as createToast};\n\nexport interface ToastApi {\n\t\n\t/**\n\t * Triggers alert closing programmatically (same as clicking on the close button (×)).\n\t */\n\tclose(): void;\n\t\n\n\t/**\n\t * Triggers the alert to be displayed for the user.\n\t */\n\topen(): void;\n}\n\nexport interface ToastDirectives {\n\t\n\t/**\n\t * the transition directive, piloting what is the visual effect of going from hidden to visible\n\t */\n\ttransitionDirective: Directive;\n\t\n\t/**\n\t * Directive that handles the autohide of the toast component\n\t */\n\tautoHideDirective: Directive;\n\t\n\t/**\n\t * Directive that adds all the necessary attributes to the body\n\t */\n\tbodyDirective: Directive;\n\t\n\t/**\n\t * Directive that adds all the necessary attributes to the close button depending on the presence of the header\n\t */\n\tcloseButtonDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tContentAsSlotDirective,\n\tSlotDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n} from '@agnos-ui/angular-headless';\nimport type {WritableSignal} from '@amadeus-it-group/tansu';\nimport {writable} from '@amadeus-it-group/tansu';\nimport type {AfterContentChecked} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\n\nimport type {ToastContext, ToastProps, ToastWidget} from './toast.gen';\nimport {createToast} from './toast.gen';\n\n@Directive({selector: 'ng-template[auToastBody]', standalone: true})\nexport class ToastBodyDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(dir: ToastBodyDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auToastStructure]', standalone: true})\nexport class ToastStructureDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(dir: ToastStructureDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n\n@Directive({selector: 'ng-template[auToastHeader]', standalone: true})\nexport class ToastHeaderDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(dir: ToastHeaderDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, ToastStructureDirective, UseDirective],\n\ttemplate: ` <ng-template auToastStructure #structure let-state=\"state\" let-widget=\"widget\">\n\t\t@if (state.header) {\n\t\t\t<div class=\"toast-header\">\n\t\t\t\t<ng-template [auSlot]=\"state.header\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t\t\t@if (state.dismissible) {\n\t\t\t\t\t<button class=\"btn-close me-0 ms-auto\" [auUse]=\"widget.directives.closeButtonDirective\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"toast-body\">\n\t\t\t<ng-template [auSlot]=\"state.children\" [auSlotProps]=\"{state, widget}\"></ng-template>\n\t\t</div>\n\t\t@if (state.dismissible && !state.header) {\n\t\t\t<button class=\"btn-close btn-close-white me-2 m-auto\" [auUse]=\"widget.directives.closeButtonDirective\"></button>\n\t\t}\n\t</ng-template>`,\n})\nexport class ToastDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ToastContext>;\n}\n\nexport const toastDefaultSlotStructure = new ComponentTemplate(ToastDefaultSlotsComponent, 'structure');\n\nconst defaultConfig: Partial<ToastProps> = {\n\tstructure: toastDefaultSlotStructure,\n};\n\n@Component({\n\tselector: '[auToast]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, UseMultiDirective, ContentAsSlotDirective],\n\ttemplate: ` <ng-template [auContentAsSlot]=\"defaultSlots\">\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t\t@if (!state().hidden) {\n\t\t\t<div\n\t\t\t\tclass=\"toast\"\n\t\t\t\t[class.d-flex]=\"!state().header\"\n\t\t\t\t[class.toast-dismissible]=\"state().dismissible\"\n\t\t\t\t[auUseMulti]=\"[widget.directives.autoHideDirective, widget.directives.transitionDirective, widget.directives.bodyDirective]\"\n\t\t\t>\n\t\t\t\t<ng-template [auSlot]=\"state().structure\" [auSlotProps]=\"{state: state(), widget}\"></ng-template>\n\t\t\t</div>\n\t\t}`,\n})\nexport class ToastComponent extends BaseWidgetDirective<ToastWidget> implements AfterContentChecked {\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDismissible', transform: auBooleanAttribute})\n\tdismissible: boolean | undefined;\n\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auTransition')\n\ttransition: TransitionFn | undefined;\n\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute})\n\tvisible: boolean | undefined;\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimatedOnInit', transform: auBooleanAttribute})\n\tanimatedOnInit: boolean | undefined;\n\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute})\n\tanimated: boolean | undefined;\n\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAutoHide', transform: auBooleanAttribute})\n\tautoHide: boolean | undefined;\n\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\t@Input({alias: 'auDelay', transform: auNumberAttribute})\n\tdelay: number | undefined;\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Template for the toast content\n\t */\n\t@Input('auChildren') children: SlotContent<ToastContext>;\n\t@ContentChild(ToastBodyDirective, {static: false})\n\tslotDefaultFromContent: ToastBodyDirective | undefined;\n\n\t/**\n\t * Global template for the toast component\n\t */\n\t@Input('auStructure') structure: SlotContent<ToastContext>;\n\t@ContentChild(ToastStructureDirective, {static: false}) slotStructureFromContent: ToastStructureDirective | undefined;\n\n\t/**\n\t * Header template for the toast component\n\t */\n\t@Input('auHeader') header: SlotContent<ToastContext>;\n\t@ContentChild(ToastHeaderDirective, {static: false}) slotHeaderFromContent: ToastHeaderDirective | undefined;\n\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\treadonly defaultSlots: WritableSignal<Partial<ToastProps>> = writable(defaultConfig);\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\treadonly _widget = callWidgetFactory({\n\t\tfactory: createToast,\n\t\twidgetName: 'toast',\n\t\tdefaultConfig: this.defaultSlots,\n\t\tevents: {\n\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\tonShown: () => this.shown.emit(),\n\t\t\tonHidden: () => this.hidden.emit(),\n\t\t},\n\t});\n\n\tngAfterContentChecked(): void {\n\t\tthis._widget.patchSlots({\n\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t});\n\t}\n}\n","import {SlotDirective, UseDirective, UseMultiDirective} from '@agnos-ui/angular-headless';\nimport {NgModule} from '@angular/core';\nimport {\n\tModalBodyDirective,\n\tModalComponent,\n\tModalFooterDirective,\n\tModalHeaderDirective,\n\tModalStructureDirective,\n\tModalTitleDirective,\n} from './components/modal/modal.component';\nimport {\n\tPaginationComponent,\n\tPaginationEllipsisDirective,\n\tPaginationFirstDirective,\n\tPaginationLastDirective,\n\tPaginationNextDirective,\n\tPaginationNumberDirective,\n\tPaginationPagesDirective,\n\tPaginationStructureDirective,\n\tPaginationPreviousDirective,\n} from './components/pagination/pagination.component';\nimport {RatingComponent, RatingStarDirective} from './components/rating/rating.component';\nimport {SelectBadgeLabelDirective, SelectComponent, SelectItemLabelDirective} from './components/select/select.component';\nimport {AlertBodyDirective, AlertComponent, AlertStructureDirective} from './components/alert/alert.component';\nimport {\n\tAccordionDirective,\n\tAccordionItemComponent,\n\tAccordionHeaderDirective,\n\tAccordionBodyDirective,\n\tAccordionItemStructureDirective,\n} from './components/accordion/accordion.component';\nimport {SliderComponent, SliderHandleDirective, SliderLabelDirective, SliderStructureDirective} from './components/slider/slider.component';\nimport {ProgressbarComponent, ProgressbarStructureDirective} from './components/progressbar/progressbar.component';\nimport {ToastBodyDirective, ToastComponent, ToastHeaderDirective, ToastStructureDirective} from './components/toast/toast.component';\n/* istanbul ignore next */\nconst components = [\n\tSlotDirective,\n\tSelectComponent,\n\tSelectBadgeLabelDirective,\n\tSelectItemLabelDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tRatingComponent,\n\tRatingStarDirective,\n\tPaginationComponent,\n\tPaginationEllipsisDirective,\n\tPaginationFirstDirective,\n\tPaginationLastDirective,\n\tPaginationNextDirective,\n\tPaginationNumberDirective,\n\tPaginationPreviousDirective,\n\tPaginationPagesDirective,\n\tPaginationStructureDirective,\n\tModalComponent,\n\tModalStructureDirective,\n\tModalHeaderDirective,\n\tModalTitleDirective,\n\tModalBodyDirective,\n\tModalFooterDirective,\n\tAlertComponent,\n\tAlertStructureDirective,\n\tAlertBodyDirective,\n\tAccordionDirective,\n\tAccordionItemComponent,\n\tAccordionHeaderDirective,\n\tAccordionBodyDirective,\n\tAccordionItemStructureDirective,\n\tSliderComponent,\n\tSliderHandleDirective,\n\tSliderLabelDirective,\n\tSliderStructureDirective,\n\tProgressbarComponent,\n\tProgressbarStructureDirective,\n\tToastComponent,\n\tToastStructureDirective,\n\tToastBodyDirective,\n\tToastHeaderDirective,\n];\n\n@NgModule({\n\tdeclarations: [],\n\timports: components,\n\texports: components,\n})\nexport class AgnosUIAngularModule {}\n","import {ApplicationRef, createComponent, EnvironmentInjector, EventEmitter, inject, Injectable, Injector} from '@angular/core';\nimport type {Subscription} from 'rxjs';\nimport {ModalComponent} from './modal.component';\nimport type {ModalProps} from './modal.gen';\n\nexport interface ModalServiceOpenOptions {\n\tinjector?: Injector;\n}\n\n@Injectable({providedIn: 'root'})\nexport class ModalService {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _applicationRef = inject(ApplicationRef);\n\n\tasync open<Data>(options: Partial<ModalProps<Data>>, {injector = this._injector}: ModalServiceOpenOptions = {}): Promise<any> {\n\t\tconst component = createComponent(ModalComponent, {\n\t\t\tenvironmentInjector: injector.get(EnvironmentInjector),\n\t\t\telementInjector: injector,\n\t\t});\n\t\tconst subscriptions: Subscription[] = [];\n\t\ttry {\n\t\t\tfor (const prop of Object.keys(options) as (string & keyof ModalProps<Data>)[]) {\n\t\t\t\tconst value = options[prop];\n\t\t\t\tif (prop.startsWith('on')) {\n\t\t\t\t\tconst eventName = `${prop[2].toLowerCase()}${prop.substring(3)}`;\n\t\t\t\t\tconst eventEmitter = (component.instance as any)[eventName];\n\t\t\t\t\tif (eventEmitter instanceof EventEmitter) {\n\t\t\t\t\t\tsubscriptions.push(eventEmitter.subscribe(value));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcomponent.setInput(`au${prop.substring(0, 1).toUpperCase()}${prop.substring(1)}`, value);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._applicationRef.attachView(component.hostView);\n\t\t\tawait component.instance._widget.initialized;\n\t\t\treturn await component.instance.api.open();\n\t\t} finally {\n\t\t\tcomponent.destroy();\n\t\t\tfor (const subscription of subscriptions) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Public API Surface of @agnos-ui/angular-bootstrap\n */\nexport * from '@agnos-ui/angular-headless';\n\nexport * from './agnos-ui-angular.module';\n\nexport type {\n\tAccordionApi,\n\tAccordionItemContext,\n\tAccordionItemProps,\n\tAccordionItemState,\n\tAccordionItemWidget,\n\tAccordionProps,\n\tAccordionState,\n\tAccordionWidget,\n\tAccordionDirectives,\n\tAccordionItemActions,\n\tAccordionItemApi,\n\tAccordionItemDirectives,\n} from './components/accordion';\nexport {createAccordion, getAccordionDefaultConfig, createAccordionItem, factoryCreateAccordion} from './components/accordion';\nexport * from './components/accordion';\n\nexport type {AlertContext, AlertProps, AlertState, AlertWidget, AlertApi, AlertDirectives} from './components/alert';\nexport {createAlert, getAlertDefaultConfig} from './components/alert';\nexport * from './components/alert';\n\nexport type {\n\tModalContext,\n\tModalProps,\n\tModalState,\n\tModalWidget,\n\tModalApi,\n\tModalDirectives,\n\tModalActions,\n\tModalBeforeCloseEvent,\n} from './components/modal';\nexport {createModal, getModalDefaultConfig, modalCloseButtonClick, modalOutsideClick} from './components/modal';\nexport * from './components/modal';\n\nexport type {\n\tPaginationContext,\n\tPaginationNumberContext,\n\tPaginationProps,\n\tPaginationState,\n\tPaginationWidget,\n\tDirectionsHrefs,\n\tPaginationActions,\n\tPaginationApi,\n\tPaginationDirectives,\n} from './components/pagination';\nexport {createPagination, getPaginationDefaultConfig} from './components/pagination';\nexport * from './components/pagination';\n\nexport type {\n\tProgressbarContext,\n\tProgressbarProps,\n\tProgressbarState,\n\tProgressbarWidget,\n\tProgressbarApi,\n\tProgressbarDirectives,\n} from './components/progressbar';\nexport {createProgressbar, getProgressbarDefaultConfig} from './components/progressbar';\nexport * from './components/progressbar';\n\nexport type {RatingProps, RatingState, RatingWidget, StarContext, RatingActions, RatingDirectives} from './components/rating';\nexport {createRating, getRatingDefaultConfig} from './components/rating';\nexport * from './components/rating';\n\nexport type {\n\tSelectContext,\n\tSelectItemContext,\n\tSelectProps,\n\tSelectState,\n\tSelectWidget,\n\tItemContext,\n\tSelectActions,\n\tSelectApi,\n\tSelectDirectives,\n} from './components/select';\nexport {createSelect, getSelectDefaultConfig} from './components/select';\nexport * from './components/select';\n\nexport type {\n\tSliderContext,\n\tSliderProps,\n\tSliderSlotHandleContext,\n\tSliderSlotLabelContext,\n\tSliderState,\n\tSliderWidget,\n\tSliderActions,\n\tSliderApi,\n\tSliderHandle,\n\tHandleDisplayOptions,\n\tProgressDisplayOptions,\n\tSliderDirectives,\n} from './components/slider';\nexport {createSlider, getSliderDefaultConfig} from './components/slider';\nexport * from './components/slider';\n\nexport type {ToastContext, ToastProps, ToastState, ToastWidget, ToastApi, ToastDirectives} from './components/toast';\nexport {createToast, getToastDefaultConfig} from './components/toast';\nexport * from './components/toast';\n\nexport * from '@agnos-ui/core-bootstrap/services/transitions';\nexport * from '@agnos-ui/core-bootstrap/types';\n\nexport type {WidgetsConfig} from './config';\nexport {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c2","_c5","defaultConfig","createModal","_c3","_c4","_c6","createPagination","_c7","_c1","createRating","_c0","createSelect","createAlert","createAccordion","createSlider","createProgressbar","createToast"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agnos-ui-angular-bootstrap.mjs","sources":["../../src/components/modal/modal.gen.ts","../../src/config.ts","../../src/components/modal/modal.component.ts","../../src/components/pagination/pagination.gen.ts","../../src/components/pagination/pagination.component.ts","../../src/components/rating/rating.gen.ts","../../src/components/rating/rating.component.ts","../../src/components/select/select.gen.ts","../../src/components/select/select.component.ts","../../src/components/alert/alert.gen.ts","../../src/components/alert/alert.component.ts","../../src/components/accordion/accordion.gen.ts","../../src/components/accordion/accordion.component.ts","../../src/components/slider/slider.gen.ts","../../src/components/slider/slider.component.ts","../../src/components/progressbar/progressbar.gen.ts","../../src/components/progressbar/progressbar.component.ts","../../src/components/toast/toast.gen.ts","../../src/components/toast/toast.component.ts","../../src/components/collapse/collapse.component.ts","../../src/components/collapse/collapse.gen.ts","../../src/agnos-ui-angular.module.ts","../../src/components/modal/modal.service.ts","../../src/index.ts","../../src/agnos-ui-angular-bootstrap.ts"],"sourcesContent":["import {getModalDefaultConfig, createModal, modalOutsideClick, modalCloseButtonClick} from '@agnos-ui/core-bootstrap/components/modal';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, PropsConfig, Directive} from '@agnos-ui/angular-headless';\n\n\n/**\n * Retrieve a shallow copy of the default modal config\n * @returns the default modal config\n */\nconst export_getModalDefaultConfig: () => ModalProps<any> = getModalDefaultConfig as any;\nexport {export_getModalDefaultConfig as getModalDefaultConfig};\n\n\n\n/**\n * Represents the context for a modal component.\n *\n * @template Data - The type of data associated with the modal.\n */\nexport interface ModalContext<Data> extends WidgetSlotContext<ModalWidget<Data>> {}\n\n/**\n * Represents the state of a modal component.\n *\n * @template Data - The type of the data associated with the modal.\n */\nexport interface ModalState<Data> {\n\t\n\t/**\n\t * Whether the backdrop is fully hidden. This can be true either because {@link ModalProps.backdrop|backdrop} is false or\n\t * because {@link ModalProps.visible|visible} is false and there is no current transition.\n\t */\n\tbackdropHidden: boolean;\n\t\n\n\t/**\n\t * Whether the modal is fully hidden.\n\t */\n\thidden: boolean;\n\t\n\n\t/**\n\t * Whether there is an active transition to either display or hide the modal.\n\t */\n\ttransitioning: boolean;\n\t\n\n\t/**\n\t * DOM element of the modal.\n\t */\n\tmodalElement: HTMLElement | null;\n\t\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\tbackdropClass: string;\n\t\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseButton: boolean;\n\t\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\tcontainer: HTMLElement | null;\n\t\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Data to use in content slots\n\t */\n\tcontentData: Data;\n\t\n\t/**\n\t * Body of the modal.\n\t */\n\tchildren: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Footer of the modal.\n\t */\n\tfooter: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\theader: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\tstructure: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Title of the modal.\n\t */\n\ttitle: SlotContent<ModalContext<Data>>;\n\t\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\tfullscreen: boolean;\n}\n\n/**\n * Interface representing the properties for a modal component.\n *\n * @template Data - The type of data that the modal will handle.\n */\nexport interface ModalProps<Data> {\n\t\n\t/**\n\t * The transition to use for the backdrop behind the modal (if present).\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\tbackdropTransition: TransitionFn;\n\t\n\n\t/**\n\t * The transition to use for the modal.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\tmodalTransition: TransitionFn;\n\t\n\t/**\n\t * Whether the modal and its backdrop (if present) should be animated when shown or hidden.\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\n\t/**\n\t * Whether a backdrop should be created behind the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\tbackdrop: boolean;\n\t\n\n\t/**\n\t * Whether the modal should be closed when clicking on the viewport outside the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseOnOutsideClick: boolean;\n\t\n\n\t/**\n\t * Event to be triggered when the modal is about to be closed (i.e. the {@link ModalApi.close|close} method was called).\n\t *\n\t * @param event - event giving access to the argument given to the {@link ModalApi.close|close} method and allowing\n\t * to cancel the close process.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonBeforeClose: (event: ModalBeforeCloseEvent) => void;\n\t\n\n\t/**\n\t * Event to be triggered when the visible property changes.\n\t *\n\t * @param visible - new value of the visible propery\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is not visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\tbackdropClass: string;\n\t\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\tcloseButton: boolean;\n\t\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\tcontainer: HTMLElement | null;\n\t\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Data to use in content slots\n\t */\n\tcontentData: Data;\n\t\n\t/**\n\t * Body of the modal.\n\t */\n\tchildren: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Footer of the modal.\n\t */\n\tfooter: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\theader: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\tstructure: SlotContent<ModalContext<Data>>;\n\t\n\n\t/**\n\t * Title of the modal.\n\t */\n\ttitle: SlotContent<ModalContext<Data>>;\n\t\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\tfullscreen: boolean;\n}\n\n/**\n * Interface representing the API for a modal component.\n *\n * @template Data - The type of data associated with the modal.\n */\nexport interface ModalApi<Data> {\n\t\n\t/**\n\t * Method to change some modal properties.\n\t */\n\tpatch: ModalWidget<Data>['patch'];\n\t\n\t/**\n\t * Closes the modal with the given result.\n\t *\n\t * @param result - result of the modal, as passed in the {@link ModalBeforeCloseEvent.result|result} property of the event passed to the\n\t * {@link ModalProps.onBeforeClose|onBeforeClose} event handler (and possibly changed by it) and resolved by the promise returned by the {@link ModalApi.open|open} method.\n\t */\n\tclose(result?: any): void;\n\t\n\n\t/**\n\t * Opens the modal and returns a promise that is resolved when the modal is closed.\n\t * The resolved value is the result passed to the {@link ModalApi.close|close} method and possibly changed by the\n\t * {@link ModalProps.onBeforeClose|onBeforeClose} event handler\n\t */\n\topen(): Promise<any>;\n}\n\n\n\n/**\n * Represents a modal widget with specific data type.\n *\n * @template Data - The type of data that the modal widget will handle.\n */\nexport type ModalWidget<Data> = Widget<ModalProps<Data>, ModalState<Data>, ModalApi<Data>, ModalDirectives>;\n\n\n\n/**\n * Creates a new modal widget instance.\n * @param config - config of the modal, either as a store or as an object containing values or stores.\n * @returns a new modal widget instance\n */\nconst export_createModal: <Data>(config?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data> = createModal as any;\nexport {export_createModal as createModal};\n\n\n\n/**\n * Value present in the {@link ModalBeforeCloseEvent.result|result} property of the {@link ModalProps.onBeforeClose|onBeforeClose} event\n * and returned by the {@link ModalApi.open|open} method, when the modal is closed by a click inside the viewport but outside the modal.\n */\nconst export_modalOutsideClick: typeof modalOutsideClick = modalOutsideClick as any;\nexport {export_modalOutsideClick as modalOutsideClick};\n\n\n\n/**\n * Value present in the {@link ModalBeforeCloseEvent.result|result} property of the {@link ModalProps.onBeforeClose|onBeforeClose} event\n * and returned by the {@link ModalApi.open|open} method, when the modal is closed by a click on the close button.\n */\nconst export_modalCloseButtonClick: typeof modalCloseButtonClick = modalCloseButtonClick as any;\nexport {export_modalCloseButtonClick as modalCloseButtonClick};\n\n/**\n * Type of the parameter of {@link ModalProps.onBeforeClose|onBeforeClose}.\n */\nexport interface ModalBeforeCloseEvent {\n\t\n\t/**\n\t * Result of the modal, which is the value passed to the {@link ModalApi.close|close} method\n\t * and later resolved by the promise returned by the {@link ModalApi.open|open} method.\n\t * If needed, it can be changed from the {@link ModalProps.onBeforeClose|onBeforeClose} event handler.\n\t */\n\tresult: any;\n\t\n\n\t/**\n\t * Whether to cancel the close of the modal.\n\t * It can be changed from the {@link ModalProps.onBeforeClose|onBeforeClose} event handler.\n\t */\n\tcancel: boolean;\n}\n\n/**\n * Directives of the modal widget.\n */\nexport interface ModalDirectives {\n\t\n\t/**\n\t * Directive to put on the modal DOM element.\n\t */\n\tmodalDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the backdrop DOM element.\n\t */\n\tbackdropDirective: Directive;\n\t\n\n\t/**\n\t * Portal directive to put on the modal DOM element.\n\t */\n\tmodalPortalDirective: Directive;\n\t\n\n\t/**\n\t * Portal directive to put on the backdrop DOM element.\n\t */\n\tbackdropPortalDirective: Directive;\n\t\n\n\t/**\n\t * Directive that adds all the necessary attributes to the close button\n\t */\n\tcloseButtonDirective: Directive;\n\t\n\t/**\n\t * Directive to apply to the dialog element when using the native {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement | HTMLDialogElement}\n\t */\n\tdialogDirective: Directive;\n}\n\n","import type {\n\tAngularWidget,\n\tIsSlotContent,\n\tPartial2Levels,\n\tSlotContent,\n\tWidget,\n\tWidgetFactory,\n\tWidgetProps,\n\tWidgetsConfigStore,\n} from '@agnos-ui/angular-headless';\nimport {widgetsConfigFactory} from '@agnos-ui/angular-headless';\nimport type {BootstrapWidgetsConfig} from '@agnos-ui/core-bootstrap/config';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider, TemplateRef} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\n\nimport type {WidgetsConfig} from './config.gen';\nexport type {WidgetsConfig};\n\ntype AdaptParentConfig = (config: Partial2Levels<WidgetsConfig>) => Partial2Levels<WidgetsConfig>;\ntype InjectWidgetsConfig = (config?: Partial2Levels<WidgetsConfig>) => WidgetsConfigStore<WidgetsConfig>;\n\n/**\n * @param factory - The widget factory.\n * @param widgetName - The name of the widget.\n * @param defaultConfig - The default configuration for the widget.\n * @param events - The events for the widget.\n * @param afterInit - The function to call after initialization.\n */\nconst widgetFactories: {\n\twidgetsConfigInjectionToken: InjectionToken<WidgetsConfigStore<WidgetsConfig>>;\n\tprovideWidgetsConfig: (adaptParentConfig?: AdaptParentConfig) => FactoryProvider;\n\tinjectWidgetConfig: <N extends keyof BootstrapWidgetsConfig>(widgetName: N) => ReadableSignal<Partial<WidgetsConfig[N]> | undefined>;\n\tinjectWidgetsConfig: InjectWidgetsConfig;\n\tcallWidgetFactory: <W extends Widget<object, object, object, object>>({\n\t\tfactory,\n\t\twidgetName,\n\t\tdefaultConfig,\n\t\tevents,\n\t\tafterInit,\n\t\tslotTemplates,\n\t\tslotChildren,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: keyof BootstrapWidgetsConfig | null | undefined;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined> | undefined;\n\t\tevents?: Partial<Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>>;\n\t\tafterInit?: (widget: AngularWidget<W>) => void;\n\t\tslotTemplates?: () => {\n\t\t\t[K in keyof WidgetProps<W> as IsSlotContent<WidgetProps<W>[K]> extends 0 ? never : K]: WidgetProps<W>[K] extends SlotContent<infer U>\n\t\t\t\t? TemplateRef<U> | undefined\n\t\t\t\t: never;\n\t\t};\n\t\tslotChildren?: () => TemplateRef<void> | undefined;\n\t}) => AngularWidget<W>;\n} = widgetsConfigFactory<WidgetsConfig>(new InjectionToken<WidgetsConfigStore<WidgetsConfig>>('bootstrapWidgetsConfig')) as any;\n\n/**\n * Destructures and exports several functions and constants from the `widgetFactories` object.\n *\n * @constant {InjectionToken} widgetsConfigInjectionToken - Token used for injecting widget configuration.\n * @function provideWidgetsConfig - Provides the widget configuration.\n * @function injectWidgetConfig - Injects a single widget configuration.\n * @function injectWidgetsConfig - Injects multiple widget configurations.\n * @function callWidgetFactory - Calls the widget factory function.\n */\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} = widgetFactories;\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {BaseWidgetDirective, ComponentTemplate, SlotDirective, UseDirective, UseMultiDirective, auBooleanAttribute} from '@agnos-ui/angular-headless';\nimport type {ModalContext, ModalWidget, ModalBeforeCloseEvent} from './modal.gen';\nimport {createModal} from './modal.gen';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\n\n/**\n * Directive to provide the slot structure for the modal widget.\n * This directive provides a template reference for the {@link ModalContext<Data>}.\n */\n@Directive({selector: 'ng-template[auModalStructure]', standalone: true})\nexport class ModalStructureDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalStructureDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot header for the modal widget.\n * This directive provides a template reference for the {@link ModalContext<Data>}.\n */\n@Directive({selector: 'ng-template[auModalHeader]', standalone: true})\nexport class ModalHeaderDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalHeaderDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot title for the modal widget.\n * This directive provides a template reference for the {@link ModalContext<Data>}.\n */\n@Directive({selector: 'ng-template[auModalTitle]', standalone: true})\nexport class ModalTitleDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalTitleDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the default slot for the modal widget.\n * This directive provides a template reference for the {@link ModalContext<Data>}.\n */\n@Directive({selector: 'ng-template[auModalBody]', standalone: true})\nexport class ModalBodyDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalBodyDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot footer for the modal widget.\n * This directive provides a template reference for the {@link ModalContext<Data>}.\n */\n@Directive({selector: 'ng-template[auModalFooter]', standalone: true})\nexport class ModalFooterDirective<Data> {\n\tpublic templateRef = inject(TemplateRef<ModalContext<Data>>);\n\tstatic ngTemplateContextGuard<Data>(_dir: ModalFooterDirective<Data>, context: unknown): context is ModalContext<Data> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Component containing the default slots for the modal.\n */\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, ModalHeaderDirective, ModalStructureDirective, UseDirective],\n\ttemplate: `\n\t\t<ng-template auModalHeader #header let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t<h5 class=\"modal-title\">\n\t\t\t\t<ng-template [auSlot]=\"state.title()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t</h5>\n\t\t\t@if (state.closeButton()) {\n\t\t\t\t<button class=\"btn-close\" [auUse]=\"directives.closeButtonDirective\"></button>\n\t\t\t}\n\t\t</ng-template>\n\t\t<ng-template auModalStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t@if (state.title()) {\n\t\t\t\t<div class=\"modal-header\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.header()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-template [auSlot]=\"state.children()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t</div>\n\t\t\t@if (state.footer()) {\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.footer()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nclass ModalDefaultSlotsComponent<Data> {\n\t@ViewChild('header', {static: true}) header!: TemplateRef<ModalContext<Data>>;\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ModalContext<Data>>;\n}\n\n/**\n * Default slot for modal header.\n */\nexport const modalDefaultSlotHeader: SlotContent<ModalContext<any>> = new ComponentTemplate(ModalDefaultSlotsComponent, 'header');\n\n/**\n * Default slot for modal structure.\n */\nexport const modalDefaultSlotStructure: SlotContent<ModalContext<any>> = new ComponentTemplate(ModalDefaultSlotsComponent, 'structure');\n\n/**\n * Modal component.\n */\n@Component({\n\tselector: '[auModal]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseMultiDirective, SlotDirective],\n\ttemplate: `\n\t\t<ng-template #content><ng-content></ng-content></ng-template>\n\t\t@if (!state.backdropHidden()) {\n\t\t\t<div class=\"modal-backdrop\" [auUseMulti]=\"[directives.backdropPortalDirective, directives.backdropDirective]\"></div>\n\t\t}\n\t\t@if (!state.hidden()) {\n\t\t\t<div class=\"modal d-block\" [auUseMulti]=\"[directives.modalPortalDirective, directives.modalDirective]\">\n\t\t\t\t<div class=\"modal-dialog {{ state.fullscreen() ? 'modal-fullscreen' : '' }}\">\n\t\t\t\t\t<div class=\"modal-content\">\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.structure()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\t`,\n})\nexport class ModalComponent<Data> extends BaseWidgetDirective<ModalWidget<Data>> {\n\t/**\n\t * Whether the modal and its backdrop (if present) should be animated when shown or hidden.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\n\t/**\n\t * The transition to use for the backdrop behind the modal (if present).\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auBackdropTransition') backdropTransition: TransitionFn | undefined;\n\n\t/**\n\t * The transition to use for the modal.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auModalTransition') modalTransition: TransitionFn | undefined;\n\n\t/**\n\t * Whether the modal should be visible when the transition is completed.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute}) visible: boolean | undefined;\n\n\t/**\n\t * Whether a backdrop should be created behind the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auBackdrop', transform: auBooleanAttribute}) backdrop: boolean | undefined;\n\n\t/**\n\t * Whether the modal should be closed when clicking on the viewport outside the modal.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auCloseOnOutsideClick', transform: auBooleanAttribute}) closeOnOutsideClick: boolean | undefined;\n\n\t/**\n\t * Which element should contain the modal and backdrop DOM elements.\n\t * If it is not null, the modal and backdrop DOM elements are moved to the specified container.\n\t * Otherwise, they stay where the widget is located.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * typeof window !== 'undefined' ? document.body : null\n\t * ```\n\t */\n\t@Input('auContainer') container: HTMLElement | null | undefined;\n\n\t/**\n\t * Value of the aria-label attribute to put on the close button.\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Classes to add on the backdrop DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auBackdropClass') backdropClass: string | undefined;\n\n\t/**\n\t * Whether to display the close button.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auCloseButton', transform: auBooleanAttribute}) closeButton: boolean | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Option to create a fullscreen modal, according to the bootstrap documentation.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auFullscreen', transform: auBooleanAttribute}) fullscreen: boolean | undefined;\n\n\t/**\n\t * Structure of the modal.\n\t * The default structure uses {@link ModalProps.header|header}, {@link ModalProps.children|children} and {@link ModalProps.footer|footer}.\n\t */\n\t@Input('auStructure') structure: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalStructureDirective, {static: false})\n\tslotStructureFromContent: ModalStructureDirective<Data> | undefined;\n\n\t/**\n\t * Header of the modal. The default header includes {@link ModalProps.title|title}.\n\t */\n\t@Input('auHeader') header: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalHeaderDirective, {static: false})\n\tslotHeaderFromContent: ModalHeaderDirective<Data> | undefined;\n\n\t/**\n\t * Title of the modal.\n\t */\n\t@Input('auTitle') title: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalTitleDirective, {static: false})\n\tslotTitleFromContent: ModalTitleDirective<Data> | undefined;\n\n\t/**\n\t * Body of the modal.\n\t */\n\t@Input('auChildren') children: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalBodyDirective, {static: false})\n\tslotDefaultFromContent: ModalBodyDirective<Data> | undefined;\n\n\t/**\n\t * Footer of the modal.\n\t */\n\t@Input('auFooter') footer: SlotContent<ModalContext<Data>>;\n\t@ContentChild(ModalFooterDirective, {static: false})\n\tslotFooterFromContent: ModalFooterDirective<Data> | undefined;\n\n\t/**\n\t * Data to use in content slots\n\t */\n\t@Input('auContentData') contentData: Data | undefined;\n\n\t/**\n\t * Event to be triggered when the visible property changes.\n\t *\n\t * @param visible - new value of the visible propery\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Event to be triggered when the modal is about to be closed (i.e. the {@link ModalApi.close|close} method was called).\n\t *\n\t * @param event - event giving access to the argument given to the {@link ModalApi.close|close} method and allowing\n\t * to cancel the close process.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auBeforeClose') beforeClose = new EventEmitter<ModalBeforeCloseEvent>();\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is not visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Event to be triggered when the transition is completed and the modal is visible.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\t@ViewChild('content', {static: true})\n\tslotChildren?: TemplateRef<void>;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory<ModalWidget<Data>>({\n\t\t\t\tfactory: createModal,\n\t\t\t\twidgetName: 'modal',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\theader: modalDefaultSlotHeader,\n\t\t\t\t\tstructure: modalDefaultSlotStructure,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonShown: () => this.shown.emit(),\n\t\t\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\t\t\tonBeforeClose: (event) => this.beforeClose.emit(event),\n\t\t\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\t\t},\n\t\t\t\tslotTemplates: () =>\n\t\t\t\t\t({\n\t\t\t\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\t\t\t\tfooter: this.slotFooterFromContent?.templateRef,\n\t\t\t\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\t\ttitle: this.slotTitleFromContent?.templateRef,\n\t\t\t\t\t}) as any,\n\t\t\t\tslotChildren: () => this.slotChildren,\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getPaginationDefaultConfig, createPagination} from '@agnos-ui/core-bootstrap/components/pagination';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Pagination config\n * @returns the default Pagination config\n */\nconst export_getPaginationDefaultConfig: () => PaginationProps = getPaginationDefaultConfig as any;\nexport {export_getPaginationDefaultConfig as getPaginationDefaultConfig};\n\n\n\n/**\n * A type for the slot context of the pagination widget\n */\nexport interface PaginationContext extends WidgetSlotContext<PaginationWidget> {}\n\n\n\n/**\n * A type for the slot context of the pagination widget when the slot is the number label\n */\nexport interface PaginationNumberContext extends PaginationContext {\n\t/**\n\t * Displayed page\n\t */\n\tdisplayedPage: number;\n}\n\n/**\n * Represents the state of a pagination component.\n */\nexport interface PaginationState {\n\t\n\t/**\n\t * The number of pages.\n\t */\n\tpageCount: number;\n\t\n\t/**\n\t * The current pages, the number in the Array is the number of the page.\n\t */\n\tpages: number[];\n\t\n\t/**\n\t * true if the previous link need to be disabled\n\t */\n\tpreviousDisabled: boolean;\n\t\n\t/**\n\t * true if the next link need to be disabled\n\t */\n\tnextDisabled: boolean;\n\t\n\t/**\n\t * The label for each \"Page\" page link.\n\t */\n\tpagesLabel: string[];\n\t\n\n\t/** The hrefs for each \"Page\" page link */\n\tpagesHrefs: string[];\n\t\n\n\t/** The hrefs for the direction links */\n\tdirectionsHrefs: DirectionsHrefs;\n\t\n\n\t/** The aria-live text */\n\tariaLiveLabelText: string;\n\t\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\tpage: number;\n\t // value of the current/init page to display\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\tactiveLabel: string;\n\t\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\tariaFirstLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\tariaPreviousLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\tariaNextLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\tariaLastLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\tariaEllipsisLabel: string;\n\t\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdirectionLinks: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\tboundaryLinks: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\tstructure: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\tellipsisLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\tfirstPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\tpreviousPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\tnextPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\tlastPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\tpagesDisplay: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\tnumberLabel: SlotContent<PaginationNumberContext>;\n\t\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\tsize: 'sm' | 'lg' | null;\n}\n\n/**\n * Represents the properties for the Pagination component.\n */\nexport interface PaginationProps {\n\t\n\t/**\n\t * The number of items in your paginated collection.\n\t *\n\t * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n\t * `collectionSize` and `pageSize`.\n\t *\n\t * Ex. if you have 100 items in your collection and displaying 20 items per page, you'll end up with 5 pages.\n\t *\n\t * Whatever the collectionSize the page number is of minimum 1.\n\t *\n\t * @defaultValue `0`\n\t */\n\tcollectionSize: number;\n\t\n\n\t/**\n\t * The number of items per page.\n\t * @remarks min value is 1\n\t *\n\t * @defaultValue `10`\n\t */\n\tpageSize: number;\n\t\n\n\t/**\n\t * An event fired when the page is changed.\n\t *\n\t * Event payload is the number of the newly selected page.\n\t *\n\t * Page numbers start with `1`.\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonPageChange: (page: number) => void;\n\t\n\n\t/**\n\t * pagesFactory returns a function computing the array of pages to be displayed\n\t * as number (-1 are treated as ellipsis).\n\t * Use Page slot to customize the pages view and not this\n\t * @param page - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number, pageCount: number) => {\n\t * \t\tconst pages: number[] = [];\n\t * \t\tfor (let i = 1; i <= pageCount; i++) {\n\t * \t\t\tpages.push(i);\n\t * \t\t}\n\t * \t\treturn pages;\n\t * \t}\n\t * ```\n\t */\n\tpagesFactory: (page: number, pageCount: number) => number[];\n\t\n\n\t/**\n\t * Provide the label for each \"Page\" page button.\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param processPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (processPage: number, pageCount: number) => `Page ${processPage} of ${pageCount}`\n\t * ```\n\t */\n\tariaPageLabel: (processPage: number, pageCount: number) => string;\n\t\n\n\t/**\n\t * Provide the label for the aria-live element\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param currentPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (currentPage: number) => `Current page is ${currentPage}`\n\t * ```\n\t */\n\tariaLiveLabel: (currentPage: number, pageCount: number) => string;\n\t\n\n\t/**\n\t * Factory function providing the href for a \"Page\" page anchor,\n\t * based on the current page number\n\t * @param pageNumber - The index to use in the link\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number) => PAGE_LINK_DEFAULT\n\t * ```\n\t */\n\tpageLink: (pageNumber: number) => string;\n\t\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\tpage: number;\n\t // value of the current/init page to display\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\tactiveLabel: string;\n\t\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\tariaFirstLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\tariaPreviousLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\tariaNextLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\tariaLastLabel: string;\n\t\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\tariaEllipsisLabel: string;\n\t\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdirectionLinks: boolean;\n\t\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\tboundaryLinks: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\tstructure: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\tellipsisLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\tfirstPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\tpreviousPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\tnextPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\tlastPageLabel: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\tpagesDisplay: SlotContent<PaginationContext>;\n\t\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\tnumberLabel: SlotContent<PaginationNumberContext>;\n\t\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\tsize: 'sm' | 'lg' | null;\n}\n\n\n\n/**\n * Represents a pagination widget component.\n *\n * This type defines a widget that handles pagination functionality,\n * including properties, state, api and directives specific to pagination.\n */\nexport type PaginationWidget = Widget<PaginationProps, PaginationState, PaginationApi, PaginationDirectives>;\n\n\n\n/**\n * Create a PaginationWidget with given config props\n * @param config - an optional alert config\n * @returns a PaginationWidget\n */\nconst export_createPagination: WidgetFactory<PaginationWidget> = createPagination as any;\nexport {export_createPagination as createPagination};\n\n/**\n * Interface representing the hrefs for pagination navigation links.\n */\nexport interface DirectionsHrefs {\n\t\n\t/**\n\t * The href for the 'Previous' navigation link\n\t */\n\tprevious: string;\n\t\n\t/**\n\t * The href for the 'Next' direction link\n\t */\n\tnext: string;\n}\n\n/**\n * Interface representing pagination API for navigating through pages.\n */\nexport interface PaginationApi {\n\t\n\t/**\n\t * To \"go\" to a specific page\n\t * @param page - The page number to select\n\t */\n\tselect(page: number): void;\n\t\n\t/**\n\t * To \"go\" to the first page\n\t */\n\tfirst(): void;\n\t\n\t/**\n\t * To \"go\" to the previous page\n\t */\n\tprevious(): void;\n\t\n\t/**\n\t * To \"go\" to the next page\n\t */\n\tnext(): void;\n\t\n\t/**\n\t * To \"go\" to the last page\n\t */\n\tlast(): void;\n}\n\n/**\n * Interface representing the directives for pagination components.\n */\nexport interface PaginationDirectives {\n\t\n\t/**\n\t * A directive to be applied to each page link\n\t * This will handle the click, tabindex and aria attributes\n\t */\n\tpageLink: Directive<{\n\t\tpage: number;\n\t}>;\n\t\n\n\t/**\n\t * A directive to be applied on the previous link\n\t */\n\tpagePrev: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the first link\n\t */\n\tpageFirst: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the next link\n\t */\n\tpageNext: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on the Last link\n\t */\n\tpageLast: Directive;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {BaseWidgetDirective, ComponentTemplate, SlotDirective, UseDirective, auBooleanAttribute, auNumberAttribute} from '@agnos-ui/angular-headless';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {PaginationContext, PaginationNumberContext, PaginationWidget} from './pagination.gen';\nimport {createPagination} from './pagination.gen';\n\n/**\n * A directive to use to give the 'ellipsis' link template to the pagination component\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationEllipsis]', standalone: true})\nexport class PaginationEllipsisDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationEllipsisDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'first' link template to the pagination component\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationFirst]', standalone: true})\nexport class PaginationFirstDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationFirstDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'last' link template to the pagination component\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationLast]', standalone: true})\nexport class PaginationLastDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationLastDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'next' link template to the pagination component\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationNext]', standalone: true})\nexport class PaginationNextDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationNextDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the page 'number' template to the pagination component\n * This directive provides a template reference for the {@link PaginationNumberContext}.\n */\n@Directive({selector: 'ng-template[auPaginationNumber]', standalone: true})\nexport class PaginationNumberDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationNumberContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationNumberDirective, context: unknown): context is PaginationNumberContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'previous' link template to the pagination component\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationPrevious]', standalone: true})\nexport class PaginationPreviousDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationPreviousDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * A directive to use to give the 'Pages' template for the Pages slot\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationPages]', standalone: true})\nexport class PaginationPagesDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationPagesDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide the slot structure for the pagination widget.\n * This directive provides a template reference for the {@link PaginationContext}.\n */\n@Directive({selector: 'ng-template[auPaginationStructure]', standalone: true})\nexport class PaginationStructureDirective {\n\tpublic templateRef = inject(TemplateRef<PaginationContext>);\n\tstatic ngTemplateContextGuard(_dir: PaginationStructureDirective, context: unknown): context is PaginationContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\timports: [SlotDirective, PaginationPagesDirective, PaginationStructureDirective, UseDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-template auPaginationPages #pages let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t@for (page of state.pages(); track page; let i = $index) {\n\t\t\t\t<li class=\"page-item\" [class.active]=\"page === state.page()\" [class.disabled]=\"page === -1 || state.disabled()\">\n\t\t\t\t\t@if (page === -1) {\n\t\t\t\t\t\t<div class=\"page-link au-ellipsis\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.ellipsisLabel()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"visually-hidden\">{{ state.ariaEllipsisLabel() }}</span>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"[directives.pageLink, {page}]\">\n\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.numberLabel()\" [auSlotProps]=\"{state, api, directives, displayedPage: page}\"></ng-template>\n\t\t\t\t\t\t\t@if (state.page() === page) {\n\t\t\t\t\t\t\t\t<span class=\"visually-hidden\">{{ state.activeLabel() }}</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</li>\n\t\t\t}\n\t\t</ng-template>\n\t\t<ng-template auPaginationStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t<ul [class]=\"'au-pagination pagination' + (state.size() ? ' pagination-' + state.size() : '') + ' ' + state.className()\">\n\t\t\t\t@if (state.boundaryLinks()) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.previousDisabled()\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"directives.pageFirst\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.firstPageLabel()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t@if (state.directionLinks()) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.previousDisabled()\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"directives.pagePrev\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.previousPageLabel()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t<ng-template [auSlot]=\"state.pagesDisplay()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t@if (state.directionLinks()) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.nextDisabled()\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"directives.pageNext\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.nextPageLabel()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t\t@if (state.boundaryLinks()) {\n\t\t\t\t\t<li class=\"page-item\" [class.disabled]=\"state.nextDisabled()\">\n\t\t\t\t\t\t<a class=\"page-link\" [auUse]=\"directives.pageLast\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<ng-template [auSlot]=\"state.lastPageLabel()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t\t<div aria-live=\"polite\" class=\"visually-hidden\">{{ state.ariaLiveLabelText() }}</div>\n\t\t</ng-template>\n\t`,\n})\nclass PaginationDefaultSlotsComponent {\n\t@ViewChild('pages', {static: true}) pages!: TemplateRef<PaginationContext>;\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<PaginationContext>;\n}\n/**\n * The default slot for the pages\n */\nexport const paginationDefaultSlotPages: SlotContent<PaginationContext> = new ComponentTemplate(PaginationDefaultSlotsComponent, 'pages');\n/**\n * The default slot for the structure\n */\nexport const paginationDefaultSlotStructure: SlotContent<PaginationContext> = new ComponentTemplate(PaginationDefaultSlotsComponent, 'structure');\n\n/**\n * The `PaginationComponent` is an Angular component that extends the `BaseWidgetDirective`\n * to provide a customizable pagination widget. It includes various input properties\n * to configure labels, templates, and behavior for accessibility and internationalization (i18n).\n */\n@Component({\n\tselector: '[auPagination]',\n\tstandalone: true,\n\timports: [SlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[attr.aria-label]': 'state.ariaLabel()',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\ttemplate: `<ng-template [auSlotProps]=\"{state, api, directives}\" [auSlot]=\"state.structure()\"></ng-template>`,\n})\nexport class PaginationComponent extends BaseWidgetDirective<PaginationWidget> {\n\t/**\n\t * Provide the label for each \"Page\" page button.\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param processPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (processPage: number, pageCount: number) => `Page ${processPage} of ${pageCount}`\n\t * ```\n\t */\n\t@Input('auAriaPageLabel') ariaPageLabel: ((processPage: number, pageCount: number) => string) | undefined;\n\n\t/**\n\t * Provide the label for the aria-live element\n\t * This is used for accessibility purposes.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t * @param currentPage - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (currentPage: number) => `Current page is ${currentPage}`\n\t * ```\n\t */\n\t@Input('auAriaLiveLabel') ariaLiveLabel: ((currentPage: number, pageCount: number) => string) | undefined;\n\n\t/**\n\t * The label for the nav element.\n\t *\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Page navigation'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The label for the \"active\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * '(current)'\n\t * ```\n\t */\n\t@Input('auActiveLabel') activeLabel: string | undefined;\n\n\t/**\n\t * The label for the \"First\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for first page'\n\t * ```\n\t */\n\t@Input('auAriaFirstLabel') ariaFirstLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Previous\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for previous page'\n\t * ```\n\t */\n\t@Input('auAriaPreviousLabel') ariaPreviousLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Next\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for next page'\n\t * ```\n\t */\n\t@Input('auAriaNextLabel') ariaNextLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Last\" page button.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * 'Action link for last page'\n\t * ```\n\t */\n\t@Input('auAriaLastLabel') ariaLastLabel: string | undefined;\n\n\t/**\n\t * The label for the \"Ellipsis\" page.\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'Ellipsis page element'`\n\t */\n\t@Input('auAriaEllipsisLabel') ariaEllipsisLabel: string | undefined;\n\n\t/**\n\t * Factory function providing the href for a \"Page\" page anchor,\n\t * based on the current page number\n\t * @param pageNumber - The index to use in the link\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number) => PAGE_LINK_DEFAULT\n\t * ```\n\t */\n\t@Input('auPageLink') pageLink: ((pageNumber: number) => string) | undefined;\n\n\t/**\n\t * The template to use for the ellipsis slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'…'`\n\t */\n\t@Input('auEllipsisLabel') ellipsisLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationEllipsisDirective, {static: false})\n\tslotEllipsisFromContent: PaginationEllipsisDirective | undefined;\n\n\t/**\n\t * The template to use for the first slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'«'`\n\t */\n\t@Input('auFirstPageLabel') firstPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationFirstDirective, {static: false})\n\tslotFirstFromContent: PaginationFirstDirective | undefined;\n\n\t/**\n\t * The template to use for the previous slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'‹'`\n\t */\n\t@Input('auPreviousPageLabel') previousPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationPreviousDirective, {static: false})\n\tslotPreviousFromContent: PaginationPreviousDirective | undefined;\n\n\t/**\n\t * The template to use for the next slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'›'`\n\t */\n\t@Input('auNextPageLabel') nextPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationNextDirective, {static: false})\n\tslotNextFromContent: PaginationNextDirective | undefined;\n\n\t/**\n\t * The template to use for the last slot\n\t * for I18n, we suggest to use the global configuration\n\t * override any configuration parameters provided for this\n\t *\n\t * @defaultValue `'»'`\n\t */\n\t@Input('auLastPageLabel') lastPageLabel: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationLastDirective, {static: false})\n\tslotLastFromContent: PaginationLastDirective | undefined;\n\n\t/**\n\t * The template to use for the pages slot\n\t * To use to customize the pages view\n\t * override any configuration parameters provided for this\n\t */\n\t@Input('auPagesDisplay') pagesDisplay: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationPagesDirective, {static: false})\n\tslotPagesFromContent: PaginationPagesDirective | undefined;\n\n\t/**\n\t * The template to use for the number slot\n\t * override any configuration parameters provided for this\n\t * for I18n, we suggest to use the global configuration\n\t * @param displayedPage - The current page number\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({displayedPage}: PaginationNumberContext) => `${displayedPage}`\n\t * ```\n\t */\n\t@Input('auNumberLabel') numberLabel: SlotContent<PaginationNumberContext>;\n\t@ContentChild(PaginationNumberDirective, {static: false})\n\tslotNumberLabelFromContent: PaginationNumberDirective | undefined;\n\n\t/**\n\t * The template to use for the structure of the pagination component\n\t * The default structure uses {@link PaginationProps.ellipsisLabel|ellipsisLabel}, {@link PaginationProps.firstPageLabel|firstPageLabel},\n\t * {@link PaginationProps.previousPageLabel|previousPageLabel}, {@link PaginationProps.nextPageLabel|nextPageLabel},\n\t * {@link PaginationProps.lastPageLabel|lastPageLabel}, {@link PaginationProps.pagesDisplay|pagesDisplay},\n\t * {@link PaginationProps.numberLabel|numberLabel},\n\t */\n\t@Input('auStructure') structure: SlotContent<PaginationContext>;\n\t@ContentChild(PaginationStructureDirective, {static: false})\n\tslotStructureFromContent: PaginationStructureDirective | undefined;\n\n\t/**\n\t * If `true`, pagination links will be disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * If `true`, the \"First\" and \"Last\" page links are shown.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auBoundaryLinks', transform: auBooleanAttribute}) boundaryLinks: boolean | undefined;\n\n\t/**\n\t * If `true`, the \"Next\" and \"Previous\" page links are shown.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDirectionLinks', transform: auBooleanAttribute}) directionLinks: boolean | undefined;\n\n\t/**\n\t * The number of items in your paginated collection.\n\t *\n\t * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n\t * `collectionSize` and `pageSize`.\n\t *\n\t * Ex. if you have 100 items in your collection and displaying 20 items per page, you'll end up with 5 pages.\n\t *\n\t * Whatever the collectionSize the page number is of minimum 1.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auCollectionSize', transform: auNumberAttribute}) collectionSize: number | undefined;\n\n\t/**\n\t * The current page.\n\t *\n\t * Page numbers start with `1`.\n\t *\n\t * @defaultValue `1`\n\t */\n\t@Input({alias: 'auPage', transform: auNumberAttribute}) page: number | undefined;\n\n\t/**\n\t * The number of items per page.\n\t * @remarks min value is 1\n\t *\n\t * @defaultValue `10`\n\t */\n\t@Input({alias: 'auPageSize', transform: auNumberAttribute}) pageSize: number | undefined;\n\n\t/**\n\t * The pagination display size.\n\t *\n\t * Bootstrap currently supports small and large sizes.\n\t *\n\t * @defaultValue `null`\n\t */\n\t@Input('auSize') size: 'sm' | 'lg' | null | undefined;\n\n\t/**\n\t * pagesFactory returns a function computing the array of pages to be displayed\n\t * as number (-1 are treated as ellipsis).\n\t * Use Page slot to customize the pages view and not this\n\t * @param page - The current page number\n\t * @param pageCount - The total number of pages\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (_page: number, pageCount: number) => {\n\t * \t\tconst pages: number[] = [];\n\t * \t\tfor (let i = 1; i <= pageCount; i++) {\n\t * \t\t\tpages.push(i);\n\t * \t\t}\n\t * \t\treturn pages;\n\t * \t}\n\t * ```\n\t */\n\t@Input('auPagesFactory') pagesFactory: ((page: number, pageCount: number) => number[]) | undefined;\n\n\t/**\n\t * An event fired when the page is changed.\n\t *\n\t * Event payload is the number of the newly selected page.\n\t *\n\t * Page numbers start with `1`.\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auPageChange') pageChange = new EventEmitter<number>();\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createPagination,\n\t\t\t\twidgetName: 'pagination',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: paginationDefaultSlotStructure,\n\t\t\t\t\tpagesDisplay: paginationDefaultSlotPages,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonPageChange: (page: number) => this.pageChange.emit(page),\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\tellipsisLabel: this.slotEllipsisFromContent?.templateRef,\n\t\t\t\t\tfirstPageLabel: this.slotFirstFromContent?.templateRef,\n\t\t\t\t\tpreviousPageLabel: this.slotPreviousFromContent?.templateRef,\n\t\t\t\t\tnextPageLabel: this.slotNextFromContent?.templateRef,\n\t\t\t\t\tlastPageLabel: this.slotLastFromContent?.templateRef,\n\t\t\t\t\tpagesDisplay: this.slotPagesFromContent?.templateRef,\n\t\t\t\t\tnumberLabel: this.slotNumberLabelFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getRatingDefaultConfig, createRating} from '@agnos-ui/core-bootstrap/components/rating';\nimport type {SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Rating config\n * @returns the default Rating config\n */\nconst export_getRatingDefaultConfig: () => RatingProps = getRatingDefaultConfig as any;\nexport {export_getRatingDefaultConfig as getRatingDefaultConfig};\n\n/**\n * Represents the state of a rating component.\n */\nexport interface RatingState {\n\t\n\t/**\n\t * the aria value of the rating\n\t */\n\tariaValueText: string;\n\t\n\t/**\n\t * the visible value of the rating (it changes when hovering over the rating even though the real value did not change)\n\t */\n\tvisibleRating: number;\n\t\n\t/**\n\t * is the rating interactive i.e. listening to hover, click and keyboard events\n\t */\n\tinteractive: boolean;\n\t\n\t/**\n\t * the list of stars\n\t */\n\tstars: StarContext[];\n\t\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\trating: number;\n\t\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\tmaxRating: number;\n\t\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\tresettable: boolean;\n\t\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\ttabindex: number;\n\t\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\tariaLabelledBy: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\tstar: SlotContent<StarContext>;\n}\n\n/**\n * Represents the properties for the Rating component.\n */\nexport interface RatingProps {\n\t\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param rating - Current rating value.\n\t * @param maxRating - maxRating value.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (rating: number, maxRating: number) => `${rating} out of ${maxRating}`\n\t * ```\n\t */\n\tariaValueTextFn: (rating: number, maxRating: number) => string;\n\t\n\n\t/**\n\t * An event emitted when the rating is changed.\n\t *\n\t * Event payload is equal to the newly selected rating.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonRatingChange: (rating: number) => void;\n\t\n\n\t/**\n\t * An event emitted when the user is hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHover: (rating: number) => void;\n\t\n\n\t/**\n\t * An event emitted when the user stops hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating of the last item being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonLeave: (rating: number) => void;\n\t\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\trating: number;\n\t\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\tmaxRating: number;\n\t\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\tresettable: boolean;\n\t\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\ttabindex: number;\n\t\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\tariaLabel: string;\n\t\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\tariaLabelledBy: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\tstar: SlotContent<StarContext>;\n}\n\n\n\n/**\n * Represents a Rating Widget component.\n */\nexport type RatingWidget = Widget<RatingProps, RatingState, RatingApi, RatingDirectives>;\n\n\n\n/**\n * Create a RatingWidget with given config props\n * @param config - an optional rating config\n * @returns a RatingWidget\n */\n\nconst export_createRating: WidgetFactory<RatingWidget> = createRating as any;\nexport {export_createRating as createRating};\n\n\n\n/**\n * Represents the context for a star in a rating component.\n */\nexport interface StarContext {\n\t/**\n\t * indicates how much the current star is filled, from 0 to 100\n\t */\n\tfill: number;\n\t/**\n\t * the position of the star in the rating\n\t */\n\tindex: number;\n}\n\n/**\n * Interface representing directives for a rating component.\n */\nexport interface RatingDirectives {\n\t\n\t/**\n\t * A directive to be applied to the main container\n\t * This will handle the keydown, mouseleave, tabindex and aria attributes\n\t */\n\tcontainerDirective: Directive;\n\t\n\n\t/**\n\t * A directive to be applied on each star element\n\t */\n\tstarDirective: Directive<{index: number}>;\n}\n\n/**\n * Interface representing the API that can be performed on a rating component.\n */\nexport interface RatingApi {\n\t\n\t/**\n\t * Sets the rating value.\n\t *\n\t * @param index - Star index, starting from 1\n\t */\n\tsetRating(index: number): void;\n\t\n\n\t/**\n\t * Sets the hovered rating value.\n\t *\n\t * @param index - Star index, starting from 1\n\t */\n\tsetHoveredRating(index: number): void;\n\t\n\n\t/**\n\t * Leave the rating, resetting the visible rating to the rating value and triggering the onLeave callback\n\t */\n\tleave(): void;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewEncapsulation,\n\tforwardRef,\n\tinject,\n} from '@angular/core';\nimport type {ControlValueAccessor} from '@angular/forms';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {callWidgetFactory} from '../../config';\nimport type {RatingWidget, StarContext} from './rating.gen';\nimport {createRating} from './rating.gen';\n\n/**\n * Directive to represent a rating star.\n *\n * This directive uses a template reference to render the {@link StarContext}.\n */\n@Directive({selector: 'ng-template[auRatingStar]', standalone: true})\nexport class RatingStarDirective {\n\tpublic templateRef = inject(TemplateRef<StarContext>);\n\tstatic ngTemplateContextGuard(_dir: RatingStarDirective, context: unknown): context is StarContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * The `RatingComponent` is an Angular component that allows users to provide a rating.\n * It extends `BaseWidgetDirective` and implements `ControlValueAccessor` to integrate with Angular forms.\n */\n@Component({\n\tselector: '[auRating]',\n\tstandalone: true,\n\timports: [UseDirective, SlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'd-inline-flex',\n\t\t'(blur)': 'onTouched()',\n\t},\n\ttemplate: `\n\t\t@for (item of state.stars(); track trackByIndex(index); let index = $index) {\n\t\t\t<span class=\"visually-hidden\">({{ index < state.visibleRating() ? '*' : ' ' }})</span>\n\t\t\t<span [auUse]=\"[directives.starDirective, {index}]\">\n\t\t\t\t<ng-template [auSlot]=\"state.star()\" [auSlotProps]=\"state.stars()[index]\"></ng-template>\n\t\t\t</span>\n\t\t}\n\t`,\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RatingComponent), multi: true}],\n})\nexport class RatingComponent extends BaseWidgetDirective<RatingWidget> implements ControlValueAccessor {\n\tonChange = (_: any) => {};\n\tonTouched = () => {};\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param rating - Current rating value.\n\t * @param maxRating - maxRating value.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (rating: number, maxRating: number) => `${rating} out of ${maxRating}`\n\t * ```\n\t */\n\t@Input('auAriaValueTextFn') ariaValueTextFn: ((rating: number, maxRating: number) => string) | undefined;\n\n\t/**\n\t * If `true`, the rating is disabled.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * The maximum rating that can be given.\n\t *\n\t * @defaultValue `10`\n\t */\n\t@Input({alias: 'auMaxRating', transform: auNumberAttribute}) maxRating: number | undefined;\n\n\t/**\n\t * The current rating. Could be a decimal value like `3.75`.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auRating', transform: auNumberAttribute}) rating: number | undefined;\n\n\t/**\n\t * If `true`, the rating can't be changed.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auReadonly', transform: auBooleanAttribute}) readonly: boolean | undefined;\n\n\t/**\n\t * Define if the rating can be reset.\n\t *\n\t * If set to true, the user can 'unset' the rating value by cliking on the current rating value.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auResettable', transform: auBooleanAttribute}) resettable: boolean | undefined;\n\n\t/**\n\t * The template to override the way each star is displayed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({fill}: StarContext) => String.fromCharCode(fill === 100 ? 9733 : 9734)\n\t * ```\n\t */\n\t@Input('auStar') star: SlotContent<StarContext>;\n\t@ContentChild(RatingStarDirective, {static: false}) slotStarFromContent: RatingStarDirective | undefined;\n\n\t/**\n\t * Allows setting a custom rating tabindex.\n\t * If the component is disabled, `tabindex` will still be set to `-1`.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auTabindex', transform: auNumberAttribute}) tabindex: number | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * The aria label\n\t *\n\t * @defaultValue `'Rating'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The aria labelled by\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auAriaLabelledBy') ariaLabelledBy: string | undefined;\n\n\t/**\n\t * An event emitted when the user is hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHover') hover = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the user stops hovering over a given rating.\n\t *\n\t * Event payload is equal to the rating of the last item being hovered over.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auLeave') leave = new EventEmitter<number>();\n\n\t/**\n\t * An event emitted when the rating is changed.\n\t *\n\t * Event payload is equal to the newly selected rating.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auRatingChange') ratingChange = new EventEmitter<number>();\n\n\twriteValue(value: any): void {\n\t\tthis['_widget'].patch({rating: value});\n\t}\n\n\tregisterOnChange(fn: (value: any) => any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(disabled: boolean): void {\n\t\tthis['_widget'].patch({disabled});\n\t}\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createRating,\n\t\t\t\twidgetName: 'rating',\n\t\t\t\tevents: {\n\t\t\t\t\tonHover: (event) => this.hover.emit(event),\n\t\t\t\t\tonLeave: (event) => this.leave.emit(event),\n\t\t\t\t\tonRatingChange: (rating: number) => {\n\t\t\t\t\t\tthis.ratingChange.emit(rating);\n\t\t\t\t\t\tthis.onChange(rating);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.containerDirective);\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tstar: this.slotStarFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t}),\n\t\t);\n\t}\n\n\ttrackByIndex(index: number) {\n\t\treturn index;\n\t}\n}\n","import {getSelectDefaultConfig, createSelect} from '@agnos-ui/core-bootstrap/components/select';\nimport type {WidgetSlotContext, SlotContent, Widget, PropsConfig, HasFocus, FloatingUI, Directive} from '@agnos-ui/angular-headless';\nimport type {Placement} from '@floating-ui/dom';\n\n\n\n/**\n * Retrieve a shallow copy of the default Select config\n * @returns the default Select config\n */\nconst export_getSelectDefaultConfig: () => SelectProps<any> = getSelectDefaultConfig as any;\nexport {export_getSelectDefaultConfig as getSelectDefaultConfig};\n\n\n\n/**\n * Interface for the slot context of the pagination widget\n * @template Item - The type of the items in the Select component.\n */\nexport interface SelectContext<Item> extends WidgetSlotContext<SelectWidget<Item>> {}\n\n\n\n/**\n * Represents the context for a select item, extending the base `SelectContext` with additional\n * contextual data specific to an item.\n *\n * @template Item - The type of the item within the select context.\n */\nexport interface SelectItemContext<Item> extends SelectContext<Item> {\n\t/**\n\t * Contextual data related to an item\n\t */\n\titemContext: ItemContext<Item>;\n}\n\n/**\n * Represents the state of a Select component.\n *\n * @template Item - The type of the items in the select component.\n */\nexport interface SelectState<Item> {\n\t\n\t/**\n\t * List of item contexts, to be displayed in the menu\n\t */\n\tvisibleItems: ItemContext<Item>[];\n\t\n\n\t/**\n\t * List of selected items to be display\n\t */\n\tselectedContexts: ItemContext<Item>[];\n\t\n\n\t/**\n\t * Highlighted item context.\n\t * It is designed to define the highlighted item in the dropdown menu\n\t */\n\thighlighted: ItemContext<Item> | undefined;\n\t\n\n\t/**\n\t * Current placement of the dropdown\n\t */\n\tplacement: Placement | undefined;\n\t\n\t/**\n\t * id used for the input inside the select\n\t */\n\tid: string | undefined;\n\t\n\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\tariaLabel: string | undefined;\n\t\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\tselected: Item[];\n\t\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\tfilterText: string;\n\t\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\topen: boolean;\n\t\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuClassName: string;\n\t\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuItemClassName: string;\n\t\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\tbadgeClassName: string;\n\t\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\tloading: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\tbadgeLabel: SlotContent<SelectItemContext<Item>>;\n\t\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\titemLabel: SlotContent<SelectItemContext<Item>>;\n}\n\n/**\n * Represents the properties for the Select component.\n *\n * @template Item - The type of the items in the select component.\n */\nexport interface SelectProps<Item> {\n\t\n\t/**\n\t * List of available items for the dropdown\n\t *\n\t * @defaultValue `[]`\n\t */\n\titems: Item[];\n\t\n\n\t/**\n\t * List of allowed placements for the dropdown.\n\t * This refers to the [allowedPlacements from floating UI](https://floating-ui.com/docs/autoPlacement#allowedplacements), given the different [Placement possibilities](https://floating-ui.com/docs/computePosition#placement).\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ['bottom-start', 'top-start', 'bottom-end', 'top-end']\n\t * ```\n\t */\n\tallowedPlacements: Placement[];\n\t\n\n\t/**\n\t * Custom function to get the id of an item\n\t * By default, the item is returned\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (item: any) => '' + item\n\t * ```\n\t */\n\titemIdFn(item: Item): string;\n\t\n\n\t/**\n\t * Retrieves navigable elements within an HTML element containing badges and the input.\n\t *\n\t * @param node - HTMLElement that contains the badges and the input\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')\n\t * ```\n\t */\n\tnavSelector(node: HTMLElement): NodeListOf<HTMLSpanElement | HTMLInputElement>;\n\t\n\n\t// Event callbacks\n\n\t/**\n\t * Callback called dropdown open state change\n\t * @param isOpen - updated open state\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonOpenChange(isOpen: boolean): void;\n\t\n\n\t/**\n\t * Callback called when the text filter change\n\t * @param text - Filtered text\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonFilterTextChange(text: string): void;\n\t\n\n\t/**\n\t * Callback called when the selection change\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonSelectedChange(selected: Item[]): void;\n\t\n\t/**\n\t * id used for the input inside the select\n\t */\n\tid: string | undefined;\n\t\n\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\tariaLabel: string | undefined;\n\t\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\tselected: Item[];\n\t\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\tfilterText: string;\n\t\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\topen: boolean;\n\t\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuClassName: string;\n\t\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\tmenuItemClassName: string;\n\t\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\tbadgeClassName: string;\n\t\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\tloading: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\tbadgeLabel: SlotContent<SelectItemContext<Item>>;\n\t\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\titemLabel: SlotContent<SelectItemContext<Item>>;\n}\n\n\n\n/**\n * Represents a Select widget component.\n *\n * @template Item - The type of the items that the select widget will handle.\n */\nexport type SelectWidget<Item> = Widget<SelectProps<Item>, SelectState<Item>, SelectApi<Item>, SelectDirectives<Item>>;\n\n\n\n/**\n * Creates a new select widget instance.\n * @param config - config of the modal, either as a store or as an object containing values or stores.\n * @returns a new select widget instance\n */\nconst export_createSelect: <Item>(config?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = createSelect as any;\nexport {export_createSelect as createSelect};\n\n\n\n/**\n * Item representation built from the items provided in parameters\n */\nexport interface ItemContext<T> {\n\t/**\n\t * Original item given in the parameters\n\t */\n\titem: T;\n\n\t/**\n\t * Unique id to identify the item\n\t */\n\tid: string;\n\n\t/**\n\t * Specify if the item is checked\n\t */\n\tselected: boolean;\n}\n\n/**\n * Interface representing the API for a Select component.\n */\nexport interface SelectApi<Item> {\n\t\n\t/**\n\t * Clear all the selected items\n\t */\n\tclear(): void;\n\t\n\n\t/**\n\t * Clear the filter text\n\t */\n\tclearText(): void;\n\t\n\n\t/**\n\t * Highlight the given item, if there is a corresponding match among the visible list\n\t */\n\thighlight(item: Item): void;\n\t\n\n\t/**\n\t * Highlight the first item among the visible list\n\t */\n\thighlightFirst(): void;\n\t\n\n\t/**\n\t * Highlight the previous item among the visible list\n\t * Loop to the last item if needed\n\t */\n\thighlightPrevious(): void;\n\t\n\n\t/**\n\t * Highlight the next item among the visible list.\n\t * Loop to the first item if needed\n\t */\n\thighlightNext(): void;\n\t\n\n\t/**\n\t * Highlight the last item among the visible list\n\t */\n\thighlightLast(): void;\n\t\n\n\t/**\n\t * Select the provided item.\n\t * The selected list is used to\n\t * @param item - the item to select\n\t */\n\tselect(item: Item): void;\n\t\n\t/**\n\t * Unselect the provided item.\n\t * @param item - the item to unselect\n\t */\n\tunselect(item: Item): void;\n\t\n\t/**\n\t * Toggle the selection of an item\n\t * @param item - the item to toggle\n\t * @param selected - an optional boolean to enforce the selected/unselected state instead of toggling\n\t */\n\ttoggleItem(item: Item, selected?: boolean): void;\n\t\n\n\t/**\n\t * open the select\n\t */\n\topen(): void;\n\t\n\t/**\n\t * close the select\n\t */\n\tclose(): void;\n\t\n\t/**\n\t * Toggle the dropdown menu\n\t * @param isOpen - If specified, set the menu in the defined state.\n\t */\n\ttoggle(isOpen?: boolean): void;\n}\n\n/**\n * Interface representing the directives used in the Select component.\n */\nexport interface SelectDirectives<Item> {\n\t\n\t/**\n\t * Directive to be used in the input group and the menu containers\n\t */\n\thasFocusDirective: HasFocus['directive'];\n\t\n\n\t/**\n\t * Directive that enables dynamic positioning of menu element\n\t */\n\tfloatingDirective: FloatingUI['directives']['floatingDirective'];\n\t\n\n\t/**\n\t * A directive to be applied to the input group element serves as the base for menu positioning\n\t */\n\treferenceDirective: FloatingUI['directives']['referenceDirective'];\n\t\n\n\t/**\n\t * A directive to be applied to the element that contains the badges and the input\n\t */\n\tinputContainerDirective: Directive;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the container badges\n\t */\n\tbadgeAttributesDirective: Directive<ItemContext<Item>>;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the dropdown menu\n\t */\n\tmenuAttributesDirective: Directive;\n\t\n\n\t/**\n\t * A directive that applies all the necessary attributes to the dropdown item\n\t */\n\titemAttributesDirective: Directive<ItemContext<Item>>;\n\t\n\n\t/**\n\t * A directive to be applied to the input\n\t */\n\tinputDirective: Directive;\n\t\n\t/**\n\t * A directive to be applied to a button that closes a badge\n\t */\n\tbadgeCloseButtonDirective: Directive<ItemContext<Item>>;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tSlotDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tauBooleanAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {ChangeDetectionStrategy, Component, ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, inject} from '@angular/core';\nimport type {Placement} from '@floating-ui/dom';\nimport {callWidgetFactory} from '../../config';\nimport type {ItemContext, SelectItemContext, SelectWidget} from './select.gen';\nimport {createSelect} from './select.gen';\n\n/**\n * Directive to provide a custom template for the badge label in a select component.\n *\n * @template Item - The type of the item in the select component.\n *\n * This directive uses a template reference to render the {@link SelectItemContext<Item>}.\n */\n@Directive({selector: 'ng-template[auSelectBadgeLabel]', standalone: true})\nexport class SelectBadgeLabelDirective<Item> {\n\tpublic templateRef = inject(TemplateRef<SelectItemContext<Item>>);\n\tstatic ngTemplateContextGuard<Item>(_dir: SelectBadgeLabelDirective<Item>, context: unknown): context is SelectItemContext<Item> {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to provide a custom label template for select items.\n *\n * This directive allows you to define a custom template for the labels of items\n * in a select component. The template can be specified using an Angular `TemplateRef`.\n *\n * @template Item - The type of the items in the select component.\n *\n * This directive uses a template reference to render the {@link SelectItemContext<Item>}.\n */\n@Directive({selector: 'ng-template[auSelectItemLabel]', standalone: true})\nexport class SelectItemLabelDirective<Item> {\n\tpublic templateRef = inject(TemplateRef<SelectItemContext<Item>>);\n\tstatic ngTemplateContextGuard<Item>(_dir: SelectItemLabelDirective<Item>, context: unknown): context is SelectItemContext<Item> {\n\t\treturn true;\n\t}\n}\n\n/**\n * A component that represents a customizable select dropdown widget.\n *\n * @template Item - The type of items in the select dropdown.\n */\n@Component({\n\tstandalone: true,\n\timports: [UseMultiDirective, SlotDirective, UseDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tselector: '[auSelect]',\n\thost: {\n\t\t'[class]': '\"au-select dropdown border border-1 p-1 mb-3 d-block\" + state.className()',\n\t},\n\ttemplate: `\n\t\t<div [auUseMulti]=\"[directives.hasFocusDirective, directives.inputContainerDirective]\" class=\"d-flex align-items-center flex-wrap gap-1\">\n\t\t\t@if (state.selectedContexts(); as selectedContexts) {\n\t\t\t\t@for (itemContext of selectedContexts; track itemCtxTrackBy($index, itemContext)) {\n\t\t\t\t\t<div [auUse]=\"[directives.badgeAttributesDirective, itemContext]\">\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.badgeLabel()\" [auSlotProps]=\"{state, api, directives, itemContext}\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<input [auUse]=\"directives.inputDirective\" [value]=\"state.filterText()\" />\n\t\t</div>\n\t\t@if (state.open() && state.visibleItems().length) {\n\t\t\t<ul [auUseMulti]=\"[directives.hasFocusDirective, directives.floatingDirective, directives.menuAttributesDirective]\" class=\"dropdown-menu show\">\n\t\t\t\t@for (itemContext of state.visibleItems(); track itemCtxTrackBy($index, itemContext)) {\n\t\t\t\t\t<li\n\t\t\t\t\t\tclass=\"dropdown-item position-relative\"\n\t\t\t\t\t\t[auUse]=\"[directives.itemAttributesDirective, itemContext]\"\n\t\t\t\t\t\t[class.text-bg-primary]=\"itemContext === state.highlighted()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.itemLabel()\" [auSlotProps]=\"{state, api, directives, itemContext}\"></ng-template>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t}\n\t`,\n})\nexport class SelectComponent<Item> extends BaseWidgetDirective<SelectWidget<Item>> {\n\t/**\n\t * aria-label used for the input inside the select\n\t *\n\t * @defaultValue `'Select'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * id used for the input inside the select\n\t */\n\t@Input('auId') id: string | undefined;\n\n\t/**\n\t * List of available items for the dropdown\n\t *\n\t * @defaultValue `[]`\n\t */\n\t@Input('auItems') items: Item[] | undefined;\n\n\t/**\n\t * List of allowed placements for the dropdown.\n\t * This refers to the [allowedPlacements from floating UI](https://floating-ui.com/docs/autoPlacement#allowedplacements), given the different [Placement possibilities](https://floating-ui.com/docs/computePosition#placement).\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ['bottom-start', 'top-start', 'bottom-end', 'top-end']\n\t * ```\n\t */\n\t@Input('auAllowedPlacements') allowedPlacements: Placement[] | undefined;\n\n\t/**\n\t * true if the select is open\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auOpen', transform: auBooleanAttribute}) open: boolean | undefined;\n\n\t/**\n\t * Filtered text to be display in the filter input\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auFilterText') filterText: string | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * true if the select is disabled\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * List of selected item ids\n\t *\n\t * @defaultValue `[]`\n\t */\n\t@Input('auSelected') selected: Item[] | undefined;\n\n\t/**\n\t * true if a loading process is being done\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auLoading', transform: auBooleanAttribute}) loading: boolean | undefined;\n\n\t/**\n\t * Custom function to get the id of an item\n\t * By default, the item is returned\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (item: any) => '' + item\n\t * ```\n\t */\n\t@Input('auItemIdFn') itemIdFn: ((item: Item) => string) | undefined;\n\n\t/**\n\t * Class to be added on the dropdown menu container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auMenuClassName') menuClassName: string | undefined;\n\n\t/**\n\t * The template to override the way each badge on the left of the input is displayed.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\t@Input('auBadgeLabel') badgeLabel: SlotContent<SelectItemContext<Item>>;\n\t@ContentChild(SelectBadgeLabelDirective, {static: false}) slotSelectBadgeLabelFromContent: SelectBadgeLabelDirective<Item> | undefined;\n\n\t/**\n\t * The template to override the way each item is displayed in the list.\n\t * This define the content of the badge inside the badge container.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({itemContext}: SelectItemContext<any>) => itemContext.item\n\t * ```\n\t */\n\t@Input('auItemLabel') itemLabel: SlotContent<SelectItemContext<Item>>;\n\t@ContentChild(SelectItemLabelDirective, {static: false}) slotSelectItemLabelFromContent: SelectItemLabelDirective<Item> | undefined;\n\n\t/**\n\t * Callback called when the text filter change\n\t * @param text - Filtered text\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auFilterTextChange') filterTextChange = new EventEmitter<string>();\n\n\t/**\n\t * Callback called when the selection change\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auSelectedChange') selectedChange = new EventEmitter<Item[]>();\n\n\t/**\n\t * Callback called dropdown open state change\n\t * @param isOpen - updated open state\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auOpenChange') openChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Class to be added on menu items\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auMenuItemClassName') menuItemClassName: string | undefined;\n\n\t/**\n\t * Class to be added on selected items (displayed in the input zone)\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auBadgeClassName') badgeClassName: string | undefined;\n\n\t/**\n\t * Retrieves navigable elements within an HTML element containing badges and the input.\n\t *\n\t * @param node - HTMLElement that contains the badges and the input\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')\n\t * ```\n\t */\n\t@Input('auNavSelector') navSelector: ((node: HTMLElement) => NodeListOf<HTMLSpanElement | HTMLInputElement>) | undefined;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory<SelectWidget<Item>>({\n\t\t\t\tfactory: createSelect,\n\t\t\t\twidgetName: 'select',\n\t\t\t\tevents: {\n\t\t\t\t\tonOpenChange: (event) => this.openChange.emit(event),\n\t\t\t\t\tonSelectedChange: (event) => this.selectedChange.emit(event),\n\t\t\t\t\tonFilterTextChange: (event) => this.filterTextChange.emit(event),\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.referenceDirective);\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tbadgeLabel: this.slotSelectBadgeLabelFromContent?.templateRef,\n\t\t\t\t\titemLabel: this.slotSelectItemLabelFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t}),\n\t\t);\n\t}\n\n\titemCtxTrackBy(_: number, itemContext: ItemContext<Item>) {\n\t\treturn itemContext.id;\n\t}\n}\n","import {getAlertDefaultConfig, createAlert} from '@agnos-ui/core-bootstrap/components/alert';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n\n\n/**\n * Retrieve a shallow copy of the default Alert config\n * @returns the default Alert config\n */\nconst export_getAlertDefaultConfig: () => AlertProps = getAlertDefaultConfig as any;\nexport {export_getAlertDefaultConfig as getAlertDefaultConfig};\n\n\n\n/**\n * Represents the context for an Alert component.\n */\nexport interface AlertContext extends WidgetSlotContext<AlertWidget> {}\n\n/**\n * Represents the state of an alert component.\n */\nexport interface AlertState {\n\t\n\t/**\n\t * Is `true` when the alert is hidden. Compared to `visible`, this is updated after the transition is executed.\n\t */\n\thidden: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the alert component\n\t */\n\tstructure: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Template for the alert content\n\t */\n\tchildren: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\ttype: BSContextualClass;\n}\n\n/**\n * Represents the properties for the Alert component.\n */\nexport interface AlertProps {\n\t\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimatedOnInit: boolean;\n\t\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the alert component\n\t */\n\tstructure: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Template for the alert content\n\t */\n\tchildren: SlotContent<AlertContext>;\n\t\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\ttype: BSContextualClass;\n}\n\n\n\n/**\n * Represents an alert widget component.\n */\nexport type AlertWidget = Widget<AlertProps, AlertState, AlertApi, AlertDirectives>;\n\n\n\n/**\n * Create an AlertWidget with given config props\n * @param config - an optional alert config\n * @returns an AlertWidget\n */\nconst export_createAlert: WidgetFactory<AlertWidget> = createAlert as any;\nexport {export_createAlert as createAlert};\n\n/**\n * Represents the API for an alert component.\n */\nexport interface AlertApi {\n\t\n\t/**\n\t * Triggers alert closing programmatically (same as clicking on the close button (×)).\n\t */\n\tclose(): void;\n\t\n\n\t/**\n\t * Triggers the alert to be displayed for the user.\n\t */\n\topen(): void;\n}\n\n/**\n * Represents the directives for an alert component.\n */\nexport interface AlertDirectives {\n\t\n\t/**\n\t * the transition directive, piloting what is the visual effect of going from hidden to visible\n\t */\n\ttransitionDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {BaseWidgetDirective, ComponentTemplate, SlotDirective, UseDirective, auBooleanAttribute} from '@agnos-ui/angular-headless';\nimport type {AlertContext, AlertWidget} from './alert.gen';\nimport {createAlert} from './alert.gen';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n/**\n * Directive to be used as a structural directive for the body of an alert component.\n *\n * This directive allows the use of a template reference for the alert body content, with type {@link AlertContext}.\n */\n@Directive({selector: 'ng-template[auAlertBody]', standalone: true})\nexport class AlertBodyDirective {\n\tpublic templateRef = inject(TemplateRef<AlertContext>);\n\tstatic ngTemplateContextGuard(_dir: AlertBodyDirective, context: unknown): context is AlertContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to define the structure of an alert component.\n *\n * This directive uses a `TemplateRef` to inject the template reference of the {@link AlertContext}.\n */\n@Directive({selector: 'ng-template[auAlertStructure]', standalone: true})\nexport class AlertStructureDirective {\n\tpublic templateRef = inject(TemplateRef<AlertContext>);\n\tstatic ngTemplateContextGuard(_dir: AlertStructureDirective, context: unknown): context is AlertContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, AlertStructureDirective],\n\ttemplate: ` <ng-template auAlertStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t<div class=\"alert-body\">\n\t\t\t<ng-template [auSlot]=\"state.children()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t</div>\n\t\t@if (state.dismissible()) {\n\t\t\t<button type=\"button\" class=\"btn-close\" (click)=\"api.close()\" [attr.aria-label]=\"state.ariaCloseButtonLabel()\"></button>\n\t\t}\n\t</ng-template>`,\n})\nclass AlertDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<AlertContext>;\n}\n\n/**\n * Represents the default slot structure for the alert component.\n */\nexport const alertDefaultSlotStructure: SlotContent<AlertContext> = new ComponentTemplate(AlertDefaultSlotsComponent, 'structure');\n\n/**\n * AlertComponent is a UI component that extends BaseWidgetDirective to provide\n * an alert box with various customizable properties and behaviors.\n *\n * @remarks\n * This component is designed to be used with Bootstrap styles and supports\n * various Bootstrap contextual classes for different alert types.\n */\n@Component({\n\tselector: '[auAlert]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, UseDirective],\n\ttemplate: ` <ng-template #content>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\n\t\t@if (!state.hidden()) {\n\t\t\t<div\n\t\t\t\t[auUse]=\"directives.transitionDirective\"\n\t\t\t\tclass=\"au-alert alert alert-{{ state.type() }} {{ state.className() }} {{ state.dismissible() ? 'alert-dismissible' : '' }}\"\n\t\t\t\trole=\"alert\"\n\t\t\t>\n\t\t\t\t<ng-template [auSlot]=\"state.structure()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t</div>\n\t\t}`,\n})\nexport class AlertComponent extends BaseWidgetDirective<AlertWidget> {\n\t/**\n\t * Type of the alert, following bootstrap types.\n\t *\n\t * @defaultValue `'primary'`\n\t */\n\t@Input('auType')\n\ttype: BSContextualClass | undefined;\n\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDismissible', transform: auBooleanAttribute})\n\tdismissible: boolean | undefined;\n\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auTransition')\n\ttransition: TransitionFn | undefined;\n\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute})\n\tvisible: boolean | undefined;\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimatedOnInit', transform: auBooleanAttribute})\n\tanimatedOnInit: boolean | undefined;\n\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute})\n\tanimated: boolean | undefined;\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Template for the alert content\n\t */\n\t@Input('auChildren') children: SlotContent<AlertContext>;\n\t@ContentChild(AlertBodyDirective, {static: false})\n\tslotDefaultFromContent: AlertBodyDirective | undefined;\n\n\t/**\n\t * Global template for the alert component\n\t */\n\t@Input('auStructure') structure: SlotContent<AlertContext>;\n\t@ContentChild(AlertStructureDirective, {static: false}) slotStructureFromContent: AlertStructureDirective | undefined;\n\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t@ViewChild('content', {static: true})\n\tslotChildren?: TemplateRef<void>;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createAlert,\n\t\t\t\twidgetName: 'alert',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: alertDefaultSlotStructure,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\t\t\tonShown: () => this.shown.emit(),\n\t\t\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t\tslotChildren: () => this.slotChildren,\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getAccordionDefaultConfig, createAccordionItem, createAccordion, factoryCreateAccordion} from '@agnos-ui/core-bootstrap/components/accordion';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, ConfigValidator, PropsConfig, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default accordion config\n * @returns the default accordion config\n */\nconst export_getAccordionDefaultConfig: () => AccordionProps = getAccordionDefaultConfig as any;\nexport {export_getAccordionDefaultConfig as getAccordionDefaultConfig};\n\n\n\n/**\n * Represents the context for an accordion item within the accordion component.\n */\nexport interface AccordionItemContext extends WidgetSlotContext<AccordionItemWidget> {}\n\n/**\n * Represents the state of an Accordion component.\n */\nexport interface AccordionState {\n\t\n\t/**\n\t * Array containing all the accordion-items contained in the accordion.\n\t */\n\titemWidgets: AccordionItemWidget[];\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\titemStructure: SlotContent<AccordionItemContext>;\n}\n\n/**\n * Represents the state of an AccordionItem component.\n */\nexport interface AccordionProps {\n\t\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * collapseVerticalTransition\n\t * ```\n\t */\n\titemTransition: TransitionFn;\n\t\n\t/**\n\t * If `true`, only one accordion-item at the time can stay open.\n\t *\n\t * @defaultValue `false`\n\t */\n\tcloseOthers: boolean;\n\t\n\t/**\n\t * An event fired when an item is shown.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonItemShown: (itemId: string) => void;\n\t\n\t/**\n\t * An event fired when an item is hidden.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonItemHidden: (itemId: string) => void;\n\t\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t *\n\t * @defaultValue `true`\n\t */\n\titemDestroyOnHide: boolean;\n\t\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\titemAnimated: boolean;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemHeaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item toggle button DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemButtonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemBodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemBodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t *\n\t * @defaultValue `''`\n\t */\n\titemHeadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\titemStructure: SlotContent<AccordionItemContext>;\n}\n\n\n\n/**\n * Represents an Accordion widget type.\n */\nexport type AccordionWidget = Widget<AccordionProps, AccordionState, AccordionApi, AccordionDirectives>;\n\n/**\n * Represents the state of an accordion item, extending the core item state and additional properties specific to the accordion item.\n */\nexport interface AccordionItemState {\n\t\n\t/**\n\t * If `true` the content of the accordion-item collapse should be in DOM. Its value depends on the\n\t * value of the `visible` and `destroyOnHide`.\n\t */\n\tshouldBeInDOM: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\tdisabled: boolean;\n\t\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\tid: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\theaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\tbuttonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\tbodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\tbodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\theadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tstructure: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tchildren: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\theader: SlotContent<AccordionItemContext>;\n}\n\n/**\n * Represents the properties for an Accordion item component.\n */\nexport interface AccordionItemProps {\n\t\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t */\n\tdestroyOnHide: boolean;\n\t\n\t/**\n\t * An event fired when an item is shown.\n\t */\n\tonShown: () => void;\n\t\n\t/**\n\t * An event fired when an item is hidden.\n\t */\n\tonHidden: () => void;\n\t\n\t/**\n\t * An event fired when the `visible` value changes.\n\t *\n\t * Event payload is the new value of visible.\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\tvisible: boolean;\n\t\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\tdisabled: boolean;\n\t\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\tid: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\theaderClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\tbuttonClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\tbodyContainerClassName: string;\n\t\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\tbodyClassName: string;\n\t\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\theadingTag: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tstructure: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\tchildren: SlotContent<AccordionItemContext>;\n\t\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\theader: SlotContent<AccordionItemContext>;\n}\n\n\n\n/**\n * Represents a widget for an accordion item.\n */\nexport type AccordionItemWidget = Widget<AccordionItemProps, AccordionItemState, AccordionItemApi, AccordionItemDirectives>;\n\n\n\n/**\n * Create an AccordionItemWidget with given config props\n * @param config - an optional AccordionItem config\n * @returns an AccordionItemWidget\n */\nconst export_createAccordionItem: WidgetFactory<AccordionItemWidget> = createAccordionItem as any;\nexport {export_createAccordionItem as createAccordionItem};\n\n\n\n/**\n * Create an AccordionWidget with given config props\n * @param config - an optional accordion config\n * @returns an AccordionWidget\n */\nconst export_createAccordion: WidgetFactory<AccordionWidget> = createAccordion as any;\nexport {export_createAccordion as createAccordion};\n\n\n\n/**\n * Create an accordion WidgetFactory based on a item factory and the list of item props that should inherit from the parent accordion\n *\n * @param itemFactory - the item factory\n * @param accordionItemProps - the list of item props\n * @param accordionConfig - the default accordion config\n * @param accordionValidator - the validator of props\n * @returns the accordion widget factory\n */\nconst export_factoryCreateAccordion: (itemFactory?: WidgetFactory<AccordionItemWidget>, accordionItemProps?: string[], accordionConfig?: AccordionProps, accordionValidator?: ConfigValidator<AccordionProps>) => WidgetFactory<AccordionWidget> = factoryCreateAccordion as any;\nexport {export_factoryCreateAccordion as factoryCreateAccordion};\n\n/**\n * Interface representing the API for an accordion component.\n */\nexport interface AccordionApi {\n\t\n\t/**\n\t * Given the itemId, will expand the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\texpand(itemId: string): void;\n\t\n\t/**\n\t * Given the itemId, will collapse the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\tcollapse(itemId: string): void;\n\t\n\t/**\n\t * Given the itemId, will toggle the corresponding accordion-item.\n\t *\n\t * If the itemId is not valid, nothing will happen.\n\t */\n\ttoggle(itemId: string): void;\n\t\n\t/**\n\t * It will expand all the items in the accordion.\n\t *\n\t * If `closeOthers` is `true` it will expand only the last accordion-item.\n\t */\n\texpandAll(): void;\n\t\n\t/**\n\t * It will collapse all the accordion-items in the accordion.\n\t */\n\tcollapseAll(): void;\n\t\n\t/**\n\t * Creates a new accordionItem.\n\t */\n\tregisterItem(itemConfig?: PropsConfig<AccordionItemProps>): AccordionItemWidget;\n}\n\n/**\n * Interface representing the directives used in the Accordion component.\n */\nexport interface AccordionDirectives {\n\t\n\t/**\n\t * Directive to put on the accordion DOM element\n\t */\n\taccordionDirective: Directive;\n}\n\n/**\n * Interface representing the API for an accordion item.\n */\nexport interface AccordionItemApi {\n\t\n\t/**\n\t * It will collapse the accordion-item.\n\t */\n\tcollapse(): void;\n\t\n\n\t/**\n\t * It will expand the accordion-item.\n\t */\n\texpand(): void;\n\t\n\t/**\n\t * It will toggle the accordion-item.\n\t */\n\ttoggle(): void;\n\t\n\t/**\n\t * Method to be called after the initialization to allow animations.\n\t */\n\tinitDone(): void;\n}\n\n/**\n * Interface representing the directives used in an accordion item.\n */\nexport interface AccordionItemDirectives {\n\t\n\t/**\n\t * Directive to use in special cases, if the accordion header does not use a button element to control the collapsing.\n\t */\n\ttoggleDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the button element that will control the collapsing of the accordion-item.\n\t */\n\tbuttonDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the accordion-item header that will contain the button element.\n\t */\n\theaderDirective: Directive;\n\t\n\n\t/**\n\t * Directive to put on the accordion-item body.\n\t */\n\tbodyDirective: Directive;\n\t\n\t/**\n\t * Directive to apply the itemTransition\n\t */\n\ttransitionDirective: Directive;\n\t\n\t/**\n\t * Directive to apply aria attributes to the expanded body panel\n\t */\n\tbodyContainerAttrsDirective: Directive;\n\t\n\t/**\n\t * Directive to be put on the accordion-item body container. It will handle the animation.\n\t */\n\tbodyContainerDirective: Directive;\n\t\n\t/**\n\t * Directive to be put on the accordion-item. It will handle adding the accordion-item to the accordion.\n\t */\n\titemDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {NgTemplateOutlet} from '@angular/common';\nimport type {AfterViewInit} from '@angular/core';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\nimport type {AccordionItemContext, AccordionItemWidget, AccordionWidget} from './accordion.gen';\nimport {createAccordion} from './accordion.gen';\n\n/**\n * Directive to represent the body of an accordion item.\n *\n * This directive provides a template reference for the {@link AccordionItemContext}.\n */\n@Directive({selector: 'ng-template[auAccordionItemBody]', standalone: true})\nexport class AccordionBodyDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(_dir: AccordionBodyDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to be used as an accordion header.\n *\n * This directive provides a template reference for the {@link AccordionItemContext}.\n */\n@Directive({selector: 'ng-template[auAccordionItemHeader]', standalone: true})\nexport class AccordionHeaderDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(_dir: AccordionHeaderDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive that represents the structure of an accordion item.\n *\n * This directive provides a template reference for the {@link AccordionItemContext}.\n * It also includes a static method to guard the template context type.\n */\n@Directive({selector: 'ng-template[auAccordionItemStructure]', standalone: true})\nexport class AccordionItemStructureDirective {\n\tpublic templateRef = inject(TemplateRef<AccordionItemContext>);\n\tstatic ngTemplateContextGuard(_dir: AccordionItemStructureDirective, context: unknown): context is AccordionItemContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseDirective, SlotDirective, NgTemplateOutlet, AccordionItemStructureDirective],\n\ttemplate: `\n\t\t<ng-template auAccordionItemStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t@switch (state.headingTag()) {\n\t\t\t\t@case ('h1') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h1\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h2') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h2\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h3') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h3\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h4') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h4\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h5') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h5\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@case ('h6') {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h6\"></ng-container>\n\t\t\t\t}\n\t\t\t\t@default {\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"h2\"></ng-container>\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<ng-template #h1>\n\t\t\t\t<h1 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h1>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h2>\n\t\t\t\t<h2 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h2>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h3>\n\t\t\t\t<h3 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h3>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h4>\n\t\t\t\t<h4 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h4>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #h5>\n\t\t\t\t<h5 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h5>\n\t\t\t</ng-template>\n\t\t\t<ng-template #h6>\n\t\t\t\t<h6 class=\"accordion-header\" [auUse]=\"directives.headerDirective\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"button\"></ng-template>\n\t\t\t\t</h6>\n\t\t\t</ng-template>\n\n\t\t\t<ng-template #button>\n\t\t\t\t<button class=\"accordion-button \" [auUse]=\"directives.buttonDirective\">\n\t\t\t\t\t<ng-template [auSlotProps]=\"{state, directives, api}\" [auSlot]=\"state.header()\"></ng-template>\n\t\t\t\t</button>\n\t\t\t</ng-template>\n\t\t\t@if (state.shouldBeInDOM()) {\n\t\t\t\t<div [auUse]=\"directives.bodyContainerDirective\" class=\"accordion-collapse\">\n\t\t\t\t\t<div class=\"accordion-body\" [auUse]=\"directives.bodyDirective\">\n\t\t\t\t\t\t<ng-template [auSlotProps]=\"{state, directives, api}\" [auSlot]=\"state.children()\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nclass AccordionItemDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<AccordionItemContext>;\n}\n/**\n * Represents the default slot structure for an accordion item.\n */\nexport const accordionItemDefaultSlotStructure: SlotContent<AccordionItemContext> = new ComponentTemplate(\n\tAccordionItemDefaultSlotsComponent,\n\t'structure',\n);\n\n/**\n * AccordionItemComponent is a component that represents an item within an accordion.\n */\n@Component({\n\tselector: '[auAccordionItem]',\n\texportAs: 'auAccordionItem',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'accordion-item',\n\t},\n\timports: [SlotDirective, UseDirective],\n\ttemplate: `\n\t\t<ng-template #content><ng-content></ng-content></ng-template>\n\t\t<ng-template [auSlotProps]=\"{state, api, directives}\" [auSlot]=\"state.structure()\"></ng-template>\n\t`,\n})\nexport class AccordionItemComponent extends BaseWidgetDirective<AccordionItemWidget> implements AfterViewInit {\n\t/**\n\t * Content present in the accordion button inside the accordion header.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auHeader') header: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionHeaderDirective, {static: false})\n\tslotHeaderFromContent: AccordionHeaderDirective | undefined;\n\t/**\n\t * Content present in the accordion body.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auChildren') children: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionBodyDirective, {static: false})\n\tslotBodyFromContent: AccordionBodyDirective | undefined;\n\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auStructure') structure: SlotContent<AccordionItemContext>;\n\t@ContentChild(AccordionItemStructureDirective, {static: false})\n\tslotStructureFromContent: AccordionItemStructureDirective | undefined;\n\n\t/**\n\t * The id of the accordion-item. It can be used for controlling the accordion-item via the accordion api.\n\t */\n\t@Input('auId') id: string | undefined;\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t */\n\t@Input('auTransition') transition: TransitionFn | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t */\n\t@Input({alias: 'auDestroyOnHide', transform: auBooleanAttribute}) destroyOnHide: boolean | undefined;\n\t/**\n\t * If `true`, the accordion-item will be disabled.\n\t * It will not react to user's clicks, but still will be possible to toggle programmatically.\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute}) disabled: boolean | undefined;\n\n\t/**\n\t * If `true`, the accordion-item will be visible (expanded). Otherwise, it will be hidden (collapsed).\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute}) visible: boolean | undefined;\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t */\n\t@Input('auHeaderClassName') headerClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item collapse DOM element.\n\t */\n\t@Input('auButtonClassName') buttonClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t */\n\t@Input('auBodyContainerClassName') bodyContainerClassName: string | undefined;\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t */\n\t@Input('auBodyClassName') bodyClassName: string | undefined;\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t */\n\t@Input('auHeadingTag') headingTag: string | undefined;\n\t/**\n\t * An event fired when an item is shown.\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\t/**\n\t * An event fired when an item is hidden.\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\t/**\n\t * An event fired when the `visible` value changes.\n\t *\n\t * Event payload is the new value of visible.\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t@ViewChild('content', {static: true})\n\tslotChildren?: TemplateRef<void>;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory<AccordionItemWidget>({\n\t\t\t\tfactory: (arg) => inject(AccordionDirective).api.registerItem(arg),\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: accordionItemDefaultSlotStructure,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonVisibleChange: (visible) => this.visibleChange.emit(visible),\n\t\t\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\t\t\tonShown: () => this.shown.emit(),\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.itemDirective);\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t\t\t\tchildren: this.slotBodyFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t\tslotChildren: () => this.slotChildren,\n\t\t\t}),\n\t\t);\n\t}\n\n\tngAfterViewInit() {\n\t\tqueueMicrotask(() => this.api.initDone());\n\t}\n}\n\n/**\n * Directive for creating an accordion component.\n *\n * This directive extends the `BaseWidgetDirective` and provides various inputs and outputs\n * to customize the behavior and appearance of the accordion and its items.\n *\n */\n@Directive({\n\tselector: '[auAccordion]',\n\texportAs: 'auAccordion',\n\tstandalone: true,\n\thost: {\n\t\tclass: 'accordion',\n\t},\n})\nexport class AccordionDirective extends BaseWidgetDirective<AccordionWidget> {\n\t/**\n\t * If `true`, only one accordion-item at the time can stay open.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auCloseOthers', transform: auBooleanAttribute}) closeOthers: boolean | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * An event fired when an item is shown.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auItemShown') itemShown: EventEmitter<string> = new EventEmitter<string>();\n\n\t/**\n\t * An event fired when an item is hidden.\n\t *\n\t * Event payload is the id of the item.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auItemHidden') itemHidden: EventEmitter<string> = new EventEmitter<string>();\n\n\t/**\n\t * If `true`, the accordion-item body container will be removed from the DOM when the accordion-item is collapsed. It will be just hidden otherwise.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auItemDestroyOnHide', transform: auBooleanAttribute}) itemDestroyOnHide: boolean | undefined;\n\n\t/**\n\t * If `true`, accordion-item will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auItemAnimated', transform: auBooleanAttribute}) itemAnimated: boolean | undefined;\n\n\t/**\n\t * The transition to use for the accordion-item body-container when the accordion-item is toggled.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * collapseVerticalTransition\n\t * ```\n\t */\n\t@Input('auItemTransition') itemTransition: TransitionFn | undefined;\n\n\t/**\n\t * Structure of the accordion-item. The default item structure is: accordion-item\n\t * contains accordion header and accordion-item body container; the accordion header contains the accordion button\n\t * (that contains `header`), while the accordion-item body container contains the accordion body (that contains `children`).\n\t * The itemTransition is applied on this element.\n\t *\n\t * It is a prop of the accordion-item.\n\t */\n\t@Input('auItemStructure') itemStructure: SlotContent<AccordionItemContext>;\n\n\t/**\n\t * CSS classes to add on the accordion-item DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemClassName') itemClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item header DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemHeaderClassName') itemHeaderClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item toggle button DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemButtonClassName') itemButtonClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item body container DOM element.\n\t * The accordion-item body container is the DOM element on what the itemTransition is applied.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemBodyContainerClassName') itemBodyContainerClassName: string | undefined;\n\n\t/**\n\t * CSS classes to add on the accordion-item body DOM element.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemBodyClassName') itemBodyClassName: string | undefined;\n\n\t/**\n\t * The html tag to use for the accordion-item-header.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auItemHeadingTag') itemHeadingTag: string | undefined;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createAccordion,\n\t\t\t\twidgetName: 'accordion',\n\t\t\t\tevents: {\n\t\t\t\t\tonItemShown: (id) => this.itemShown.emit(id),\n\t\t\t\t\tonItemHidden: (id) => this.itemHidden.emit(id),\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.accordionDirective);\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getSliderDefaultConfig, createSlider} from '@agnos-ui/core-bootstrap/components/slider';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Slider config\n * @returns the default Slider config\n */\nconst export_getSliderDefaultConfig: () => SliderProps = getSliderDefaultConfig as any;\nexport {export_getSliderDefaultConfig as getSliderDefaultConfig};\n\n\n\n/**\n * Represents the context for a Slider component.\n * This type is an alias for `WidgetSlotContext<SliderWidget>`.\n */\nexport interface SliderContext extends WidgetSlotContext<SliderWidget> {}\n\n\n/**\n * Represents the context for a slider slot label, extending the base `SliderContext`\n * with an additional `value` property.\n */\nexport interface SliderSlotLabelContext extends SliderContext {\n\t/**\n\t * the value of the handle the label is attached to\n\t */\n\tvalue: number;\n}\n\n\n/**\n * Represents the context for a slider slot handle.\n * This type extends the `SliderContext` and includes an additional `item` property of type `SliderHandle`.\n */\nexport interface SliderSlotHandleContext extends SliderContext {\n\t/**\n\t * the handle context\n\t */\n\titem: SliderHandle;\n}\n\n/**\n * Represents the state of a slider component.\n */\nexport interface SliderState {\n\t\n\t/**\n\t * Sorted slider values\n\t */\n\tsortedValues: number[];\n\t\n\n\t/**\n\t * Combined label left offset in %\n\t */\n\tcombinedLabelPositionLeft: number;\n\t\n\n\t/**\n\t * Combined label top offset in %\n\t */\n\tcombinedLabelPositionTop: number;\n\t\n\n\t/**\n\t * If true, the minimum label will be visible\n\t */\n\tminValueLabelDisplay: boolean;\n\t\n\n\t/**\n\t * If true, the maximum label will be visible\n\t */\n\tmaxValueLabelDisplay: boolean;\n\t\n\n\t/**\n\t * If true, the label when the handles are close is visible\n\t */\n\tcombinedLabelDisplay: boolean;\n\t\n\n\t/**\n\t * Array of the sorted handles to display\n\t */\n\tsortedHandles: SliderHandle[];\n\t\n\n\t/**\n\t * Array of objects representing progress display options\n\t */\n\tprogressDisplayOptions: ProgressDisplayOptions[];\n\t\n\n\t/**\n\t * Array of objects representing handle display options\n\t */\n\thandleDisplayOptions: HandleDisplayOptions[];\n\t\n\n\t/**\n\t * Check if the slider is interactive, meaning it is not disabled or readonly\n\t */\n\tinteractive: boolean;\n\t\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\tstepSize: number;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\tvertical: boolean;\n\t\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\tvalues: number[];\n\t\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowValueLabels: boolean;\n\t\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowMinMaxLabels: boolean;\n\t\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\trtl: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\tstructure: SlotContent<SliderContext>;\n\t\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\tlabel: SlotContent<SliderSlotLabelContext>;\n\t\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\thandle: SlotContent<SliderSlotHandleContext>;\n}\n\n/**\n * Represents the properties for the Slider component.\n */\nexport interface SliderProps {\n\t\n\t/**\n\t * Return the value for the 'aria-label' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\tariaLabelHandle: (value: number, sortedIndex: number, index: number) => string;\n\t\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\tariaValueText: (value: number, sortedIndex: number, index: number) => string;\n\t\n\n\t/**\n\t * An event emitted when slider values are changed\n\t *\n\t * Event payload equals to the updated slider values\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonValuesChange: (values: number[]) => void;\n\t\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\tstepSize: number;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\treadonly: boolean;\n\t\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\tdisabled: boolean;\n\t\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\tvertical: boolean;\n\t\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\tvalues: number[];\n\t\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowValueLabels: boolean;\n\t\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\tshowMinMaxLabels: boolean;\n\t\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\trtl: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\tstructure: SlotContent<SliderContext>;\n\t\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\tlabel: SlotContent<SliderSlotLabelContext>;\n\t\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\thandle: SlotContent<SliderSlotHandleContext>;\n}\n\n\n\n/**\n * Represents a slider widget component.\n */\nexport type SliderWidget = Widget<SliderProps, SliderState, object, SliderDirectives>;\n\n\n\n/**\n * Create a Slider with given config props\n * @param config - an optional slider config\n * @returns a SliderWidget\n */\n\nconst export_createSlider: WidgetFactory<SliderWidget> = createSlider as any;\nexport {export_createSlider as createSlider};\n\n/**\n * Options for displaying progress in a slider component.\n */\nexport interface ProgressDisplayOptions {\n\t\n\t/**\n\t * Right offset of the progress in %\n\t */\n\tleft: number | null;\n\t\n\t/**\n\t * Left offset of the progress in %\n\t */\n\tright: number | null;\n\t\n\t/**\n\t * Top offset of the progress in %\n\t */\n\ttop: number | null;\n\t\n\t/**\n\t * Bottom offset of the progress in %\n\t */\n\tbottom: number | null;\n\t\n\t/**\n\t * Width of the progress in %\n\t */\n\twidth: number;\n\t\n\t/**\n\t * Height of hte progress in %\n\t */\n\theight: number;\n}\n\n/**\n * Options for displaying a handle in a slider component.\n */\nexport interface HandleDisplayOptions {\n\t\n\t/**\n\t * Left offset of the handle in %\n\t */\n\tleft: number | null;\n\t\n\t/**\n\t * Top offset of the handle in %\n\t */\n\ttop: number | null;\n}\n\n/**\n * Represents a handle in a slider component.\n */\nexport interface SliderHandle {\n\t\n\t/**\n\t * Value of the handle\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * Handle id\n\t */\n\tid: number;\n\t\n\t/**\n\t * ariaLabel of the handle\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * ariaValueText of the handle\n\t */\n\tariaValueText: string;\n}\n\n/**\n * Interface representing various directives used in the slider component.\n */\nexport interface SliderDirectives {\n\t\n\t/**\n\t * Directive to get the slider component elementRef\n\t */\n\tsliderDirective: Directive;\n\t\n\n\t/**\n\t * Directive used to style the progress display for each handle\n\t */\n\tprogressDisplayDirective: Directive<{option: ProgressDisplayOptions}>;\n\t\n\n\t/**\n\t * Directive to apply to the slider clickable area, to directly move the handle to a given specific position\n\t */\n\tclickableAreaDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply handle events handlers\n\t */\n\thandleEventsDirective: Directive<{item: {id: number}}>;\n\t\n\t/**\n\t * Directive to apply to the slider handle if any\n\t */\n\thandleDirective: Directive<{item: SliderHandle}>;\n\t\n\n\t/**\n\t * Directive to get the minLabel elementRef\n\t */\n\tminLabelDirective: Directive;\n\t\n\n\t/**\n\t * Directive to get the maxLabel elementRef\n\t */\n\tmaxLabelDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply to the handle when combined label display is active\n\t */\n\tcombinedHandleLabelDisplayDirective: Directive;\n\t\n\n\t/**\n\t * Directive to apply to the handle when combined label display is not active\n\t */\n\thandleLabelDisplayDirective: Directive<{index: number}>;\n}\n\n","import type {SlotContent} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tSlotDirective,\n\tUseDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n\tforwardRef,\n\tinject,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {callWidgetFactory} from '../../config';\nimport type {SliderContext, SliderSlotHandleContext, SliderSlotLabelContext, SliderWidget} from './slider.gen';\nimport {createSlider} from './slider.gen';\n\n/**\n * Directive to provide a template reference for slider labels.\n *\n * This directive uses a template reference to render the {@link SliderSlotLabelContext}.\n */\n@Directive({selector: 'ng-template[auSliderLabel]', standalone: true})\nexport class SliderLabelDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotLabelContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderLabelDirective, context: unknown): context is SliderSlotLabelContext {\n\t\treturn true;\n\t}\n}\n/**\n * Directive representing a handle for a slider component.\n *\n * This directive uses a template reference to render the {@link SliderSlotLabelContext}.\n */\n@Directive({selector: 'ng-template[auSliderHandle]', standalone: true})\nexport class SliderHandleDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotLabelContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderHandleDirective, context: unknown): context is SliderSlotHandleContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [UseDirective, SliderHandleDirective],\n\ttemplate: `\n\t\t<ng-template auSliderHandle #handle let-state=\"state\" let-directives=\"directives\" let-item=\"item\">\n\t\t\t<button [auUse]=\"[directives.handleDirective, {item}]\"> </button>\n\t\t</ng-template>\n\t`,\n})\nclass SliderDefaultHandleSlotComponent {\n\t@ViewChild('handle', {static: true}) readonly handle!: TemplateRef<SliderSlotHandleContext>;\n}\n\n/**\n * A constant representing the default slot handle for the slider component.\n */\nexport const sliderDefaultSlotHandle: SlotContent<SliderSlotHandleContext> = new ComponentTemplate(SliderDefaultHandleSlotComponent, 'handle');\n\n/**\n * Directive that provides structure for the slider component.\n *\n * This directive uses a `TemplateRef` to handle the context of the slider slot.\n */\n@Directive({selector: 'ng-template[auSliderStructure]', standalone: true})\nexport class SliderStructureDirective {\n\tpublic templateRef = inject(TemplateRef<SliderSlotHandleContext>);\n\tstatic ngTemplateContextGuard(_dir: SliderStructureDirective, context: unknown): context is SliderSlotHandleContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, SliderStructureDirective, UseDirective],\n\ttemplate: `\n\t\t<ng-template auSliderStructure #structure let-state=\"state\" let-directives=\"directives\" let-api=\"api\">\n\t\t\t@for (option of state.progressDisplayOptions(); track option) {\n\t\t\t\t<div [auUse]=\"[directives.progressDisplayDirective, {option}]\"></div>\n\t\t\t}\n\t\t\t<div [auUse]=\"directives.clickableAreaDirective\"></div>\n\t\t\t@if (state.showMinMaxLabels()) {\n\t\t\t\t<div [auUse]=\"directives.minLabelDirective\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.min()}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div [auUse]=\"directives.maxLabelDirective\">\n\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.max()}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@if (state.showValueLabels() && state.combinedLabelDisplay()) {\n\t\t\t\t<div [auUse]=\"directives.combinedHandleLabelDisplayDirective\">\n\t\t\t\t\t@if (state.rtl()) {\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.sortedValues()[1]}\"></ng-template> -\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.sortedValues()[0]}\"></ng-template>\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.sortedValues()[0]}\"></ng-template> -\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.sortedValues()[1]}\"></ng-template>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t@for (item of state.sortedHandles(); track item.id; let i = $index) {\n\t\t\t\t<ng-template [auSlot]=\"state.handle()\" [auSlotProps]=\"{state, api, directives, item}\"></ng-template>\n\t\t\t\t@if (state.showValueLabels() && !state.combinedLabelDisplay()) {\n\t\t\t\t\t<div [auUse]=\"[directives.handleLabelDisplayDirective, {index: i}]\">\n\t\t\t\t\t\t<ng-template [auSlot]=\"state.label()\" [auSlotProps]=\"{state, api, directives, value: state.values()[i]}\"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t</ng-template>\n\t`,\n})\nclass SliderDefaultStructureSlotComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<SliderContext>;\n}\n\n/**\n * Represents the default slot structure for the slider component.\n */\nexport const sliderDefaultSlotStructure: SlotContent<SliderContext> = new ComponentTemplate(SliderDefaultStructureSlotComponent, 'structure');\n\n/**\n * SliderComponent is an Angular component that extends the BaseWidgetDirective\n * to provide a customizable slider widget. This component allows for various\n * configurations and customizations through its inputs and outputs.\n */\n@Component({\n\tselector: '[auSlider]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SliderComponent), multi: true}],\n\timports: [SlotDirective],\n\thost: {\n\t\t'(blur)': 'handleBlur()',\n\t},\n\ttemplate: ` <ng-template [auSlot]=\"state.structure()\" [auSlotProps]=\"{state, api, directives}\"></ng-template> `,\n})\nexport class SliderComponent extends BaseWidgetDirective<SliderWidget> {\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Minimum value that can be assigned to the slider\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auMin', transform: auNumberAttribute})\n\tmin: number | undefined;\n\n\t/**\n\t * Maximum value that can be assigned to the slider\n\t *\n\t * @defaultValue `100`\n\t */\n\t@Input({alias: 'auMax', transform: auNumberAttribute})\n\tmax: number | undefined;\n\n\t/**\n\t * Unit value between slider steps\n\t *\n\t * @defaultValue `1`\n\t */\n\t@Input({alias: 'auStepSize', transform: auNumberAttribute})\n\tstepSize: number | undefined;\n\n\t/**\n\t * Current slider values\n\t *\n\t * @defaultValue `[0]`\n\t */\n\t@Input('auValues')\n\tvalues: number[] | undefined;\n\n\t/**\n\t * It `true` slider display is inversed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auRtl', transform: auBooleanAttribute})\n\trtl: boolean | undefined;\n\n\t/**\n\t * If `true` the value labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auShowValueLabels', transform: auBooleanAttribute}) showValueLabels: boolean | undefined;\n\n\t/**\n\t * If `true` the min and max labels are displayed on the slider\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auShowMinMaxLabels', transform: auBooleanAttribute}) showMinMaxLabels: boolean | undefined;\n\n\t/**\n\t * Return the value for the 'aria-label' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\t@Input('auAriaLabelHandle') ariaLabelHandle: ((value: number, sortedIndex: number, index: number) => string) | undefined;\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute for the handle\n\t * @param value - value of the handle\n\t * @param sortedIndex - index of the handle in the sorted list\n\t * @param index - index of the handle in the original list\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * (value: number) => '' + value\n\t * ```\n\t */\n\t@Input('auAriaValueText') ariaValueText: ((value: number, sortedIndex: number, index: number) => string) | undefined;\n\n\t/**\n\t * If `true` slider value cannot be changed but the slider is still focusable\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auReadonly', transform: auBooleanAttribute})\n\treadonly: boolean | undefined;\n\n\t/**\n\t * If `true` slider value cannot be changed and the slider cannot be focused\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auDisabled', transform: auBooleanAttribute})\n\tdisabled: boolean | undefined;\n\n\t/**\n\t * If `true` is vertically positioned otherwise it is horizontal\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auVertical', transform: auBooleanAttribute})\n\tvertical: boolean | undefined;\n\n\t/**\n\t * An event emitted when slider values are changed\n\t *\n\t * Event payload equals to the updated slider values\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auValuesChange')\n\tvaluesChange = new EventEmitter<number[]>();\n\n\t/**\n\t * Slot to change the default labels of the slider\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * ({value}: SliderSlotLabelContext) => '' + value\n\t * ```\n\t */\n\t@Input('auLabel') label: SlotContent<SliderSlotLabelContext>;\n\t@ContentChild(SliderLabelDirective, {static: false}) slotLabelFromContent: SliderLabelDirective | undefined;\n\n\t/**\n\t * Slot to change the default display of the slider\n\t */\n\t@Input('auStructure') structure: SlotContent<SliderContext>;\n\t@ContentChild(SliderStructureDirective, {static: false}) slotStructureFromContent: SliderStructureDirective | undefined;\n\n\t/**\n\t * Slot to change the handlers\n\t */\n\t@Input('auHandle') handle: SlotContent<SliderSlotHandleContext>;\n\t@ContentChild(SliderHandleDirective, {static: false}) slotHandleFromContent: SliderHandleDirective | undefined;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createSlider,\n\t\t\t\twidgetName: 'slider',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: sliderDefaultSlotStructure,\n\t\t\t\t\thandle: sliderDefaultSlotHandle,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonValuesChange: (event) => {\n\t\t\t\t\t\tthis.onChange(event);\n\t\t\t\t\t\tthis.onTouched();\n\t\t\t\t\t\tthis.valuesChange.emit(event);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.sliderDirective);\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\thandle: this.slotHandleFromContent?.templateRef,\n\t\t\t\t\tlabel: this.slotLabelFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t}),\n\t\t);\n\t}\n\n\t/**\n\t * Control value accessor methods\n\t */\n\tonChange = (_: any) => {};\n\n\tonTouched = () => {};\n\n\tregisterOnChange(fn: (value: any) => any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\twriteValue(value: any): void {\n\t\tif (Array.isArray(value)) {\n\t\t\tthis['_widget'].patch({\n\t\t\t\tvalues: value,\n\t\t\t});\n\t\t} else {\n\t\t\tthis['_widget'].patch({\n\t\t\t\tvalues: [value],\n\t\t\t});\n\t\t}\n\t}\n\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis['_widget'].patch({\n\t\t\tdisabled: isDisabled,\n\t\t});\n\t}\n\n\thandleBlur() {\n\t\tthis.onTouched();\n\t}\n}\n","import {getProgressbarDefaultConfig, createProgressbar} from '@agnos-ui/core-bootstrap/components/progressbar';\nimport type {WidgetSlotContext, SlotContent, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n\n\n/**\n * Retrieve a shallow copy of the default Progressbar config\n * @returns the default Progressbar config\n */\nconst export_getProgressbarDefaultConfig: () => ProgressbarProps = getProgressbarDefaultConfig as any;\nexport {export_getProgressbarDefaultConfig as getProgressbarDefaultConfig};\n\n\n\n/**\n * Represents the context for a Progressbar widget.\n * This interface is used to define the context object that is passed to the Progressbar widget.\n */\nexport interface ProgressbarContext extends WidgetSlotContext<ProgressbarWidget> {}\n\n/**\n * Represents the state of a Progressbar component.\n */\nexport interface ProgressbarState {\n\t\n\t/**\n\t * Percentage of completion.\n\t */\n\tpercentage: number;\n\t\n\t/**\n\t * `true` if the value is above its minimum value.\n\t */\n\tstarted: boolean;\n\t\n\t/**\n\t * `true` if the value has reached its maximum value.\n\t */\n\tfinished: boolean;\n\t\n\t/**\n\t * The aria value text.\n\t */\n\tariaValueText: string | undefined;\n\t\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\tstructure: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Label of the progress.\n\t */\n\tchildren: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\theight: string;\n\t\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\tstriped: boolean;\n\t\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\ttype: BSContextualClass | undefined;\n}\n\n/**\n * Interface representing the properties for the Progressbar component.\n */\nexport interface ProgressbarProps {\n\t\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param value - current value\n\t * @param minimum - minimum value\n\t * @param maximum - maximum value\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => undefined\n\t * ```\n\t */\n\tariaValueTextFn: (value: number, minimum: number, maximum: number) => string | undefined;\n\t\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tmin: number;\n\t\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\tmax: number;\n\t\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\tvalue: number;\n\t\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\tariaLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\tstructure: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Label of the progress.\n\t */\n\tchildren: SlotContent<ProgressbarContext>;\n\t\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\theight: string;\n\t\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\tstriped: boolean;\n\t\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\ttype: BSContextualClass | undefined;\n}\n\n\n\n/**\n * Represents a Progressbar widget.\n *\n * This type defines the structure of a Progressbar widget, including its properties, state, and directives.\n */\nexport type ProgressbarWidget = Widget<ProgressbarProps, ProgressbarState, object, ProgressbarDirectives>;\n\n\n\n/**\n * Create a Progressbar with given config props\n * @param config - an optional progressbar config\n * @returns a ProgressbarWidget\n */\n\nconst export_createProgressbar: WidgetFactory<ProgressbarWidget> = createProgressbar as any;\nexport {export_createProgressbar as createProgressbar};\n\n/**\n * Interface representing directives for a progress bar component.\n */\nexport interface ProgressbarDirectives {\n\t\n\t/**\n\t * A directive to be applied to the main container that handles aria attributes.\n\t */\n\tariaDirective: Directive;\n}\n\n","import {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tSlotDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n\tuseDirectiveForHost,\n} from '@agnos-ui/angular-headless';\nimport type {SlotContent} from '@agnos-ui/angular-headless';\nimport {NgClass} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef, ViewChild, inject} from '@angular/core';\nimport type {ProgressbarContext, ProgressbarWidget} from './progressbar.gen';\nimport {createProgressbar} from './progressbar.gen';\n\nimport {callWidgetFactory} from '../../config';\nimport type {BSContextualClass} from '@agnos-ui/core-bootstrap/types';\n\n/**\n * Directive that provides a template reference for the progress bar context.\n * This directive provides a template reference for the {@link ProgressbarContext}.\n */\n@Directive({selector: 'ng-template[auProgressbarBody]', standalone: true})\nexport class ProgressbarBodyDirective {\n\tpublic templateRef = inject(TemplateRef<ProgressbarContext>);\n\tstatic ngTemplateContextGuard(_dir: ProgressbarStructureDirective, context: unknown): context is ProgressbarContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to define the structure of a progress bar.\n *\n * This directive provides a template reference for the {@link ProgressbarContext}.\n */\n@Directive({selector: 'ng-template[auProgressbarStructure]', standalone: true})\nexport class ProgressbarStructureDirective {\n\tpublic templateRef = inject(TemplateRef<ProgressbarContext>);\n\tstatic ngTemplateContextGuard(_dir: ProgressbarStructureDirective, context: unknown): context is ProgressbarContext {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass, SlotDirective, ProgressbarStructureDirective],\n\ttemplate: `\n\t\t<ng-template auProgressbarStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t\t<div class=\"progress\" [style.height]=\"state.height()\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"progress-bar\"\n\t\t\t\t\t[class.progress-bar-striped]=\"state.striped()\"\n\t\t\t\t\t[class.progress-bar-animated]=\"state.animated()\"\n\t\t\t\t\t[ngClass]=\"state.type() ? 'text-bg-' + state.type() : undefined\"\n\t\t\t\t\t[style.width.%]=\"state.percentage()\"\n\t\t\t\t>\n\t\t\t\t\t<ng-template [auSlot]=\"state.children()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-template>\n\t`,\n})\nclass ProgressbarDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ProgressbarContext>;\n}\n\n/**\n * Represents the default slot structure for the progress bar component.\n */\nexport const progressbarDefaultSlotStructure: SlotContent<ProgressbarContext> = new ComponentTemplate(ProgressbarDefaultSlotsComponent, 'structure');\n\n/**\n * ProgressbarComponent is a UI component that extends the BaseWidgetDirective\n * to create a customizable progress bar widget. It provides various inputs\n * to configure the appearance and behavior of the progress bar.\n *\n */\n@Component({\n\tselector: '[auProgressbar]',\n\tstandalone: true,\n\timports: [SlotDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\t'[class]': 'state.className()',\n\t},\n\ttemplate: `\n\t\t<ng-template #content><ng-content></ng-content></ng-template>\n\t\t<ng-template [auSlot]=\"state.structure()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t`,\n})\nexport class ProgressbarComponent extends BaseWidgetDirective<ProgressbarWidget> {\n\t/**\n\t * The aria label.\n\t *\n\t * @defaultValue `'Progressbar'`\n\t */\n\t@Input('auAriaLabel') ariaLabel: string | undefined;\n\n\t/**\n\t * The minimum value.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auMin', transform: auNumberAttribute}) min: number | undefined;\n\n\t/**\n\t * The maximum value.\n\t *\n\t * @defaultValue `100`\n\t */\n\t@Input({alias: 'auMax', transform: auNumberAttribute}) max: number | undefined;\n\n\t/**\n\t * The current value.\n\t *\n\t * @defaultValue `0`\n\t */\n\t@Input({alias: 'auValue', transform: auNumberAttribute}) value: number | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * Label of the progress.\n\t */\n\t@Input('auChildren') children: SlotContent<ProgressbarContext>;\n\t@ContentChild(ProgressbarBodyDirective, {static: false})\n\tslotDefaultFromContent: ProgressbarBodyDirective | undefined;\n\n\t/**\n\t * Global template for the Progressbar.\n\t */\n\t@Input('auStructure') structure: SlotContent<ProgressbarContext>;\n\t@ContentChild(ProgressbarStructureDirective, {static: false}) slotStructureFromContent: ProgressbarStructureDirective | undefined;\n\n\t/**\n\t * Height of the progressbar, can be any valid css height value.\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auHeight') height: string | undefined;\n\n\t/**\n\t * If `true`, animates a striped progressbar.\n\t * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\n\t/**\n\t * If `true`, shows a striped progressbar.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auStriped', transform: auBooleanAttribute}) striped: boolean | undefined;\n\n\t/**\n\t * Return the value for the 'aria-valuetext' attribute.\n\t * @param value - current value\n\t * @param minimum - minimum value\n\t * @param maximum - maximum value\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => undefined\n\t * ```\n\t */\n\t@Input('auAriaValueTextFn') ariaValueTextFn: ((value: number, minimum: number, maximum: number) => string | undefined) | undefined;\n\n\t/**\n\t * Type of the progressbar, following bootstrap types.\n\t */\n\t@Input('auType') type: BSContextualClass | undefined;\n\n\t@ViewChild('content', {static: true})\n\tslotChildren?: TemplateRef<void>;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createProgressbar,\n\t\t\t\twidgetName: 'progressbar',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: progressbarDefaultSlotStructure,\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => useDirectiveForHost(widget.directives.ariaDirective),\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t\tslotChildren: () => this.slotChildren,\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getToastDefaultConfig, createToast} from '@agnos-ui/core-bootstrap/components/toast';\nimport type {WidgetSlotContext, SlotContent, TransitionFn, Widget, WidgetFactory, Directive} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default Toast config\n * @returns the default Toast config\n */\nconst export_getToastDefaultConfig: () => ToastProps = getToastDefaultConfig as any;\nexport {export_getToastDefaultConfig as getToastDefaultConfig};\n\n\n\n/**\n * Represents the context for a Toast widget.\n * This interface is an alias for `WidgetSlotContext<ToastWidget>`.\n */\nexport interface ToastContext extends WidgetSlotContext<ToastWidget> {}\n\n/**\n * Represents the state of a Toast component.\n */\nexport interface ToastState {\n\t\n\t/**\n\t * Is `true` when the alert is hidden. Compared to `visible`, this is updated after the transition is executed.\n\t */\n\thidden: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\tautoHide: boolean;\n\t\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\tdelay: number;\n\t\n\t/**\n\t * Global template for the toast component\n\t */\n\tstructure: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Template for the toast content\n\t */\n\tchildren: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Header template for the toast component\n\t */\n\theader: SlotContent<ToastContext>;\n}\n\n/**\n * Interface representing the properties for the Toast component.\n */\nexport interface ToastProps {\n\t\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\ttransition: TransitionFn;\n\t\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimatedOnInit: boolean;\n\t\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\tdismissible: boolean;\n\t\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n\t\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\tariaCloseButtonLabel: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\tautoHide: boolean;\n\t\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\tdelay: number;\n\t\n\t/**\n\t * Global template for the toast component\n\t */\n\tstructure: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Template for the toast content\n\t */\n\tchildren: SlotContent<ToastContext>;\n\t\n\t/**\n\t * Header template for the toast component\n\t */\n\theader: SlotContent<ToastContext>;\n}\n\n\n\n/**\n * Represents a Toast widget component.\n */\nexport type ToastWidget = Widget<ToastProps, ToastState, ToastApi, ToastDirectives>;\n\n\n\n/**\n * Create an ToastWidget with given config props\n * @param config - an optional alert config\n * @returns an ToastWidget\n */\nconst export_createToast: WidgetFactory<ToastWidget> = createToast as any;\nexport {export_createToast as createToast};\n\n/**\n * Represents the API for the toast component.\n */\nexport interface ToastApi {\n\t\n\t/**\n\t * Triggers alert closing programmatically (same as clicking on the close button (×)).\n\t */\n\tclose(): void;\n\t\n\n\t/**\n\t * Triggers the alert to be displayed for the user.\n\t */\n\topen(): void;\n}\n\n/**\n * Interface representing the directives for a toast component.\n */\nexport interface ToastDirectives {\n\t\n\t/**\n\t * the transition directive, piloting what is the visual effect of going from hidden to visible\n\t */\n\ttransitionDirective: Directive;\n\t\n\t/**\n\t * Directive that handles the autohide of the toast component\n\t */\n\tautoHideDirective: Directive;\n\t\n\t/**\n\t * Directive that adds all the necessary attributes to the body\n\t */\n\tbodyDirective: Directive;\n\t\n\t/**\n\t * Directive that adds all the necessary attributes to the close button depending on the presence of the header\n\t */\n\tcloseButtonDirective: Directive;\n}\n\n","import type {SlotContent, TransitionFn} from '@agnos-ui/angular-headless';\nimport {\n\tBaseWidgetDirective,\n\tComponentTemplate,\n\tSlotDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tauBooleanAttribute,\n\tauNumberAttribute,\n} from '@agnos-ui/angular-headless';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tinject,\n} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\n\nimport type {ToastContext, ToastWidget} from './toast.gen';\nimport {createToast} from './toast.gen';\n\n/**\n * Directive to represent the body of a toast notification.\n * This directive uses a template reference to render the {@link ToastContext}.\n */\n@Directive({selector: 'ng-template[auToastBody]', standalone: true})\nexport class ToastBodyDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(_dir: ToastBodyDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive to define the structure of a toast component.\n * This directive uses a template reference to render the {@link ToastContext}.\n */\n@Directive({selector: 'ng-template[auToastStructure]', standalone: true})\nexport class ToastStructureDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(_dir: ToastStructureDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n\n/**\n * Directive representing the header of a toast component.\n * This directive uses a template reference to render the {@link ToastContext}.\n */\n@Directive({selector: 'ng-template[auToastHeader]', standalone: true})\nexport class ToastHeaderDirective {\n\tpublic templateRef = inject(TemplateRef<ToastContext>);\n\tstatic ngTemplateContextGuard(_dir: ToastHeaderDirective, context: unknown): context is ToastContext {\n\t\treturn true;\n\t}\n}\n@Component({\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, ToastStructureDirective, UseDirective],\n\ttemplate: ` <ng-template auToastStructure #structure let-state=\"state\" let-api=\"api\" let-directives=\"directives\">\n\t\t@if (state.header()) {\n\t\t\t<div class=\"toast-header\">\n\t\t\t\t<ng-template [auSlot]=\"state.header()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t\t@if (state.dismissible()) {\n\t\t\t\t\t<button class=\"btn-close me-0 ms-auto\" [auUse]=\"directives.closeButtonDirective\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"toast-body\">\n\t\t\t<ng-template [auSlot]=\"state.children()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t</div>\n\t\t@if (state.dismissible() && !state.header()) {\n\t\t\t<button class=\"btn-close btn-close-white me-2 m-auto\" [auUse]=\"directives.closeButtonDirective\"></button>\n\t\t}\n\t</ng-template>`,\n})\nclass ToastDefaultSlotsComponent {\n\t@ViewChild('structure', {static: true}) structure!: TemplateRef<ToastContext>;\n}\n\n/**\n * Represents the default slot structure for the toast component.\n */\nexport const toastDefaultSlotStructure: SlotContent<ToastContext> = new ComponentTemplate(ToastDefaultSlotsComponent, 'structure');\n\n/**\n * The `ToastComponent` is a UI component that displays a toast notification.\n * It extends the `BaseWidgetDirective` and provides various configurable properties\n * and events to control the behavior and appearance of the toast.\n */\n@Component({\n\tselector: '[auToast]',\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [SlotDirective, UseMultiDirective],\n\ttemplate: ` <ng-template #content>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t\t@if (!state.hidden()) {\n\t\t\t<div\n\t\t\t\tclass=\"toast\"\n\t\t\t\t[class.d-flex]=\"!state.header()\"\n\t\t\t\t[class.toast-dismissible]=\"state.dismissible()\"\n\t\t\t\t[auUseMulti]=\"[directives.autoHideDirective, directives.transitionDirective, directives.bodyDirective]\"\n\t\t\t>\n\t\t\t\t<ng-template [auSlot]=\"state.structure()\" [auSlotProps]=\"{state, api, directives}\"></ng-template>\n\t\t\t</div>\n\t\t}`,\n})\nexport class ToastComponent extends BaseWidgetDirective<ToastWidget> {\n\t/**\n\t * If `true`, alert can be dismissed by the user.\n\t * The close button (×) will be displayed and you can be notified of the event with the (close) output.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auDismissible', transform: auBooleanAttribute})\n\tdismissible: boolean | undefined;\n\n\t/**\n\t * The transition function will be executed when the alert is displayed or hidden.\n\t *\n\t * Depending on the value of `animatedOnInit`, the animation can be optionally skipped during the showing process.\n\t *\n\t * @defaultValue `fadeTransition`\n\t */\n\t@Input('auTransition')\n\ttransition: TransitionFn | undefined;\n\n\t/**\n\t * If `true` the alert is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute})\n\tvisible: boolean | undefined;\n\n\t/**\n\t * If `true`, alert opening will be animated.\n\t *\n\t * Animation is triggered when the `.open()` function is called\n\t * or the visible prop is changed\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimatedOnInit', transform: auBooleanAttribute})\n\tanimatedOnInit: boolean | undefined;\n\n\t/**\n\t * If `true`, alert closing will be animated.\n\t *\n\t * Animation is triggered when clicked on the close button (×),\n\t * via the `.close()` function or the visible prop is changed\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute})\n\tanimated: boolean | undefined;\n\n\t/**\n\t * If `true` automatically hides the toast after the delay.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAutoHide', transform: auBooleanAttribute})\n\tautoHide: boolean | undefined;\n\n\t/**\n\t * Delay in milliseconds before hiding the toast.\n\t *\n\t * @defaultValue `5000`\n\t */\n\t@Input({alias: 'auDelay', transform: auNumberAttribute})\n\tdelay: number | undefined;\n\n\t/**\n\t * Accessibility close button label\n\t *\n\t * @defaultValue `'Close'`\n\t */\n\t@Input('auAriaCloseButtonLabel') ariaCloseButtonLabel: string | undefined;\n\n\t/**\n\t * Template for the toast content\n\t */\n\t@Input('auChildren') children: SlotContent<ToastContext>;\n\t@ContentChild(ToastBodyDirective, {static: false})\n\tslotDefaultFromContent: ToastBodyDirective | undefined;\n\n\t/**\n\t * Global template for the toast component\n\t */\n\t@Input('auStructure') structure: SlotContent<ToastContext>;\n\t@ContentChild(ToastStructureDirective, {static: false}) slotStructureFromContent: ToastStructureDirective | undefined;\n\n\t/**\n\t * Header template for the toast component\n\t */\n\t@Input('auHeader') header: SlotContent<ToastContext>;\n\t@ContentChild(ToastHeaderDirective, {static: false}) slotHeaderFromContent: ToastHeaderDirective | undefined;\n\n\t/**\n\t * Callback called when the alert visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Callback called when the alert is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Callback called when the alert is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t@ViewChild('content', {static: true})\n\tslotChildren?: TemplateRef<void>;\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createToast,\n\t\t\t\twidgetName: 'toast',\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tstructure: toastDefaultSlotStructure,\n\t\t\t\t},\n\t\t\t\tevents: {\n\t\t\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\t\t\tonShown: () => this.shown.emit(),\n\t\t\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\t\t},\n\t\t\t\tslotTemplates: () => ({\n\t\t\t\t\tchildren: this.slotDefaultFromContent?.templateRef,\n\t\t\t\t\tstructure: this.slotStructureFromContent?.templateRef,\n\t\t\t\t\theader: this.slotHeaderFromContent?.templateRef,\n\t\t\t\t}),\n\t\t\t\tslotChildren: () => this.slotChildren,\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {auBooleanAttribute, BaseWidgetDirective, useDirectiveForHost} from '@agnos-ui/angular-headless';\nimport type {CollapseWidget} from '@agnos-ui/core-bootstrap/components/collapse';\nimport {createCollapse} from '@agnos-ui/core-bootstrap/components/collapse';\nimport {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {callWidgetFactory} from '../../config';\n\n/**\n * Directive to control the collapse behavior of an element.\n */\n@Directive({\n\tselector: '[auCollapse]',\n\tstandalone: true,\n\texportAs: 'auCollapse',\n})\nexport class CollapseDirective extends BaseWidgetDirective<CollapseWidget> {\n\t/**\n\t * If `true`, collapse opening will be animated at init time.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auAnimatedOnInit', transform: auBooleanAttribute}) animatedOnInit: boolean | undefined;\n\n\t/**\n\t * If `true`, collapse closing and opening will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auAnimated', transform: auBooleanAttribute}) animated: boolean | undefined;\n\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auClassName') className: string | undefined;\n\n\t/**\n\t * If `true`, collapse will be done horizontally.\n\t *\n\t * @defaultValue `false`\n\t */\n\t@Input({alias: 'auHorizontal', transform: auBooleanAttribute}) horizontal: boolean | undefined;\n\n\t/**\n\t * If `true` the collapse is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\t@Input({alias: 'auVisible', transform: auBooleanAttribute}) visible: boolean | undefined;\n\n\t/**\n\t * id of the collapse\n\t *\n\t * @defaultValue `''`\n\t */\n\t@Input('auId') id: string | undefined;\n\n\t/**\n\t * Callback called when the collapse visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Callback called when the collapse is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auHidden') hidden = new EventEmitter<void>();\n\n\t/**\n\t * Callback called when the collapse is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\t@Output('auShown') shown = new EventEmitter<void>();\n\n\tconstructor() {\n\t\tsuper(\n\t\t\tcallWidgetFactory({\n\t\t\t\tfactory: createCollapse,\n\t\t\t\twidgetName: 'collapse',\n\t\t\t\tevents: {\n\t\t\t\t\tonVisibleChange: (event) => this.visibleChange.emit(event),\n\t\t\t\t\tonShown: () => this.shown.emit(),\n\t\t\t\t\tonHidden: () => this.hidden.emit(),\n\t\t\t\t},\n\t\t\t\tafterInit: (widget) => {\n\t\t\t\t\tuseDirectiveForHost(widget.directives.collapseDirective);\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t}\n}\n","import {getCollapseDefaultConfig, createCollapse} from '@agnos-ui/core-bootstrap/components/collapse';\nimport type {PropsConfig, Directive, Widget} from '@agnos-ui/angular-headless';\n\n\n\n/**\n * Retrieve a shallow copy of the default collapse config\n * @returns the default collapse config\n */\nconst export_getCollapseDefaultConfig: () => CollapseProps = getCollapseDefaultConfig as any;\nexport {export_getCollapseDefaultConfig as getCollapseDefaultConfig};\n\n\n\n/**\n * Create an CollapseWidget with given config props\n * @param config - an optional collapse config\n * @returns an CollapseWidget\n */\nconst export_createCollapse: (config?: PropsConfig<CollapseProps>) => CollapseWidget = createCollapse as any;\nexport {export_createCollapse as createCollapse};\n\n/**\n * Represents the state of a collapse component.\n * Extends the properties and state from `CollapseCommonPropsAndState`.\n */\nexport interface CollapseState {\n\t\n\t/**\n\t * Is `true` when the collapse is hidden. Compared to `visible`, this is updated after the transition is executed.\n\t */\n\thidden: boolean;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true`, collapse will be done horizontally.\n\t *\n\t * @defaultValue `false`\n\t */\n\thorizontal: boolean;\n\t\n\t/**\n\t * If `true` the collapse is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n}\n\n/**\n * Properties for the Collapse component.\n */\nexport interface CollapseProps {\n\t\n\t/**\n\t * Callback called when the collapse visibility changed.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t * @param visible - The new visibility state of the collapse.\n\t */\n\tonVisibleChange: (visible: boolean) => void;\n\t\n\n\t/**\n\t * Callback called when the collapse is hidden.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonHidden: () => void;\n\t\n\n\t/**\n\t * Callback called when the collapse is shown.\n\t *\n\t * @defaultValue\n\t * ```ts\n\t * () => {}\n\t * ```\n\t */\n\tonShown: () => void;\n\t\n\n\t/**\n\t * If `true`, collapse opening will be animated at init time.\n\t *\n\t * @defaultValue `false`\n\t */\n\tanimatedOnInit: boolean;\n\t\n\n\t/**\n\t * If `true`, collapse closing and opening will be animated.\n\t *\n\t * @defaultValue `true`\n\t */\n\tanimated: boolean;\n\t\n\t/**\n\t * id of the collapse\n\t *\n\t * @defaultValue `''`\n\t */\n\tid: string;\n\t\n\t/**\n\t * CSS classes to be applied on the widget main container\n\t *\n\t * @defaultValue `''`\n\t */\n\tclassName: string;\n\t\n\t/**\n\t * If `true`, collapse will be done horizontally.\n\t *\n\t * @defaultValue `false`\n\t */\n\thorizontal: boolean;\n\t\n\t/**\n\t * If `true` the collapse is visible to the user\n\t *\n\t * @defaultValue `true`\n\t */\n\tvisible: boolean;\n}\n\n/**\n * Interface representing the API for a collapsible component.\n */\nexport interface CollapseApi {\n\t\n\t/**\n\t * Triggers collapse closing programmatically.\n\t */\n\tclose(): void;\n\t\n\n\t/**\n\t * Triggers the collapse content to be displayed for the user.\n\t */\n\topen(): void;\n\t\n\n\t/**\n\t * Toggles the collapse content visibility.\n\t */\n\ttoggle(): void;\n}\n\n/**\n * Interface representing the directives used in a collapse component.\n */\nexport interface CollapseDirectives {\n\t\n\t/**\n\t * Directive to apply the collapse.\n\t */\n\tcollapseDirective: Directive;\n}\n\n\n\n/**\n * Represents a widget for handling collapse functionality.\n *\n * This type defines the structure of a CollapseWidget, which includes properties, state, API, and directives\n * necessary for managing the collapse behavior in the UI.\n *\n * @type {Widget<CollapseProps, CollapseState, CollapseApi, CollapseDirectives>}\n */\nexport type CollapseWidget = Widget<CollapseProps, CollapseState, CollapseApi, CollapseDirectives>;\n\n","import {SlotDirective, UseDirective, UseMultiDirective} from '@agnos-ui/angular-headless';\nimport {NgModule} from '@angular/core';\nimport {\n\tModalBodyDirective,\n\tModalComponent,\n\tModalFooterDirective,\n\tModalHeaderDirective,\n\tModalStructureDirective,\n\tModalTitleDirective,\n} from './components/modal/modal.component';\nimport {\n\tPaginationComponent,\n\tPaginationEllipsisDirective,\n\tPaginationFirstDirective,\n\tPaginationLastDirective,\n\tPaginationNextDirective,\n\tPaginationNumberDirective,\n\tPaginationPagesDirective,\n\tPaginationStructureDirective,\n\tPaginationPreviousDirective,\n} from './components/pagination/pagination.component';\nimport {RatingComponent, RatingStarDirective} from './components/rating/rating.component';\nimport {SelectBadgeLabelDirective, SelectComponent, SelectItemLabelDirective} from './components/select/select.component';\nimport {AlertBodyDirective, AlertComponent, AlertStructureDirective} from './components/alert/alert.component';\nimport {\n\tAccordionDirective,\n\tAccordionItemComponent,\n\tAccordionHeaderDirective,\n\tAccordionBodyDirective,\n\tAccordionItemStructureDirective,\n} from './components/accordion/accordion.component';\nimport {SliderComponent, SliderHandleDirective, SliderLabelDirective, SliderStructureDirective} from './components/slider/slider.component';\nimport {ProgressbarComponent, ProgressbarBodyDirective, ProgressbarStructureDirective} from './components/progressbar/progressbar.component';\nimport {ToastBodyDirective, ToastComponent, ToastHeaderDirective, ToastStructureDirective} from './components/toast/toast.component';\nimport {CollapseDirective} from './components/collapse';\n/* istanbul ignore next */\nconst components = [\n\tSlotDirective,\n\tSelectComponent,\n\tSelectBadgeLabelDirective,\n\tSelectItemLabelDirective,\n\tUseDirective,\n\tUseMultiDirective,\n\tRatingComponent,\n\tRatingStarDirective,\n\tPaginationComponent,\n\tPaginationEllipsisDirective,\n\tPaginationFirstDirective,\n\tPaginationLastDirective,\n\tPaginationNextDirective,\n\tPaginationNumberDirective,\n\tPaginationPreviousDirective,\n\tPaginationPagesDirective,\n\tPaginationStructureDirective,\n\tModalComponent,\n\tModalStructureDirective,\n\tModalHeaderDirective,\n\tModalTitleDirective,\n\tModalBodyDirective,\n\tModalFooterDirective,\n\tAlertComponent,\n\tAlertStructureDirective,\n\tAlertBodyDirective,\n\tAccordionDirective,\n\tAccordionItemComponent,\n\tAccordionHeaderDirective,\n\tAccordionBodyDirective,\n\tAccordionItemStructureDirective,\n\tSliderComponent,\n\tSliderHandleDirective,\n\tSliderLabelDirective,\n\tSliderStructureDirective,\n\tProgressbarComponent,\n\tProgressbarStructureDirective,\n\tProgressbarBodyDirective,\n\tToastComponent,\n\tToastStructureDirective,\n\tToastBodyDirective,\n\tToastHeaderDirective,\n\tCollapseDirective,\n];\n\n@NgModule({\n\tdeclarations: [],\n\timports: components,\n\texports: components,\n})\nexport class AgnosUIAngularModule {}\n","import {ApplicationRef, createComponent, EnvironmentInjector, EventEmitter, inject, Injectable, Injector} from '@angular/core';\nimport type {Subscription} from 'rxjs';\nimport {ModalComponent} from './modal.component';\nimport type {ModalProps} from './modal.gen';\n\ninterface ModalServiceOpenOptions {\n\tinjector?: Injector;\n}\n\n/**\n * Service to handle the opening and management of modal components.\n */\n@Injectable({providedIn: 'root'})\nexport class ModalService {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _applicationRef = inject(ApplicationRef);\n\n\tasync open<Data>(options: Partial<ModalProps<Data>>, {injector = this._injector}: ModalServiceOpenOptions = {}): Promise<any> {\n\t\tconst component = createComponent(ModalComponent, {\n\t\t\tenvironmentInjector: injector.get(EnvironmentInjector),\n\t\t\telementInjector: injector,\n\t\t});\n\t\tconst subscriptions: Subscription[] = [];\n\t\ttry {\n\t\t\tfor (const [prop, value] of Object.entries(options)) {\n\t\t\t\tif (prop.startsWith('on')) {\n\t\t\t\t\tconst eventName = `${prop[2].toLowerCase()}${prop.substring(3)}`;\n\t\t\t\t\tconst eventEmitter = (component.instance as any)[eventName];\n\t\t\t\t\tif (eventEmitter instanceof EventEmitter) {\n\t\t\t\t\t\tsubscriptions.push(eventEmitter.subscribe(value));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcomponent.setInput(`au${prop.substring(0, 1).toUpperCase()}${prop.substring(1)}`, value);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._applicationRef.attachView(component.hostView);\n\t\t\tawait component.instance['_widget'].initialized;\n\t\t\treturn await component.instance.api.open();\n\t\t} finally {\n\t\t\tcomponent.destroy();\n\t\t\tfor (const subscription of subscriptions) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Public API Surface of @agnos-ui/angular-bootstrap\n */\nexport * from '@agnos-ui/angular-headless';\n\nexport * from './agnos-ui-angular.module';\n\nexport type {\n\tAccordionApi,\n\tAccordionItemContext,\n\tAccordionItemProps,\n\tAccordionItemState,\n\tAccordionItemWidget,\n\tAccordionProps,\n\tAccordionState,\n\tAccordionWidget,\n\tAccordionDirectives,\n\tAccordionItemApi,\n\tAccordionItemDirectives,\n} from './components/accordion';\nexport {createAccordion, getAccordionDefaultConfig, createAccordionItem, factoryCreateAccordion} from './components/accordion';\nexport * from './components/accordion';\n\nexport type {AlertContext, AlertProps, AlertState, AlertWidget, AlertApi, AlertDirectives} from './components/alert';\nexport {createAlert, getAlertDefaultConfig} from './components/alert';\nexport * from './components/alert';\n\nexport * from './components/collapse';\n\nexport type {ModalContext, ModalProps, ModalState, ModalWidget, ModalApi, ModalDirectives, ModalBeforeCloseEvent} from './components/modal';\nexport {createModal, getModalDefaultConfig, modalCloseButtonClick, modalOutsideClick} from './components/modal';\nexport * from './components/modal';\n\nexport type {\n\tPaginationContext,\n\tPaginationNumberContext,\n\tPaginationProps,\n\tPaginationState,\n\tPaginationWidget,\n\tDirectionsHrefs,\n\tPaginationApi,\n\tPaginationDirectives,\n} from './components/pagination';\nexport {createPagination, getPaginationDefaultConfig} from './components/pagination';\nexport * from './components/pagination';\n\nexport type {ProgressbarContext, ProgressbarProps, ProgressbarState, ProgressbarWidget, ProgressbarDirectives} from './components/progressbar';\nexport {createProgressbar, getProgressbarDefaultConfig} from './components/progressbar';\nexport * from './components/progressbar';\n\nexport type {RatingProps, RatingState, RatingWidget, StarContext, RatingApi, RatingDirectives} from './components/rating';\nexport {createRating, getRatingDefaultConfig} from './components/rating';\nexport * from './components/rating';\n\nexport type {\n\tSelectContext,\n\tSelectItemContext,\n\tSelectProps,\n\tSelectState,\n\tSelectWidget,\n\tItemContext,\n\tSelectApi,\n\tSelectDirectives,\n} from './components/select';\nexport {createSelect, getSelectDefaultConfig} from './components/select';\nexport * from './components/select';\n\nexport type {\n\tSliderContext,\n\tSliderProps,\n\tSliderSlotHandleContext,\n\tSliderSlotLabelContext,\n\tSliderState,\n\tSliderWidget,\n\tSliderHandle,\n\tHandleDisplayOptions,\n\tProgressDisplayOptions,\n\tSliderDirectives,\n} from './components/slider';\nexport {createSlider, getSliderDefaultConfig} from './components/slider';\nexport * from './components/slider';\n\nexport type {ToastContext, ToastProps, ToastState, ToastWidget, ToastApi, ToastDirectives} from './components/toast';\nexport {createToast, getToastDefaultConfig} from './components/toast';\nexport * from './components/toast';\n\nexport * from '@agnos-ui/core-bootstrap/services/transitions';\nexport * from '@agnos-ui/core-bootstrap/types';\n\nexport type {WidgetsConfig} from './config';\nexport {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c2","_c6","createModal","_c4","_c5","_c3","createPagination","_c1","createRating","_c0","createSelect","createAlert","createAccordion","createSlider","createProgressbar","createToast"],"mappings":"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"}
|