@odx/angular 10.2.0 → 10.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/animations/lib/fade.d.ts +6 -2
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +3 -1
- package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +3 -1
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +3 -1
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +2 -0
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -2
- package/components/card/lib/card.component.d.ts +1 -1
- package/components/checkbox/lib/checkbox.validator.d.ts +2 -2
- package/components/footer/lib/footer.component.d.ts +0 -2
- package/components/main-menu/lib/main-menu.component.d.ts +0 -2
- package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +0 -2
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +4 -3
- package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -2
- package/components/timepicker/lib/timepicker.component.d.ts +0 -2
- package/components/toast/lib/components/toast-container/toast-container.component.d.ts +0 -2
- package/esm2022/animations/lib/fade.mjs +7 -3
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +4 -2
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +4 -2
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +4 -2
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -1
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
- package/esm2022/components/accordion/lib/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +4 -5
- package/esm2022/components/action-group/action-group.component.mjs +3 -3
- package/esm2022/components/area-header/area-header.component.mjs +3 -3
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +4 -5
- package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +3 -3
- package/esm2022/components/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/components/badge/lib/badge.component.mjs +3 -3
- package/esm2022/components/bar/lib/bar.component.mjs +3 -3
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/components/button/lib/button.component.mjs +3 -3
- package/esm2022/components/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/components/calendar/lib/calendar.component.mjs +4 -5
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +2 -3
- package/esm2022/components/card/lib/card.component.mjs +3 -3
- package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
- package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +3 -3
- package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +3 -3
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +3 -3
- package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +3 -3
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +3 -3
- package/esm2022/components/error-page/lib/error-page.component.mjs +3 -4
- package/esm2022/components/footer/lib/footer.component.mjs +4 -5
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
- package/esm2022/components/form-field/lib/form-field.component.mjs +3 -3
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +3 -3
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -4
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +4 -5
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
- package/esm2022/components/menu/lib/menu.component.mjs +3 -4
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -6
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -4
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +7 -8
- package/esm2022/components/modal/lib/modal.component.mjs +3 -3
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +3 -3
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +4 -5
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +3 -3
- package/esm2022/components/paginator/lib/paginator.component.mjs +4 -5
- package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +3 -4
- package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +3 -3
- package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +3 -3
- package/esm2022/components/select/lib/select.component.mjs +3 -3
- package/esm2022/components/switch/lib/switch.component.mjs +3 -3
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -4
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +3 -3
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +4 -5
- package/esm2022/components/table/lib/table.component.mjs +5 -6
- package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +3 -3
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +7 -9
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +4 -5
- package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -4
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +3 -3
- package/esm2022/components/wizard/lib/wizard.component.mjs +3 -3
- package/esm2022/utils/lib/helpers/angular.mjs +3 -1
- package/fesm2022/odx-angular-animations.mjs +6 -2
- package/fesm2022/odx-angular-animations.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-a11y.mjs +6 -2
- package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -0
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +2 -2
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +5 -6
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +2 -2
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +2 -2
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +5 -6
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +2 -2
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +2 -2
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +2 -2
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +2 -2
- package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +2 -2
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +2 -2
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +11 -12
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-card.mjs +8 -8
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +4 -4
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +6 -6
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +2 -2
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-content-box.mjs +2 -2
- package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +2 -2
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +2 -2
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +2 -2
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +2 -3
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +3 -4
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +6 -6
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +2 -2
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +2 -3
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +2 -2
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +3 -4
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-mainfilter-group.mjs +2 -2
- package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-menu.mjs +2 -3
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +19 -20
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +2 -2
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +5 -6
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +3 -4
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +4 -4
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +4 -4
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +8 -9
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-search-bar.mjs +2 -2
- package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +4 -4
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +2 -2
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +4 -5
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +8 -9
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +7 -9
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +5 -6
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +4 -4
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +2 -2
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +4 -4
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +2 -0
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/lib/helpers/angular.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-paginator.mjs","sources":["../../../../libs/angular/components/paginator/src/lib/paginator.config.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.html","../../../../libs/angular/components/paginator/src/lib/paginator.module.ts","../../../../libs/angular/components/paginator/src/odx-angular-components-paginator.ts"],"sourcesContent":["import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { createConfigTokens } from '@odx/angular/utils';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\n\nexport interface PaginatorConfig {\n /**\n * Function to generate summary content for paginator, displaying indices and total length.\n * @param startItemIndex The starting index of the current page.\n * @param endItemIndex The ending index of the current page.\n * @param length Total number of items in the dataset.\n * @returns DynamicTextContent for summary display.\n */\n getSummaryContent: GetSummaryContentFn;\n\n /**\n * Function to generate range content for paginator, displaying the current page index and total pages.\n * @param pageIndex The index of the current page.\n * @param totalPages Total number of pages.\n * @returns DynamicTextContent for range display.\n */\n getRangeContent: GetRangeContentFn;\n\n /**\n * Default paginator page size\n * @default 10\n */\n pageSize: number;\n}\n\n/**\n * Generates summary content for display in the paginator.\n * @param startItemIndex Start index of the items on the current page.\n * @param endItemIndex End index of the items on the current page.\n * @param length Total number of items available.\n * @returns Formatted summary as dynamic HTML content.\n */\nconst getSummaryContent: GetSummaryContentFn = (startItemIndex: number, endItemIndex: number, length: number): DynamicTextContent => {\n return `\n <strong>${startItemIndex}</strong>\n to <strong>${endItemIndex}</strong>\n of <strong>${length}</strong>\n `;\n};\n\n/**\n * Generates range content for display in the paginator.\n * @param pageIndex Current page index.\n * @param totalPages Total number of pages available.\n * @returns Formatted range as dynamic HTML content.\n */\nconst getRangeContent: GetRangeContentFn = (pageIndex: number, totalPages: number): DynamicTextContent => {\n return `\n Page <strong>${pageIndex + 1}</strong>\n of <strong>${totalPages}</strong>\n `;\n};\n\n/**\n * Utility for creating and retrieving configuration tokens for the Paginator.\n * This facilitates dependency injection of configuration in Angular applications.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * providePaginatorConfig({\n * pageSize: 20,\n * getSummaryContent: (startItemIndex: number, endItemIndex: number, length: number) => `...`\n * }),\n * ]\n * ```\n */\nexport const { PaginatorConfig, PaginatorDefaultConfig, injectPaginatorConfig, providePaginatorConfig } = createConfigTokens(\n 'Paginator',\n '@odx/angular/components/paginator',\n {\n getSummaryContent,\n getRangeContent,\n pageSize: 10,\n },\n);\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent, ButtonSize } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { PageChangeEvent } from './interfaces';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\nimport { injectPaginatorConfig } from './paginator.config';\n\n/**\n * Paginator component for navigating between pages of content in a dataset.\n * It provides configurable options for page size, total content length, and navigational controls,\n * and emits an event when the page is changed.\n */\n@CSSComponent('paginator')\n@Component({\n standalone: true,\n selector: 'odx-paginator',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective],\n providers: [DisabledController.connect()],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.is-disabled]': 'isDisabled',\n },\n})\nexport class PaginatorComponent {\n private readonly disabledController = DisabledController.inject();\n\n private readonly config = injectPaginatorConfig();\n\n private _pageIndex = 0;\n private _pageSize = this.config.pageSize;\n private _length = 0;\n\n protected buttonSize = ButtonSize.SMALL;\n\n public readonly element = injectElement();\n\n /**\n * Function to generate summary content for display, such as \"Items 1-10 of 100\".\n *\n * @type {GetSummaryContentFn | null}\n * @default null\n */\n @Input()\n public getSummaryContentFn?: GetSummaryContentFn | null = null;\n\n /**\n * Function to generate range content for display, such as \"Page 1 of 10\".\n *\n * @type {GetRangeContentFn | null}\n * @default null\n */\n @Input()\n public getRangeContentFn?: GetRangeContentFn | null = null;\n\n /**\n * Determines whether the summary content is displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showSummary = true;\n\n /**\n * Determines whether buttons for navigating to the first and last pages are displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showFirstLastButtons = true;\n\n /**\n * The current page index. Setter ensures the page index is non-negative.\n *\n * @param {number} value - The new page index.\n */\n @Input()\n public set pageIndex(value: number) {\n if (value >= 0) this._pageIndex = value;\n }\n\n /**\n * Gets the current page index, returns -1 if length is zero.\n *\n * @returns {number}\n */\n public get pageIndex(): number {\n return this._length ? this._pageIndex : -1;\n }\n\n /**\n * The number of items per page. Setter ensures the page size is positive.\n *\n * @param {number} value - The new page size.\n */\n @Input()\n public set pageSize(value: number) {\n if (value > 0) this._pageSize = value;\n }\n\n /**\n * Gets the number of items per page.\n *\n * @returns {number}\n */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * The total number of items. Setter ensures the length is non-negative.\n *\n * @param {number} value - The new total number of items.\n */\n @Input()\n public set length(value: number) {\n if (value >= 0) this._length = value;\n }\n\n /**\n * Gets the total number of items.\n *\n * @returns {number}\n */\n public get length(): number {\n return this._length;\n }\n\n /**\n * Event emitted when the page index changes, providing details of the new page context.\n *\n * @emits {PageChangeEvent}\n */\n @Output()\n public pageChanged = new EventEmitter<PageChangeEvent>();\n\n /**\n * Determines whether pagination controls are disabled.\n *\n * @returns {boolean}\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Default function to generate summary content if no function is provided.\n *\n * @returns {GetSummaryContentFn}\n */\n public get defaultGetSummaryContentFn(): GetSummaryContentFn {\n return this.config.getSummaryContent;\n }\n\n /**\n * Default function to generate range content if no function is provided.\n *\n * @returns {GetRangeContentFn}\n */\n public get defaultGetRangeContentFn(): GetRangeContentFn {\n return this.config.getRangeContent;\n }\n\n /**\n * Computes and returns the dynamic summary content.\n *\n * @returns {DynamicTextContent}\n */\n public get summaryContent(): DynamicTextContent {\n const fn = this.getSummaryContentFn ?? this.defaultGetSummaryContentFn;\n return fn(this.startItemIndex + 1, this.endItemIndex, this.length);\n }\n\n /**\n * Computes and returns the dynamic range content.\n *\n * @returns {DynamicTextContent}\n */\n public get rangeContent(): DynamicTextContent {\n const fn = this.getRangeContentFn ?? this.defaultGetRangeContentFn;\n return fn(this.pageIndex, this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n */\n public firstPage(): void {\n this.pageChange(0);\n }\n\n /**\n * Navigates to the previous page.\n */\n public previousPage(): void {\n this.pageChange(this._pageIndex - 1);\n }\n\n /**\n * Navigates to the next page.\n */\n public nextPage(): void {\n this.pageChange(this._pageIndex + 1);\n }\n\n /**\n * Navigates to the last page.\n */\n public lastPage(): void {\n this.pageChange(this.totalPages - 1);\n }\n\n /**\n * Determines whether the current page is the first page.\n *\n * @returns {boolean}\n */\n public get isFirstPage(): boolean {\n return this._pageIndex === 0;\n }\n\n /**\n * Determines whether the current page is the last page.\n *\n * @returns {boolean}\n */\n public get isLastPage(): boolean {\n return this._pageIndex === this.totalPages - 1;\n }\n\n /**\n * Determines whether the previous button is disabled.\n *\n * @returns {boolean}\n */\n public get isPreviousDisabled(): boolean {\n return this.isFirstPage || !this._length;\n }\n\n /**\n * Determines whether the next button is disabled.\n *\n * @returns {boolean}\n */\n public get isNextDisabled(): boolean {\n return this.isLastPage || !this._length;\n }\n\n /**\n * Gets the total number of pages.\n *\n * @returns {number}\n */\n public get totalPages(): number {\n return Math.ceil(this._length / this._pageSize);\n }\n\n /**\n * Gets the index of the first item on the current page.\n *\n * @returns {number}\n */\n public get startItemIndex(): number {\n return this._length ? this._pageIndex * this._pageSize : -1;\n }\n\n /**\n * Gets the index of the last item on the current page.\n *\n * @returns {number}\n */\n public get endItemIndex(): number {\n return Math.min(this.startItemIndex + this._pageSize, this._length);\n }\n\n /**\n * Navigates to the specified page index.\n */\n public pageChange(pageIndex: number): void {\n if (pageIndex < 0) return;\n\n this._pageIndex = pageIndex;\n\n this.pageChanged.emit({\n pageIndex: this._pageIndex,\n length: this._length,\n pageSize: this._pageSize,\n });\n }\n}\n","<div *ngIf=\"showSummary\" class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\"></ng-template>\n</div>\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n <button\n *ngIf=\"showFirstLastButtons\"\n odxButton\n [size]=\"buttonSize\"\n class=\"odx-paginator__navigation_first\"\n (click)=\"firstPage()\"\n [disabled]=\"isPreviousDisabled\"\n >\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\"></ng-template>\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n </button>\n\n <button *ngIf=\"showFirstLastButtons\" [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n","import { NgModule } from '@angular/core';\nimport { PaginatorComponent } from './paginator.component';\n\nconst modules = [PaginatorComponent];\n\n@NgModule({\n imports: modules,\n exports: [...modules],\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-paginator.mjs","sources":["../../../../libs/angular/components/paginator/src/lib/paginator.config.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.ts","../../../../libs/angular/components/paginator/src/lib/paginator.component.html","../../../../libs/angular/components/paginator/src/lib/paginator.module.ts","../../../../libs/angular/components/paginator/src/odx-angular-components-paginator.ts"],"sourcesContent":["import { DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { createConfigTokens } from '@odx/angular/utils';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\n\nexport interface PaginatorConfig {\n /**\n * Function to generate summary content for paginator, displaying indices and total length.\n * @param startItemIndex The starting index of the current page.\n * @param endItemIndex The ending index of the current page.\n * @param length Total number of items in the dataset.\n * @returns DynamicTextContent for summary display.\n */\n getSummaryContent: GetSummaryContentFn;\n\n /**\n * Function to generate range content for paginator, displaying the current page index and total pages.\n * @param pageIndex The index of the current page.\n * @param totalPages Total number of pages.\n * @returns DynamicTextContent for range display.\n */\n getRangeContent: GetRangeContentFn;\n\n /**\n * Default paginator page size\n * @default 10\n */\n pageSize: number;\n}\n\n/**\n * Generates summary content for display in the paginator.\n * @param startItemIndex Start index of the items on the current page.\n * @param endItemIndex End index of the items on the current page.\n * @param length Total number of items available.\n * @returns Formatted summary as dynamic HTML content.\n */\nconst getSummaryContent: GetSummaryContentFn = (startItemIndex: number, endItemIndex: number, length: number): DynamicTextContent => {\n return `\n <strong>${startItemIndex}</strong>\n to <strong>${endItemIndex}</strong>\n of <strong>${length}</strong>\n `;\n};\n\n/**\n * Generates range content for display in the paginator.\n * @param pageIndex Current page index.\n * @param totalPages Total number of pages available.\n * @returns Formatted range as dynamic HTML content.\n */\nconst getRangeContent: GetRangeContentFn = (pageIndex: number, totalPages: number): DynamicTextContent => {\n return `\n Page <strong>${pageIndex + 1}</strong>\n of <strong>${totalPages}</strong>\n `;\n};\n\n/**\n * Utility for creating and retrieving configuration tokens for the Paginator.\n * This facilitates dependency injection of configuration in Angular applications.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * providePaginatorConfig({\n * pageSize: 20,\n * getSummaryContent: (startItemIndex: number, endItemIndex: number, length: number) => `...`\n * }),\n * ]\n * ```\n */\nexport const { PaginatorConfig, PaginatorDefaultConfig, injectPaginatorConfig, providePaginatorConfig } = createConfigTokens(\n 'Paginator',\n '@odx/angular/components/paginator',\n {\n getSummaryContent,\n getRangeContent,\n pageSize: 10,\n },\n);\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent, ButtonSize } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { PageChangeEvent } from './interfaces';\nimport { GetRangeContentFn, GetSummaryContentFn } from './models';\nimport { injectPaginatorConfig } from './paginator.config';\n\n/**\n * Paginator component for navigating between pages of content in a dataset.\n * It provides configurable options for page size, total content length, and navigational controls,\n * and emits an event when the page is changed.\n */\n@CSSComponent('paginator')\n@Component({\n standalone: true,\n selector: 'odx-paginator',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, DynamicViewDirective],\n providers: [DisabledController.connect()],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.is-disabled]': 'isDisabled',\n },\n})\nexport class PaginatorComponent {\n private readonly disabledController = DisabledController.inject();\n\n private readonly config = injectPaginatorConfig();\n\n private _pageIndex = 0;\n private _pageSize = this.config.pageSize;\n private _length = 0;\n\n protected buttonSize = ButtonSize.SMALL;\n\n public readonly element = injectElement();\n\n /**\n * Function to generate summary content for display, such as \"Items 1-10 of 100\".\n *\n * @type {GetSummaryContentFn | null}\n * @default null\n */\n @Input()\n public getSummaryContentFn?: GetSummaryContentFn | null = null;\n\n /**\n * Function to generate range content for display, such as \"Page 1 of 10\".\n *\n * @type {GetRangeContentFn | null}\n * @default null\n */\n @Input()\n public getRangeContentFn?: GetRangeContentFn | null = null;\n\n /**\n * Determines whether the summary content is displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showSummary = true;\n\n /**\n * Determines whether buttons for navigating to the first and last pages are displayed.\n *\n * @type {boolean}\n * @default true\n */\n @Input()\n public showFirstLastButtons = true;\n\n /**\n * The current page index. Setter ensures the page index is non-negative.\n *\n * @param {number} value - The new page index.\n */\n @Input()\n public set pageIndex(value: number) {\n if (value >= 0) this._pageIndex = value;\n }\n\n /**\n * Gets the current page index, returns -1 if length is zero.\n *\n * @returns {number}\n */\n public get pageIndex(): number {\n return this._length ? this._pageIndex : -1;\n }\n\n /**\n * The number of items per page. Setter ensures the page size is positive.\n *\n * @param {number} value - The new page size.\n */\n @Input()\n public set pageSize(value: number) {\n if (value > 0) this._pageSize = value;\n }\n\n /**\n * Gets the number of items per page.\n *\n * @returns {number}\n */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * The total number of items. Setter ensures the length is non-negative.\n *\n * @param {number} value - The new total number of items.\n */\n @Input()\n public set length(value: number) {\n if (value >= 0) this._length = value;\n }\n\n /**\n * Gets the total number of items.\n *\n * @returns {number}\n */\n public get length(): number {\n return this._length;\n }\n\n /**\n * Event emitted when the page index changes, providing details of the new page context.\n *\n * @emits {PageChangeEvent}\n */\n @Output()\n public pageChanged = new EventEmitter<PageChangeEvent>();\n\n /**\n * Determines whether pagination controls are disabled.\n *\n * @returns {boolean}\n */\n public get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Default function to generate summary content if no function is provided.\n *\n * @returns {GetSummaryContentFn}\n */\n public get defaultGetSummaryContentFn(): GetSummaryContentFn {\n return this.config.getSummaryContent;\n }\n\n /**\n * Default function to generate range content if no function is provided.\n *\n * @returns {GetRangeContentFn}\n */\n public get defaultGetRangeContentFn(): GetRangeContentFn {\n return this.config.getRangeContent;\n }\n\n /**\n * Computes and returns the dynamic summary content.\n *\n * @returns {DynamicTextContent}\n */\n public get summaryContent(): DynamicTextContent {\n const fn = this.getSummaryContentFn ?? this.defaultGetSummaryContentFn;\n return fn(this.startItemIndex + 1, this.endItemIndex, this.length);\n }\n\n /**\n * Computes and returns the dynamic range content.\n *\n * @returns {DynamicTextContent}\n */\n public get rangeContent(): DynamicTextContent {\n const fn = this.getRangeContentFn ?? this.defaultGetRangeContentFn;\n return fn(this.pageIndex, this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n */\n public firstPage(): void {\n this.pageChange(0);\n }\n\n /**\n * Navigates to the previous page.\n */\n public previousPage(): void {\n this.pageChange(this._pageIndex - 1);\n }\n\n /**\n * Navigates to the next page.\n */\n public nextPage(): void {\n this.pageChange(this._pageIndex + 1);\n }\n\n /**\n * Navigates to the last page.\n */\n public lastPage(): void {\n this.pageChange(this.totalPages - 1);\n }\n\n /**\n * Determines whether the current page is the first page.\n *\n * @returns {boolean}\n */\n public get isFirstPage(): boolean {\n return this._pageIndex === 0;\n }\n\n /**\n * Determines whether the current page is the last page.\n *\n * @returns {boolean}\n */\n public get isLastPage(): boolean {\n return this._pageIndex === this.totalPages - 1;\n }\n\n /**\n * Determines whether the previous button is disabled.\n *\n * @returns {boolean}\n */\n public get isPreviousDisabled(): boolean {\n return this.isFirstPage || !this._length;\n }\n\n /**\n * Determines whether the next button is disabled.\n *\n * @returns {boolean}\n */\n public get isNextDisabled(): boolean {\n return this.isLastPage || !this._length;\n }\n\n /**\n * Gets the total number of pages.\n *\n * @returns {number}\n */\n public get totalPages(): number {\n return Math.ceil(this._length / this._pageSize);\n }\n\n /**\n * Gets the index of the first item on the current page.\n *\n * @returns {number}\n */\n public get startItemIndex(): number {\n return this._length ? this._pageIndex * this._pageSize : -1;\n }\n\n /**\n * Gets the index of the last item on the current page.\n *\n * @returns {number}\n */\n public get endItemIndex(): number {\n return Math.min(this.startItemIndex + this._pageSize, this._length);\n }\n\n /**\n * Navigates to the specified page index.\n */\n public pageChange(pageIndex: number): void {\n if (pageIndex < 0) return;\n\n this._pageIndex = pageIndex;\n\n this.pageChanged.emit({\n pageIndex: this._pageIndex,\n length: this._length,\n pageSize: this._pageSize,\n });\n }\n}\n","@if (showSummary) {\n <div class=\"odx-paginator__summary\">\n <ng-template [odxDynamicView]=\"summaryContent\" />\n </div>\n}\n\n<div class=\"odx-paginator__navigation\">\n <odx-action-group>\n @if (showFirstLastButtons) {\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_first\" (click)=\"firstPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left-end\" iconSet=\"core\" />\n </button>\n }\n\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_previous\" (click)=\"previousPage()\" [disabled]=\"isPreviousDisabled\">\n <odx-icon name=\"chevron-left\" iconSet=\"core\" />\n </button>\n </odx-action-group>\n\n <div class=\"odx-paginator__range\">\n <ng-template [odxDynamicView]=\"rangeContent\" />\n </div>\n\n <odx-action-group>\n <button odxButton [size]=\"buttonSize\" class=\"odx-paginator__navigation_next\" (click)=\"nextPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right\" iconSet=\"core\" />\n </button>\n @if (showFirstLastButtons) {\n <button [size]=\"buttonSize\" odxButton class=\"odx-paginator__navigation_last\" (click)=\"lastPage()\" [disabled]=\"isNextDisabled\">\n <odx-icon name=\"chevron-right-end\" iconSet=\"core\" />\n </button>\n }\n </odx-action-group>\n</div>\n","import { NgModule } from '@angular/core';\nimport { PaginatorComponent } from './paginator.component';\n\nconst modules = [PaginatorComponent];\n\n@NgModule({\n imports: modules,\n exports: [...modules],\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ let RadioButtonComponent = class RadioButtonComponent extends RadioControlDirect
|
|
|
40
40
|
this.withLabel = !!this.contentElement.nativeElement.textContent?.trim();
|
|
41
41
|
}
|
|
42
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RadioButtonComponent, isStandalone: true, selector: "odx-radio-button", providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RadioButtonComponent, isStandalone: true, selector: "odx-radio-button", providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content />\n <ng-content select=\".odx-radio-button__subtitle\" />\n </div>\n</label>\n", dependencies: [{ kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i1.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
44
44
|
};
|
|
45
45
|
__decorate([
|
|
46
46
|
CSSModifier(),
|
|
@@ -51,7 +51,7 @@ RadioButtonComponent = __decorate([
|
|
|
51
51
|
], RadioButtonComponent);
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ standalone: true, selector: 'odx-radio-button', imports: [ObserversModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content
|
|
54
|
+
args: [{ standalone: true, selector: 'odx-radio-button', imports: [ObserversModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content />\n <ng-content select=\".odx-radio-button__subtitle\" />\n </div>\n</label>\n" }]
|
|
55
55
|
}], propDecorators: { withLabel: [], contentElement: [{
|
|
56
56
|
type: ViewChild,
|
|
57
57
|
args: ['content']
|
|
@@ -89,7 +89,7 @@ let RadioGroupComponent = class RadioGroupComponent extends RadioGroupControlDir
|
|
|
89
89
|
},
|
|
90
90
|
DisabledController.connect(),
|
|
91
91
|
ReadonlyController.connect(),
|
|
92
|
-
], usesInheritance: true, ngImport: i0, template: "<ng-content
|
|
92
|
+
], usesInheritance: true, ngImport: i0, template: "<ng-content />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
93
93
|
};
|
|
94
94
|
__decorate([
|
|
95
95
|
CSSModifier(),
|
|
@@ -108,7 +108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
108
108
|
},
|
|
109
109
|
DisabledController.connect(),
|
|
110
110
|
ReadonlyController.connect(),
|
|
111
|
-
], template: "<ng-content
|
|
111
|
+
], template: "<ng-content />\n" }]
|
|
112
112
|
}], propDecorators: { horizontal: [{
|
|
113
113
|
type: Input
|
|
114
114
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-radio-group.mjs","sources":["../../../../libs/angular/components/radio-group/src/lib/components/radio-button/radio-button.component.ts","../../../../libs/angular/components/radio-group/src/lib/components/radio-button/radio-button.component.html","../../../../libs/angular/components/radio-group/src/lib/radio-group.component.ts","../../../../libs/angular/components/radio-group/src/lib/radio-group.component.html","../../../../libs/angular/components/radio-group/src/lib/radio-group.module.ts","../../../../libs/angular/components/radio-group/src/odx-angular-components-radio-group.ts"],"sourcesContent":["import { ObserversModule } from '@angular/cdk/observers';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { RadioControlDirective } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a radio button component.\n * @extends {RadioControlDirective<T>}\n *\n * @template T - The type of the radio button value.\n *\n * @remarks\n * To add subtitle text to the radio button, use class `odx-radio-button__subtitle` in template's content.\n *\n * @example\n * ```html\n * <odx-radio-group>\n * <odx-radio-button [value]=\"'a'\" >\n * Radio button label\n * <span class=\"odx-radio-button__subtitle\">Subtitle text</span>\n * </odx-radio-button>\n * </odx-radio-group>\n * ```\n */\n@CSSComponent('radio-button')\n@Component({\n standalone: true,\n selector: 'odx-radio-button',\n templateUrl: './radio-button.component.html',\n imports: [ObserversModule],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class RadioButtonComponent<T = unknown> extends RadioControlDirective<T> implements AfterViewInit {\n @CSSModifier()\n protected withLabel = false;\n\n public readonly element = injectElement();\n\n /**\n * The reference to the content element of the radio button component.\n *\n * @type {ElementRef<HTMLDivElement>}\n */\n @ViewChild('content')\n public contentElement!: ElementRef<HTMLDivElement>;\n\n public ngAfterViewInit(): void {\n this.onContentChange();\n }\n\n protected onContentChange() {\n this.withLabel = !!this.contentElement.nativeElement.textContent?.trim();\n }\n}\n","<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content
|
|
1
|
+
{"version":3,"file":"odx-angular-components-radio-group.mjs","sources":["../../../../libs/angular/components/radio-group/src/lib/components/radio-button/radio-button.component.ts","../../../../libs/angular/components/radio-group/src/lib/components/radio-button/radio-button.component.html","../../../../libs/angular/components/radio-group/src/lib/radio-group.component.ts","../../../../libs/angular/components/radio-group/src/lib/radio-group.component.html","../../../../libs/angular/components/radio-group/src/lib/radio-group.module.ts","../../../../libs/angular/components/radio-group/src/odx-angular-components-radio-group.ts"],"sourcesContent":["import { ObserversModule } from '@angular/cdk/observers';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { RadioControlDirective } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a radio button component.\n * @extends {RadioControlDirective<T>}\n *\n * @template T - The type of the radio button value.\n *\n * @remarks\n * To add subtitle text to the radio button, use class `odx-radio-button__subtitle` in template's content.\n *\n * @example\n * ```html\n * <odx-radio-group>\n * <odx-radio-button [value]=\"'a'\" >\n * Radio button label\n * <span class=\"odx-radio-button__subtitle\">Subtitle text</span>\n * </odx-radio-button>\n * </odx-radio-group>\n * ```\n */\n@CSSComponent('radio-button')\n@Component({\n standalone: true,\n selector: 'odx-radio-button',\n templateUrl: './radio-button.component.html',\n imports: [ObserversModule],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class RadioButtonComponent<T = unknown> extends RadioControlDirective<T> implements AfterViewInit {\n @CSSModifier()\n protected withLabel = false;\n\n public readonly element = injectElement();\n\n /**\n * The reference to the content element of the radio button component.\n *\n * @type {ElementRef<HTMLDivElement>}\n */\n @ViewChild('content')\n public contentElement!: ElementRef<HTMLDivElement>;\n\n public ngAfterViewInit(): void {\n this.onContentChange();\n }\n\n protected onContentChange() {\n this.withLabel = !!this.contentElement.nativeElement.textContent?.trim();\n }\n}\n","<label class=\"odx-radio-button__label\">\n <input\n class=\"odx-radio-button__input\"\n type=\"radio\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"radioGroupControl.hasError || null\"\n [attr.aria-readonly]=\"readonlyController?.readonly || null\"\n [attr.aria-required]=\"radioGroupControl.isRequired || null\"\n [checked]=\"isActive\"\n [disabled]=\"disabledController?.disabled || readonlyController?.readonly\"\n [name]=\"radioGroupControl.name\"\n [readonly]=\"readonlyController?.readonly\"\n [required]=\"radioGroupControl.isRequired\"\n [value]=\"value\"\n (change)=\"radioGroupControl.updateValue(value)\"\n />\n <div class=\"odx-radio-button__indicator\"></div>\n <div class=\"odx-radio-button__content\" [cdkObserveContentDisabled]=\"disabledController?.disabled\" (cdkObserveContent)=\"onContentChange()\" #content>\n <ng-content />\n <ng-content select=\".odx-radio-button__subtitle\" />\n </div>\n</label>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { RADIO_GROUP_CONTROL, RadioGroupControlDirective } from '@odx/angular/cdk/radio-group-control';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RadioGroupComponent manages a group of radio buttons, providing Angular form control integration\n * and additional states like disabled and readonly. It supports both vertical and horizontal layouts.\n *\n * @template T - The type of the value handled by the radio group.\n *\n * The component extends the `RadioGroupControlDirective`, which provides the core functionality for managing.\n *\n * @see {RadioGroupControlDirective}\n */\n@CSSComponent('radio-group')\n@Component({\n standalone: true,\n selector: 'odx-radio-group',\n templateUrl: 'radio-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: RADIO_GROUP_CONTROL,\n useExisting: forwardRef(() => RadioGroupComponent),\n multi: false,\n },\n DisabledController.connect(),\n ReadonlyController.connect(),\n ],\n})\nexport class RadioGroupComponent<T = unknown> extends RadioGroupControlDirective<T> {\n public readonly element = injectElement();\n\n /**\n * Determines whether the radio buttons are arranged horizontally.\n * When set to `true`, radio buttons are aligned side by side.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input()\n public horizontal = false;\n}\n","<ng-content />\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RadioButtonComponent } from './components';\nimport { RadioGroupComponent } from './radio-group.component';\n\nconst modules = [RadioGroupComponent, RadioButtonComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RadioGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;AAWI,IAAM,oBAAoB,GAA1B,MAAM,oBAAkC,SAAQ,qBAAwB,CAAA;AAAxE,IAAA,WAAA,GAAA;;QAEK,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAEZ,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAiB3C,KAAA;IAPQ,eAAe,GAAA;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAES,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;KAC1E;+GApBU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAFpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,EClCzE,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,g+BAsBA,2CDSY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAOf,UAAA,CAAA;AADT,IAAA,WAAW,EAAE;;AACc,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAFjB,oBAAoB,GAAA,UAAA,CAAA;IAVhC,YAAY,CAAC,cAAc,CAAC;AAUhB,CAAA,EAAA,oBAAoB,CAqBhC,CAAA;4FArBY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,kBAAkB,EAAA,OAAA,EAEnB,CAAC,eAAe,CAAC,EACX,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,QAAA,EAAA,g+BAAA,EAAA,CAAA;AAI7D,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,SAAS,MAUZ,cAAc,EAAA,CAAA;sBADpB,SAAS;uBAAC,SAAS,CAAA;;;AEzCtB;;;;;;;;;AASG;AAkBI,IAAM,mBAAmB,GAAzB,MAAM,mBAAiC,SAAQ,0BAA6B,CAAA;AAA5E,IAAA,WAAA,GAAA;;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;;AAMG;QAGI,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAC3B,KAAA;+GAbY,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAVnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;YACD,kBAAkB,CAAC,OAAO,EAAE;YAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC7B,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BH,kBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AD4CS,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEY,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAZf,mBAAmB,GAAA,UAAA,CAAA;IAjB/B,YAAY,CAAC,aAAa,CAAC;AAiBf,CAAA,EAAA,mBAAmB,CAa/B,CAAA;4FAbY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,iBAAiB,EAAA,eAAA,EAEV,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,KAAK;AACb,yBAAA;wBACD,kBAAkB,CAAC,OAAO,EAAE;wBAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC7B,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA;8BAcM,UAAU,EAAA,CAAA;sBADhB,KAAK;;;AEvCR,MAAM,OAAO,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;MAM/C,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAhB,gBAAgB,EAAA,OAAA,EAAA,CANZ,mBAAmB,EAAE,oBAAoB,aAI9C,UAAU,EAJL,mBAAmB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAM7C,gBAAgB,EAAA,OAAA,EAAA,CANS,oBAAoB,EAI9C,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -38,7 +38,7 @@ let RailNavigationItemComponent = class RailNavigationItemComponent {
|
|
|
38
38
|
this.iconSet = 'core';
|
|
39
39
|
}
|
|
40
40
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RailNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RailNavigationItemComponent, isStandalone: true, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: { isSelected: ["isSelected", "isSelected", booleanAttribute], iconName: "iconName", iconSet: "iconSet" }, host: { properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\"
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RailNavigationItemComponent, isStandalone: true, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: { isSelected: ["isSelected", "isSelected", booleanAttribute], iconName: "iconName", iconSet: "iconSet" }, host: { properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\" />\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content />\n</span>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
42
42
|
};
|
|
43
43
|
RailNavigationItemComponent = __decorate([
|
|
44
44
|
CSSComponent('rail-navigation-item')
|
|
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ standalone: true, selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], hostDirectives: [WithDisabledState, WithTabIndex], host: {
|
|
49
49
|
'[class.is-selected]': 'isSelected || routerLinkActive?.isActive',
|
|
50
|
-
}, template: "<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\"
|
|
50
|
+
}, template: "<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\" />\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content />\n</span>\n" }]
|
|
51
51
|
}], propDecorators: { isSelected: [{
|
|
52
52
|
type: Input,
|
|
53
53
|
args: [{ transform: booleanAttribute }]
|
|
@@ -117,7 +117,7 @@ let RailNavigationComponent = class RailNavigationComponent {
|
|
|
117
117
|
this.toggle(false);
|
|
118
118
|
}
|
|
119
119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RailNavigationComponent, isStandalone: true, selector: "odx-rail-navigation", inputs: { isOpen: ["isOpen", "isOpen", booleanAttribute], variant: "variant" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RailNavigationComponent, isStandalone: true, selector: "odx-rail-navigation", inputs: { isOpen: ["isOpen", "isOpen", booleanAttribute], variant: "variant" }, outputs: { isOpenChange: "isOpenChange" }, host: { properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\" />\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n", dependencies: [{ kind: "component", type: RailNavigationItemComponent, selector: "a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]", inputs: ["isSelected", "iconName", "iconSet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
121
121
|
};
|
|
122
122
|
__decorate([
|
|
123
123
|
CSSModifier(),
|
|
@@ -130,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
130
130
|
type: Component,
|
|
131
131
|
args: [{ standalone: true, selector: 'odx-rail-navigation', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [RailNavigationItemComponent], host: {
|
|
132
132
|
'[class.is-open]': 'isOpen',
|
|
133
|
-
}, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"
|
|
133
|
+
}, template: "<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\" />\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n" }]
|
|
134
134
|
}], propDecorators: { isOpen: [{
|
|
135
135
|
type: Input,
|
|
136
136
|
args: [{ transform: booleanAttribute }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-rail-navigation.mjs","sources":["../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item/rail-navigation-item.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item/rail-navigation-item.component.html","../../../../libs/angular/components/rail-navigation/src/lib/models/rail-navigation-variant.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../libs/angular/components/rail-navigation/src/odx-angular-components-rail-navigation.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RailNavigationItemComponent represents an individual navigation item within a rail navigation system.\n * This component can be used as either a link or a button and integrates with Angular's RouterLinkActive to\n * optionally highlight active navigation items.\n * Has host directives for disabled and tabindex states.\n *\n * @see {WithDisabledState}\n * @see {WithTabIndex}\n */\n@CSSComponent('rail-navigation-item')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]',\n templateUrl: './rail-navigation-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n hostDirectives: [WithDisabledState, WithTabIndex],\n host: {\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n },\n})\nexport class RailNavigationItemComponent {\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the navigation item is selected. This can be manually set or derived from router state.\n * Uses booleanAttribute transformer for attribute binding.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public isSelected = false;\n\n /**\n * The name of the icon to be displayed. This input is required.\n *\n * @type {string}\n * @required\n */\n @Input({ required: true })\n public iconName!: string;\n\n /**\n * Optional input to specify the icon set from which the icon should be taken.\n *\n * @type {string}\n * @default 'core'\n */\n @Input()\n public iconSet = 'core';\n}\n","<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\"></odx-icon>\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content></ng-content>\n</span>\n","export type RailNavigationVariant = (typeof RailNavigationVariant)[keyof typeof RailNavigationVariant];\n\nexport const RailNavigationVariant = {\n DEFAULT: 'default',\n BAR: 'bar',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item/rail-navigation-item.component';\nimport { RailNavigationVariant } from './models';\n\n/**\n * RailNavigationComponent provides a navigational sidebar that can toggle between open and closed states.\n * It supports different visual variants and can integrate individual navigation items\n * for complex navigation structures.\n */\n@CSSComponent('rail-navigation')\n@Component({\n standalone: true,\n selector: 'odx-rail-navigation',\n templateUrl: 'rail-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RailNavigationItemComponent],\n host: {\n '[class.is-open]': 'isOpen',\n },\n})\nexport class RailNavigationComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the rail navigation is open. Uses booleanAttribute transformer for attribute binding.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ transform: booleanAttribute })\n public isOpen = true;\n\n /**\n * Specifies the visual variant of the rail navigation.\n *\n * @type {RailNavigationVariant}\n * @default RailNavigationVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant: RailNavigationVariant = RailNavigationVariant.DEFAULT;\n\n /**\n * Emits changes to the `isOpen` state, allowing for external reaction to state changes.\n *\n * @emits {boolean} - The new state of the rail navigation.\n */\n @Output()\n public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Toggles the open state of the rail navigation. Optionally accepts a boolean to force the state to open or closed.\n * Does not perform any action if the variant is set to BAR.\n *\n * @param {boolean | undefined} forceState - Optionally force the toggle to a specific state.\n */\n public toggle(forceState?: boolean): void {\n if (this.variant === RailNavigationVariant.BAR) return;\n this.isOpen = forceState ?? !this.isOpen;\n this.isOpenChange.emit(this.isOpen);\n }\n\n /**\n * Explicitly opens the rail navigation, setting `isOpen` to true.\n */\n public open(): void {\n this.toggle(true);\n }\n\n /**\n * Explicitly closes the rail navigation, setting `isOpen` to false.\n */\n public close(): void {\n this.toggle(false);\n }\n}\n","<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\"></ng-content>\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item/rail-navigation-item.component';\nimport { RailNavigationComponent } from './rail-navigation.component';\n\nconst modules = [RailNavigationComponent, RailNavigationItemComponent];\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RailNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-rail-navigation.mjs","sources":["../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item/rail-navigation-item.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/components/rail-navigation-item/rail-navigation-item.component.html","../../../../libs/angular/components/rail-navigation/src/lib/models/rail-navigation-variant.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.ts","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.component.html","../../../../libs/angular/components/rail-navigation/src/lib/rail-navigation.module.ts","../../../../libs/angular/components/rail-navigation/src/odx-angular-components-rail-navigation.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RailNavigationItemComponent represents an individual navigation item within a rail navigation system.\n * This component can be used as either a link or a button and integrates with Angular's RouterLinkActive to\n * optionally highlight active navigation items.\n * Has host directives for disabled and tabindex states.\n *\n * @see {WithDisabledState}\n * @see {WithTabIndex}\n */\n@CSSComponent('rail-navigation-item')\n@Component({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[odxRailNavigationItem][iconName], button[odxRailNavigationItem][iconName]',\n templateUrl: './rail-navigation-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [IconComponent],\n hostDirectives: [WithDisabledState, WithTabIndex],\n host: {\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n },\n})\nexport class RailNavigationItemComponent {\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the navigation item is selected. This can be manually set or derived from router state.\n * Uses booleanAttribute transformer for attribute binding.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public isSelected = false;\n\n /**\n * The name of the icon to be displayed. This input is required.\n *\n * @type {string}\n * @required\n */\n @Input({ required: true })\n public iconName!: string;\n\n /**\n * Optional input to specify the icon set from which the icon should be taken.\n *\n * @type {string}\n * @default 'core'\n */\n @Input()\n public iconSet = 'core';\n}\n","<odx-icon [name]=\"iconName\" [iconSet]=\"iconSet\" size=\"large\" />\n<span class=\"odx-rail-navigation-item__container\">\n <ng-content />\n</span>\n","export type RailNavigationVariant = (typeof RailNavigationVariant)[keyof typeof RailNavigationVariant];\n\nexport const RailNavigationVariant = {\n DEFAULT: 'default',\n BAR: 'bar',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item/rail-navigation-item.component';\nimport { RailNavigationVariant } from './models';\n\n/**\n * RailNavigationComponent provides a navigational sidebar that can toggle between open and closed states.\n * It supports different visual variants and can integrate individual navigation items\n * for complex navigation structures.\n */\n@CSSComponent('rail-navigation')\n@Component({\n standalone: true,\n selector: 'odx-rail-navigation',\n templateUrl: 'rail-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [RailNavigationItemComponent],\n host: {\n '[class.is-open]': 'isOpen',\n },\n})\nexport class RailNavigationComponent {\n public readonly element = injectElement();\n\n /**\n * Indicates whether the rail navigation is open. Uses booleanAttribute transformer for attribute binding.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ transform: booleanAttribute })\n public isOpen = true;\n\n /**\n * Specifies the visual variant of the rail navigation.\n *\n * @type {RailNavigationVariant}\n * @default RailNavigationVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant: RailNavigationVariant = RailNavigationVariant.DEFAULT;\n\n /**\n * Emits changes to the `isOpen` state, allowing for external reaction to state changes.\n *\n * @emits {boolean} - The new state of the rail navigation.\n */\n @Output()\n public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Toggles the open state of the rail navigation. Optionally accepts a boolean to force the state to open or closed.\n * Does not perform any action if the variant is set to BAR.\n *\n * @param {boolean | undefined} forceState - Optionally force the toggle to a specific state.\n */\n public toggle(forceState?: boolean): void {\n if (this.variant === RailNavigationVariant.BAR) return;\n this.isOpen = forceState ?? !this.isOpen;\n this.isOpenChange.emit(this.isOpen);\n }\n\n /**\n * Explicitly opens the rail navigation, setting `isOpen` to true.\n */\n public open(): void {\n this.toggle(true);\n }\n\n /**\n * Explicitly closes the rail navigation, setting `isOpen` to false.\n */\n public close(): void {\n this.toggle(false);\n }\n}\n","<nav class=\"odx-rail-navigation__content\">\n <ng-content selector=\"a[odxRailNavigationItem], button[odxRailNavigationItem]\" />\n</nav>\n<button odxRailNavigationItem class=\"odx-rail-navigation__expand\" iconName=\"chevron-right\" (click)=\"toggle()\"></button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RailNavigationItemComponent } from './components/rail-navigation-item/rail-navigation-item.component';\nimport { RailNavigationComponent } from './rail-navigation.component';\n\nconst modules = [RailNavigationComponent, RailNavigationItemComponent];\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RailNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ import * as i1 from '@odx/angular/cdk/expandable';
|
|
|
12
12
|
import { ExpandableItemDirective, ExpandableContainerDirective } from '@odx/angular/cdk/expandable';
|
|
13
13
|
import { ButtonComponent } from '@odx/angular/components/button';
|
|
14
14
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
15
|
-
import * as i2 from '@angular/common';
|
|
16
15
|
|
|
17
16
|
/**
|
|
18
17
|
* RichListItemContentComponent provides a container for rich content within a `RichListItemComponent`.
|
|
@@ -23,7 +22,7 @@ let RichListItemContentComponent = class RichListItemContentComponent {
|
|
|
23
22
|
this.element = injectElement();
|
|
24
23
|
}
|
|
25
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RichListItemContentComponent, isStandalone: true, selector: "odx-rich-list-content", ngImport: i0, template: ` <ng-content
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RichListItemContentComponent, isStandalone: true, selector: "odx-rich-list-content", ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
27
26
|
};
|
|
28
27
|
RichListItemContentComponent = __decorate([
|
|
29
28
|
CSSComponent('rich-list-content')
|
|
@@ -33,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
33
32
|
args: [{
|
|
34
33
|
standalone: true,
|
|
35
34
|
selector: 'odx-rich-list-content',
|
|
36
|
-
template: ` <ng-content
|
|
35
|
+
template: ` <ng-content /> `,
|
|
37
36
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38
37
|
encapsulation: ViewEncapsulation.None,
|
|
39
38
|
}]
|
|
@@ -49,14 +48,14 @@ let RichListItemHeaderComponent = class RichListItemHeaderComponent {
|
|
|
49
48
|
this.element = injectElement();
|
|
50
49
|
}
|
|
51
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RichListItemHeaderComponent, isStandalone: true, selector: "odx-rich-list-header, odx-rich-list-item-header", ngImport: i0, template: "<ng-content select=\"odx-checkbox\"
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RichListItemHeaderComponent, isStandalone: true, selector: "odx-rich-list-header, odx-rich-list-item-header", ngImport: i0, template: "<ng-content select=\"odx-checkbox\" />\n<ng-content select=\"odx-avatar\" />\n<div class=\"odx-rich-list-item-header__title\">\n <ng-content />\n</div>\n<odx-action-group class=\"odx-rich-list-item-header__action-group\">\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n", dependencies: [{ kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
53
52
|
};
|
|
54
53
|
RichListItemHeaderComponent = __decorate([
|
|
55
54
|
CSSComponent('rich-list-item-header')
|
|
56
55
|
], RichListItemHeaderComponent);
|
|
57
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListItemHeaderComponent, decorators: [{
|
|
58
57
|
type: Component,
|
|
59
|
-
args: [{ standalone: true, selector: 'odx-rich-list-header, odx-rich-list-item-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ActionGroupComponent], template: "<ng-content select=\"odx-checkbox\"
|
|
58
|
+
args: [{ standalone: true, selector: 'odx-rich-list-header, odx-rich-list-item-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ActionGroupComponent], template: "<ng-content select=\"odx-checkbox\" />\n<ng-content select=\"odx-avatar\" />\n<div class=\"odx-rich-list-item-header__title\">\n <ng-content />\n</div>\n<odx-action-group class=\"odx-rich-list-item-header__action-group\">\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n" }]
|
|
60
59
|
}] });
|
|
61
60
|
|
|
62
61
|
/**
|
|
@@ -106,7 +105,7 @@ let RichListItemComponent = class RichListItemComponent {
|
|
|
106
105
|
this.expandedChange.emit(this.expandableItem.expanded);
|
|
107
106
|
}
|
|
108
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RichListItemComponent, isStandalone: true, selector: "odx-rich-list-item", outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.is-disabled": "isDisabled", "class.odx-rich-list-item--expanded": "expandableItem.expanded", "class.odx-rich-list-item--empty": "empty", "attr.id": "expandableItem.id" } }, providers: [DisabledController.connect()], queries: [{ propertyName: "content", first: true, predicate: RichListItemContentComponent, descendants: true }], hostDirectives: [{ directive: i1.ExpandableItemDirective, inputs: ["expanded", "expanded", "id", "id"] }], ngImport: i0, template: "<div class=\"odx-rich-list-item__header\" [attr.id]=\"titleId\" [attr.aria-expanded]=\"expandableItem.expanded\" [attr.aria-controls]=\"slotId\">\n <ng-content select=\"odx-rich-list-item-header\" />\n <odx-action-group class=\"odx-rich-list-item__expand-button\">\n <button odxButton (click)=\"toggle()\"><odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-down\" iconSet=\"core\" /></button>\n </odx-action-group>\n</div>\n@if (expandableItem.expanded) {\n <div class=\"odx-rich-list-item__slot\" @expandSlotAnimation (@expandSlotAnimation.done)=\"onAnimationEnd()\" [attr.aria-labelledby]=\"titleId\" [attr.id]=\"slotId\">\n <ng-content select=\"odx-rich-list-content\" />\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
110
109
|
};
|
|
111
110
|
RichListItemComponent = __decorate([
|
|
112
111
|
CSSComponent('rich-list-item')
|
|
@@ -118,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
118
117
|
'[class.odx-rich-list-item--expanded]': 'expandableItem.expanded',
|
|
119
118
|
'[class.odx-rich-list-item--empty]': 'empty',
|
|
120
119
|
'[attr.id]': 'expandableItem.id',
|
|
121
|
-
}, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div class=\"odx-rich-list-item__header\" [attr.id]=\"titleId\" [attr.aria-expanded]=\"expandableItem.expanded\" [attr.aria-controls]=\"slotId\">\n <ng-content select=\"odx-rich-list-item-header\"
|
|
120
|
+
}, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div class=\"odx-rich-list-item__header\" [attr.id]=\"titleId\" [attr.aria-expanded]=\"expandableItem.expanded\" [attr.aria-controls]=\"slotId\">\n <ng-content select=\"odx-rich-list-item-header\" />\n <odx-action-group class=\"odx-rich-list-item__expand-button\">\n <button odxButton (click)=\"toggle()\"><odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-down\" iconSet=\"core\" /></button>\n </odx-action-group>\n</div>\n@if (expandableItem.expanded) {\n <div class=\"odx-rich-list-item__slot\" @expandSlotAnimation (@expandSlotAnimation.done)=\"onAnimationEnd()\" [attr.aria-labelledby]=\"titleId\" [attr.id]=\"slotId\">\n <ng-content select=\"odx-rich-list-content\" />\n </div>\n}\n" }]
|
|
122
121
|
}], propDecorators: { content: [{
|
|
123
122
|
type: ContentChild,
|
|
124
123
|
args: [RichListItemContentComponent]
|
|
@@ -146,7 +145,7 @@ let RichListComponent = class RichListComponent {
|
|
|
146
145
|
this.condensed = false;
|
|
147
146
|
}
|
|
148
147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RichListComponent, isStandalone: true, selector: "odx-rich-list", inputs: { condensed: ["condensed", "condensed", booleanAttribute] }, hostDirectives: [{ directive: i1.ExpandableContainerDirective, inputs: ["multiple", "multiple"] }], ngImport: i0, template: "<ng-content select=\"odx-rich-list-item\"
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: RichListComponent, isStandalone: true, selector: "odx-rich-list", inputs: { condensed: ["condensed", "condensed", booleanAttribute] }, hostDirectives: [{ directive: i1.ExpandableContainerDirective, inputs: ["multiple", "multiple"] }], ngImport: i0, template: "<ng-content select=\"odx-rich-list-item\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
150
149
|
};
|
|
151
150
|
__decorate([
|
|
152
151
|
CSSModifier(),
|
|
@@ -157,7 +156,7 @@ RichListComponent = __decorate([
|
|
|
157
156
|
], RichListComponent);
|
|
158
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RichListComponent, decorators: [{
|
|
159
158
|
type: Component,
|
|
160
|
-
args: [{ selector: 'odx-rich-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }], template: "<ng-content select=\"odx-rich-list-item\"
|
|
159
|
+
args: [{ selector: 'odx-rich-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }], template: "<ng-content select=\"odx-rich-list-item\" />\n" }]
|
|
161
160
|
}], propDecorators: { condensed: [{
|
|
162
161
|
type: Input,
|
|
163
162
|
args: [{ transform: booleanAttribute }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-rich-list.mjs","sources":["../../../../libs/angular/components/rich-list/src/lib/components/rich-list-content/rich-list-content.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item-header/rich-list-item-header.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item-header/rich-list-item-header.component.html","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.html","../../../../libs/angular/components/rich-list/src/lib/rich-list.component.ts","../../../../libs/angular/components/rich-list/src/lib/rich-list.component.html","../../../../libs/angular/components/rich-list/src/lib/rich-list.module.ts","../../../../libs/angular/components/rich-list/src/odx-angular-components-rich-list.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RichListItemContentComponent provides a container for rich content within a `RichListItemComponent`.\n * It is used to wrap content that should be styled according to the rich list design.\n */\n@CSSComponent('rich-list-content')\n@Component({\n standalone: true,\n selector: 'odx-rich-list-content',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichListItemContentComponent {\n public readonly element = injectElement();\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n// TODO: rename component class name and file names to match the component name\n/**\n * RichListItemHeaderComponent provides a container for header content within a `RichListItemComponent`.\n * It is used to wrap content that should be styled according to the rich list design.\n */\n@CSSComponent('rich-list-item-header')\n@Component({\n standalone: true,\n selector: 'odx-rich-list-header, odx-rich-list-item-header',\n templateUrl: 'rich-list-item-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ActionGroupComponent],\n})\nexport class RichListItemHeaderComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-checkbox\"></ng-content>\n<ng-content select=\"odx-avatar\"></ng-content>\n<div class=\"odx-rich-list-item-header__title\">\n <ng-content></ng-content>\n</div>\n<odx-action-group class=\"odx-rich-list-item-header__action-group\">\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\"></ng-content>\n</odx-action-group>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { RichListItemContentComponent } from '../rich-list-content/rich-list-content.component';\n\n/**\n * RichListItemComponent is a list item component that displays rich content and supports expandable functionality.\n * It can be used in conjunction with the `RichListComponent` to create a list of items with rich content.\n * The component can be expanded to show additional content or details, providing a dynamic user experience.\n * It also supports a disabled state, which prevents user interaction with the item.\n * Has host directive ExpandableItemDirective with inputs `expanded` and `id`.\n *\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('rich-list-item')\n@Component({\n selector: 'odx-rich-list-item',\n templateUrl: './rich-list-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, CoreModule, ActionGroupComponent, IconComponent, ButtonComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[class.odx-rich-list-item--expanded]': 'expandableItem.expanded',\n '[class.odx-rich-list-item--empty]': 'empty',\n '[attr.id]': 'expandableItem.id',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class RichListItemComponent {\n private readonly disabledController = DisabledController.inject();\n\n @ContentChild(RichListItemContentComponent)\n private readonly content?: RichListItemContentComponent;\n\n public readonly expandableItem = inject(ExpandableItemDirective, { self: true });\n public readonly element = injectElement();\n\n /**\n * Emits an event whenever the expanded state of the `RichListItemComponent` changes.\n *\n * @emits {boolean} The new expanded state of the component.\n */\n @Output()\n public expandedChange: EventEmitter<boolean> = new EventEmitter();\n\n /**\n * Toggles the expanded state of the component.\n *\n * This method is a key function of the `RichListItemComponent`, enabling dynamic interaction with the component's presentation.\n * When invoked, it switches this item current state. If the item is currently expanded (showing additional content or details),\n * calling `toggle` will collapse it, hiding these elements from view.\n */\n public toggle(): void {\n this.expandableItem.toggle();\n }\n\n protected get titleId(): string {\n return `${this.expandableItem.id}-title`;\n }\n\n protected get slotId(): string {\n return `${this.expandableItem.id}-slot`;\n }\n\n protected get empty(): boolean {\n return !this.content;\n }\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n protected onAnimationEnd(): void {\n this.expandedChange.emit(this.expandableItem.expanded);\n }\n}\n","<div class=\"odx-rich-list-item__header\" [attr.id]=\"titleId\" [attr.aria-expanded]=\"expandableItem.expanded\" [attr.aria-controls]=\"slotId\">\n <ng-content select=\"odx-rich-list-item-header\"></ng-content>\n <odx-action-group class=\"odx-rich-list-item__expand-button\">\n <button odxButton (click)=\"toggle()\">\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n *ngIf=\"expandableItem.expanded\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.id]=\"slotId\"\n>\n <ng-content select=\"odx-rich-list-content\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RichListComponent is designed to display a list with rich content in each item,\n * supporting expandable functionality. It can operate in a condensed mode to save space.\n * Has host directive ExpandableContainerDirective with an input `multiple`.\n *\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('rich-list')\n@Component({\n selector: 'odx-rich-list',\n templateUrl: './rich-list.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class RichListComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the list is displayed in a condensed format.\n * This makes the list more compact by reducing the padding and margins.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public condensed = false;\n}\n","<ng-content select=\"odx-rich-list-item\"></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RichListItemComponent, RichListItemHeaderComponent } from './components';\nimport { RichListItemContentComponent } from './components/rich-list-content/rich-list-content.component';\nimport { RichListComponent } from './rich-list.component';\n\nconst modules = [RichListComponent, RichListItemComponent, RichListItemHeaderComponent, RichListItemContentComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RichListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-rich-list.mjs","sources":["../../../../libs/angular/components/rich-list/src/lib/components/rich-list-content/rich-list-content.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item-header/rich-list-item-header.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item-header/rich-list-item-header.component.html","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.html","../../../../libs/angular/components/rich-list/src/lib/rich-list.component.ts","../../../../libs/angular/components/rich-list/src/lib/rich-list.component.html","../../../../libs/angular/components/rich-list/src/lib/rich-list.module.ts","../../../../libs/angular/components/rich-list/src/odx-angular-components-rich-list.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RichListItemContentComponent provides a container for rich content within a `RichListItemComponent`.\n * It is used to wrap content that should be styled according to the rich list design.\n */\n@CSSComponent('rich-list-content')\n@Component({\n standalone: true,\n selector: 'odx-rich-list-content',\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichListItemContentComponent {\n public readonly element = injectElement();\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n// TODO: rename component class name and file names to match the component name\n/**\n * RichListItemHeaderComponent provides a container for header content within a `RichListItemComponent`.\n * It is used to wrap content that should be styled according to the rich list design.\n */\n@CSSComponent('rich-list-item-header')\n@Component({\n standalone: true,\n selector: 'odx-rich-list-header, odx-rich-list-item-header',\n templateUrl: 'rich-list-item-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ActionGroupComponent],\n})\nexport class RichListItemHeaderComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-checkbox\" />\n<ng-content select=\"odx-avatar\" />\n<div class=\"odx-rich-list-item-header__title\">\n <ng-content />\n</div>\n<odx-action-group class=\"odx-rich-list-item-header__action-group\">\n <ng-content select=\"[odxButton]\" ngProjectAs=\"[odxButton]\" />\n</odx-action-group>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { RichListItemContentComponent } from '../rich-list-content/rich-list-content.component';\n\n/**\n * RichListItemComponent is a list item component that displays rich content and supports expandable functionality.\n * It can be used in conjunction with the `RichListComponent` to create a list of items with rich content.\n * The component can be expanded to show additional content or details, providing a dynamic user experience.\n * It also supports a disabled state, which prevents user interaction with the item.\n * Has host directive ExpandableItemDirective with inputs `expanded` and `id`.\n *\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('rich-list-item')\n@Component({\n selector: 'odx-rich-list-item',\n templateUrl: './rich-list-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, CoreModule, ActionGroupComponent, IconComponent, ButtonComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[class.odx-rich-list-item--expanded]': 'expandableItem.expanded',\n '[class.odx-rich-list-item--empty]': 'empty',\n '[attr.id]': 'expandableItem.id',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class RichListItemComponent {\n private readonly disabledController = DisabledController.inject();\n\n @ContentChild(RichListItemContentComponent)\n private readonly content?: RichListItemContentComponent;\n\n public readonly expandableItem = inject(ExpandableItemDirective, { self: true });\n public readonly element = injectElement();\n\n /**\n * Emits an event whenever the expanded state of the `RichListItemComponent` changes.\n *\n * @emits {boolean} The new expanded state of the component.\n */\n @Output()\n public expandedChange: EventEmitter<boolean> = new EventEmitter();\n\n /**\n * Toggles the expanded state of the component.\n *\n * This method is a key function of the `RichListItemComponent`, enabling dynamic interaction with the component's presentation.\n * When invoked, it switches this item current state. If the item is currently expanded (showing additional content or details),\n * calling `toggle` will collapse it, hiding these elements from view.\n */\n public toggle(): void {\n this.expandableItem.toggle();\n }\n\n protected get titleId(): string {\n return `${this.expandableItem.id}-title`;\n }\n\n protected get slotId(): string {\n return `${this.expandableItem.id}-slot`;\n }\n\n protected get empty(): boolean {\n return !this.content;\n }\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n protected onAnimationEnd(): void {\n this.expandedChange.emit(this.expandableItem.expanded);\n }\n}\n","<div class=\"odx-rich-list-item__header\" [attr.id]=\"titleId\" [attr.aria-expanded]=\"expandableItem.expanded\" [attr.aria-controls]=\"slotId\">\n <ng-content select=\"odx-rich-list-item-header\" />\n <odx-action-group class=\"odx-rich-list-item__expand-button\">\n <button odxButton (click)=\"toggle()\"><odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-down\" iconSet=\"core\" /></button>\n </odx-action-group>\n</div>\n@if (expandableItem.expanded) {\n <div class=\"odx-rich-list-item__slot\" @expandSlotAnimation (@expandSlotAnimation.done)=\"onAnimationEnd()\" [attr.aria-labelledby]=\"titleId\" [attr.id]=\"slotId\">\n <ng-content select=\"odx-rich-list-content\" />\n </div>\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * RichListComponent is designed to display a list with rich content in each item,\n * supporting expandable functionality. It can operate in a condensed mode to save space.\n * Has host directive ExpandableContainerDirective with an input `multiple`.\n *\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('rich-list')\n@Component({\n selector: 'odx-rich-list',\n templateUrl: './rich-list.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class RichListComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the list is displayed in a condensed format.\n * This makes the list more compact by reducing the padding and margins.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public condensed = false;\n}\n","<ng-content select=\"odx-rich-list-item\" />\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RichListItemComponent, RichListItemHeaderComponent } from './components';\nimport { RichListItemContentComponent } from './components/rich-list-content/rich-list-content.component';\nimport { RichListComponent } from './rich-list.component';\n\nconst modules = [RichListComponent, RichListItemComponent, RichListItemHeaderComponent, RichListItemContentComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RichListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,13 +27,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
27
27
|
*/
|
|
28
28
|
class SearchBarComponent {
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchBarComponent, isStandalone: true, selector: "odx-search-bar", host: { properties: { "class.odx-search-bar": "true" } }, ngImport: i0, template: "<div class=\"odx-search-bar__prefix\"
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchBarComponent, isStandalone: true, selector: "odx-search-bar", host: { properties: { "class.odx-search-bar": "true" } }, ngImport: i0, template: "<div class=\"odx-search-bar__prefix\"><odx-icon name=\"search\" /></div>\n<ng-content select=\"input[odxSearchBarControl]\" />\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }] }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'odx-search-bar', standalone: true, imports: [IconComponent], host: {
|
|
35
35
|
'[class.odx-search-bar]': 'true',
|
|
36
|
-
}, template: "<div class=\"odx-search-bar__prefix\"
|
|
36
|
+
}, template: "<div class=\"odx-search-bar__prefix\"><odx-icon name=\"search\" /></div>\n<ng-content select=\"input[odxSearchBarControl]\" />\n" }]
|
|
37
37
|
}] });
|
|
38
38
|
|
|
39
39
|
const modules = [SearchBarControlDirective, SearchBarComponent];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-search-bar.mjs","sources":["../../../../libs/angular/components/search-bar/src/lib/search-bar-control.directive.ts","../../../../libs/angular/components/search-bar/src/lib/search-bar.component.ts","../../../../libs/angular/components/search-bar/src/lib/search-bar.component.html","../../../../libs/angular/components/search-bar/src/lib/search-bar.module.ts","../../../../libs/angular/components/search-bar/src/odx-angular-components-search-bar.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Directive for search bar component input.\n */\n@Directive({\n selector: 'input[odxSearchBarControl]',\n standalone: true,\n host: {\n '[class.odx-search-bar__input]': 'true',\n '[attr.type]': '\"search\"',\n },\n})\nexport class SearchBarControlDirective {}\n","import { Component } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\n\n/**\n * Component for displaying the search input.\n */\n@Component({\n selector: 'odx-search-bar',\n templateUrl: './search-bar.component.html',\n standalone: true,\n imports: [IconComponent],\n host: {\n '[class.odx-search-bar]': 'true',\n },\n})\nexport class SearchBarComponent {}\n","<div class=\"odx-search-bar__prefix\"
|
|
1
|
+
{"version":3,"file":"odx-angular-components-search-bar.mjs","sources":["../../../../libs/angular/components/search-bar/src/lib/search-bar-control.directive.ts","../../../../libs/angular/components/search-bar/src/lib/search-bar.component.ts","../../../../libs/angular/components/search-bar/src/lib/search-bar.component.html","../../../../libs/angular/components/search-bar/src/lib/search-bar.module.ts","../../../../libs/angular/components/search-bar/src/odx-angular-components-search-bar.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Directive for search bar component input.\n */\n@Directive({\n selector: 'input[odxSearchBarControl]',\n standalone: true,\n host: {\n '[class.odx-search-bar__input]': 'true',\n '[attr.type]': '\"search\"',\n },\n})\nexport class SearchBarControlDirective {}\n","import { Component } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\n\n/**\n * Component for displaying the search input.\n */\n@Component({\n selector: 'odx-search-bar',\n templateUrl: './search-bar.component.html',\n standalone: true,\n imports: [IconComponent],\n host: {\n '[class.odx-search-bar]': 'true',\n },\n})\nexport class SearchBarComponent {}\n","<div class=\"odx-search-bar__prefix\"><odx-icon name=\"search\" /></div>\n<ng-content select=\"input[odxSearchBarControl]\" />\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { SearchBarControlDirective } from './search-bar-control.directive';\nimport { SearchBarComponent } from './search-bar.component';\n\nconst modules = [SearchBarControlDirective, SearchBarComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SearchBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAEA;;AAEG;MASU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,WAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,+BAA+B,EAAE,MAAM;AACvC,wBAAA,aAAa,EAAE,UAAU;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACTD;;AAEG;MAUU,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf/B,kIAEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDQY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKZ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAEd,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,CAAC,EAClB,IAAA,EAAA;AACJ,wBAAA,wBAAwB,EAAE,MAAM;AACjC,qBAAA,EAAA,QAAA,EAAA,kIAAA,EAAA,CAAA;;;AERH,MAAM,OAAO,GAAG,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC;MAMnD,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAf,eAAe,EAAA,OAAA,EAAA,CANX,yBAAyB,EAAE,kBAAkB,aAIlD,UAAU,EAJL,yBAAyB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAMjD,eAAe,EAAA,OAAA,EAAA,CANgB,kBAAkB,EAIlD,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|