@koobiq/components 18.36.0 → 18.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete.scss +2 -17
- package/breadcrumbs/breadcrumbs.d.ts +2 -1
- package/breadcrumbs/breadcrumbs.scss +4 -4
- package/button/button.component.d.ts +1 -0
- package/button-toggle/button-toggle.scss +0 -2
- package/content-panel/content-panel.d.ts +1 -1
- package/content-panel/index.d.ts +0 -1
- package/core/common-behaviors/hover.d.ts +15 -0
- package/core/common-behaviors/index.d.ts +1 -1
- package/core/locales/formatters.d.ts +0 -72
- package/core/locales/index.d.ts +0 -2
- package/core/locales/locale-service.d.ts +0 -392
- package/core/option/option.d.ts +3 -2
- package/core/select/common.d.ts +3 -1
- package/core/styles/common/_select.scss +20 -0
- package/core/styles/typography/_typography.scss +23 -82
- package/datepicker/datepicker-module.d.ts +2 -1
- package/dropdown/dropdown-item.scss +8 -7
- package/dropdown/dropdown.scss +5 -14
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
- package/esm2022/breadcrumbs/breadcrumbs.mjs +46 -37
- package/esm2022/button/button.component.mjs +6 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/code-block/code-block-highlight.mjs +6 -1
- package/esm2022/content-panel/content-panel.mjs +2 -2
- package/esm2022/content-panel/index.mjs +1 -2
- package/esm2022/core/common-behaviors/color.mjs +2 -1
- package/esm2022/core/common-behaviors/common-module.mjs +2 -1
- package/esm2022/core/common-behaviors/disabled.mjs +2 -1
- package/esm2022/core/common-behaviors/error-state.mjs +2 -1
- package/esm2022/core/common-behaviors/hover.mjs +34 -0
- package/esm2022/core/common-behaviors/index.mjs +2 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
- package/esm2022/core/form-field/field-sizing-content.mjs +5 -2
- package/esm2022/core/formatters/number/formatter.mjs +2 -2
- package/esm2022/core/locales/es-LA.mjs +10 -10
- package/esm2022/core/locales/formatters.mjs +1 -73
- package/esm2022/core/locales/index.mjs +1 -3
- package/esm2022/core/locales/locale-service.mjs +2 -8
- package/esm2022/core/locales/pt-BR.mjs +19 -19
- package/esm2022/core/locales/tk-TM.mjs +24 -24
- package/esm2022/core/option/option.mjs +10 -6
- package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -1
- package/esm2022/core/select/common.mjs +10 -4
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -4
- package/esm2022/datepicker/datepicker-module.mjs +7 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +5 -2
- package/esm2022/file-upload/file-drop.mjs +5 -3
- package/esm2022/file-upload/multiple-file-upload.component.mjs +9 -13
- package/esm2022/file-upload/single-file-upload.component.mjs +9 -4
- package/esm2022/filter-bar/filter-bar.mjs +6 -2
- package/esm2022/filter-bar/filter-search.mjs +3 -3
- package/esm2022/filter-bar/filters.mjs +10 -5
- package/esm2022/filter-bar/pipe-add.mjs +3 -2
- package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -3
- package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +5 -4
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-title.mjs +24 -19
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
- package/esm2022/form-field/fieldset.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/stepper.mjs +41 -10
- package/esm2022/inline-edit/inline-edit.mjs +9 -5
- package/esm2022/input/input-number.mjs +7 -6
- package/esm2022/input/input.module.mjs +7 -4
- package/esm2022/list/list-selection.component.mjs +31 -15
- package/esm2022/markdown/markdown.component.mjs +7 -7
- package/esm2022/modal/modal-util.mjs +7 -3
- package/esm2022/modal/modal.component.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -1
- package/esm2022/navbar/navbar-item.component.mjs +5 -7
- package/esm2022/navbar/navbar.component.mjs +8 -4
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/navbar-ic/navbar-ic-header.mjs +20 -4
- package/esm2022/navbar-ic/navbar-ic-item.mjs +7 -8
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
- package/esm2022/navbar-ic/navbar-ic.mjs +33 -9
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +17 -4
- package/esm2022/resizer/index.mjs +3 -0
- package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
- package/esm2022/resizer/module.mjs +17 -0
- package/esm2022/resizer/resizer.mjs +135 -0
- package/esm2022/scrollbar/scrollbar.directive.mjs +4 -3
- package/esm2022/search-expandable/search-expandable.mjs +5 -5
- package/esm2022/select/select.component.mjs +2 -14
- package/esm2022/select/select.module.mjs +8 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
- package/esm2022/split-button/split-button.mjs +47 -6
- package/esm2022/tags/tag-input.mjs +24 -28
- package/esm2022/tags/tag-list.component.mjs +76 -87
- package/esm2022/tags/tag.component.mjs +29 -34
- package/esm2022/textarea/textarea.module.mjs +5 -4
- package/esm2022/time-range/constants.mjs +22 -1
- package/esm2022/time-range/time-range-editor.mjs +11 -6
- package/esm2022/time-range/time-range-title-as-form-field.mjs +2 -1
- package/esm2022/time-range/time-range.mjs +8 -3
- package/esm2022/time-range/time-range.service.mjs +43 -106
- package/esm2022/time-range/types.mjs +1 -1
- package/esm2022/timepicker/timepicker.module.mjs +5 -4
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone.module.mjs +6 -4
- package/esm2022/title/title.directive.mjs +6 -2
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/esm2022/top-bar/top-bar.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +7 -6
- package/esm2022/tree/tree-selection.component.mjs +23 -13
- package/esm2022/tree-select/tree-select.component.mjs +97 -79
- package/esm2022/tree-select/tree-select.module.mjs +7 -4
- package/fesm2022/koobiq-components-autocomplete.mjs +3 -3
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +45 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +5 -3
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +5 -0
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +3 -137
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +90 -478
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +8 -5
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +4 -4
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +4 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +19 -17
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +64 -41
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +44 -17
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +8 -4
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +12 -9
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +30 -14
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +6 -6
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -4
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +70 -26
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +13 -11
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +18 -5
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +156 -0
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +3 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +4 -4
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +8 -17
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +46 -5
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +125 -146
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +4 -4
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +81 -112
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +4 -4
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +7 -5
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +5 -1
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +2 -2
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +102 -82
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +28 -17
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +32 -34
- package/file-upload/file-upload-tokens.scss +1 -2
- package/file-upload/file-upload.scss +4 -7
- package/file-upload/multiple-file-upload.component.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.scss +12 -14
- package/file-upload/single-file-upload.component.d.ts +1 -0
- package/file-upload/single-file-upload.component.scss +5 -7
- package/filter-bar/filter-bar.d.ts +3 -1
- package/filter-bar/filter-search.scss +1 -3
- package/filter-bar/filters.d.ts +1 -0
- package/filter-bar/pipes/base-pipe.d.ts +5 -1
- package/filter-bar/pipes/pipe-date.scss +4 -2
- package/filter-bar/pipes/pipe-title.d.ts +2 -0
- package/form-field/fieldset-tokens.scss +2 -1
- package/form-field/form-field-tokens.scss +2 -2
- package/form-field/form-field.scss +9 -1
- package/form-field/stepper.d.ts +28 -6
- package/inline-edit/inline-edit.d.ts +5 -1
- package/input/input.module.d.ts +2 -1
- package/list/list-selection.component.d.ts +12 -1
- package/markdown/_markdown-theme.scss +0 -1
- package/markdown/markdown.scss +2 -4
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal-util.d.ts +5 -2
- package/modal/modal.scss +3 -4
- package/navbar/_navbar-item_vertical.scss +10 -0
- package/navbar/navbar-brand.scss +5 -2
- package/navbar/vertical-navbar.scss +1 -0
- package/navbar-ic/navbar-ic-header.d.ts +3 -2
- package/navbar-ic/navbar-ic-header.scss +0 -4
- package/navbar-ic/navbar-ic-item.d.ts +1 -0
- package/navbar-ic/navbar-ic-item.scss +0 -4
- package/navbar-ic/navbar-ic.animation.d.ts +1 -0
- package/navbar-ic/navbar-ic.d.ts +7 -0
- package/package.json +16 -10
- package/popover/popover-tokens.scss +1 -0
- package/popover/popover.component.d.ts +5 -1
- package/popover/popover.scss +3 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/resizer/index.d.ts +2 -0
- package/resizer/module.d.ts +7 -0
- package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
- package/schematics/collection.json +5 -0
- package/schematics/migrations/icons-replacement/README.md +93 -0
- package/schematics/migrations/icons-replacement/data.js +92 -0
- package/schematics/migrations/icons-replacement/index.js +84 -0
- package/schematics/migrations/icons-replacement/schema.json +32 -0
- package/schematics/ng-add/index.js +6 -6
- package/scrollbar/scrollbar.component.scss +2 -3
- package/select/select.module.d.ts +2 -1
- package/select/select.scss +1 -17
- package/sidepanel/sidepanel-tokens.scss +2 -0
- package/sidepanel/sidepanel.scss +2 -0
- package/split-button/_split-button-theme.scss +89 -34
- package/split-button/split-button.d.ts +11 -5
- package/split-button/split-button.scss +40 -51
- package/tags/tag-input.d.ts +16 -7
- package/tags/tag-list.component.d.ts +44 -21
- package/tags/tag-list.scss +13 -14
- package/tags/tag.component.d.ts +20 -15
- package/textarea/textarea-tokens.scss +6 -1
- package/textarea/textarea.module.d.ts +2 -1
- package/textarea/textarea.scss +4 -0
- package/time-range/constants.d.ts +12 -1
- package/time-range/time-range-editor.d.ts +7 -9
- package/time-range/time-range-title-as-form-field.d.ts +1 -0
- package/time-range/time-range.d.ts +5 -2
- package/time-range/time-range.service.d.ts +7 -11
- package/time-range/types.d.ts +37 -11
- package/timepicker/timepicker.module.d.ts +2 -1
- package/timezone/timezone-option.component.scss +6 -0
- package/timezone/timezone.module.d.ts +1 -1
- package/toggle/_toggle-theme.scss +8 -5
- package/toggle/toggle-tokens.scss +0 -1
- package/toggle/toggle.scss +11 -15
- package/top-bar/top-bar-tokens.scss +1 -1
- package/top-bar/top-bar.scss +3 -0
- package/tree/tree-option.component.d.ts +1 -0
- package/tree/tree-selection.component.d.ts +11 -2
- package/tree-select/tree-select.component.d.ts +5 -5
- package/tree-select/tree-select.module.d.ts +2 -1
- package/tree-select/tree-select.scss +4 -0
- package/core/common-behaviors/hovered.d.ts +0 -13
- package/core/locales/fa-IR.d.ts +0 -162
- package/core/locales/zh-CN.d.ts +0 -162
- package/esm2022/content-panel/resizable.mjs +0 -138
- package/esm2022/core/common-behaviors/hovered.mjs +0 -31
- package/esm2022/core/locales/fa-IR.mjs +0 -173
- package/esm2022/core/locales/zh-CN.mjs +0 -161
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-content-panel.mjs","sources":["../../../packages/components/content-panel/resizable.ts","../../../packages/components/content-panel/content-panel.ts","../../../packages/components/content-panel/module.ts","../../../packages/components/content-panel/koobiq-components-content-panel.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport {\n afterNextRender,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n output\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\n\n/**\n * @docs-private\n *\n * Array of two numbers [x, y], where:\n * - x: horizontal direction (left: -1, unchanged: 0, right: 1)\n * - y: vertical direction (up: -1, unchanged: 0, down: 1)\n */\nexport type KbqResizerDirection = [x: -1 | 0 | 1, y: -1 | 0 | 1];\n\n/*\n * @docs-private\n */\nexport type KbqResizerSizeChangeEvent = {\n width: number;\n height: number;\n};\n\n/**\n * @docs-private\n *\n * Directive (container) sets whether the element is resizable.\n *\n * @example\n *\n * ```html\n * <div kbqResizable>\n * <div [kbqResizer]=\"[1, 0]\"></div>\n * </div>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[kbqResizable]',\n exportAs: 'kbqResizable',\n host: {\n class: 'kbq-resizable'\n }\n})\nexport class KbqResizable {\n /**\n * @docs-private\n */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n\n/**\n * @docs-private\n *\n * Directive which defines element resizing direction.\n */\n@Directive({\n standalone: true,\n selector: '[kbqResizer]',\n exportAs: 'kbqResizer',\n host: {\n class: 'kbq-resizer',\n '[style.cursor]': 'cursor()'\n }\n})\nexport class KbqResizer {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resizable = inject(KbqResizable);\n private readonly zone = inject(NgZone);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n\n private x = NaN;\n private y = NaN;\n\n private width = 0;\n private height = 0;\n\n /**\n * Direction of element resizing.\n */\n readonly direction = input.required<KbqResizerDirection>({ alias: 'kbqResizer' });\n\n /**\n * Emits the new size of the element after resizing.\n */\n readonly sizeChange = output<KbqResizerSizeChangeEvent>();\n\n /**\n * @docs-private\n */\n protected readonly cursor = computed(() => {\n const [x, y] = this.direction();\n\n if (!x) {\n return 'ns-resize';\n }\n\n if (!y) {\n return 'ew-resize';\n }\n\n if (x * y > 0) {\n return 'nwse-resize';\n }\n\n return 'nesw-resize';\n });\n\n constructor() {\n afterNextRender(() => {\n this.zone.runOutsideAngular(() => {\n fromEvent<PointerEvent>(this.elementRef.nativeElement, 'pointerdown')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleElementPointerDown(event));\n\n fromEvent<PointerEvent>(this.document, 'pointermove')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerMove(event));\n\n fromEvent<PointerEvent>(this.document, 'pointerup')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.handleDocumentPointerUp(event));\n });\n });\n }\n\n private handleElementPointerDown(event: PointerEvent): void {\n event.preventDefault();\n\n this.x = event.x;\n this.y = event.y;\n\n const element = this.resizable.elementRef.nativeElement;\n\n this.width = element.clientWidth;\n this.height = element.clientHeight;\n }\n\n private handleDocumentPointerMove(event: PointerEvent): void {\n if (!event.buttons) return this.handleDocumentPointerUp(event);\n\n this.updateSize(event);\n }\n\n private handleDocumentPointerUp(_event: PointerEvent): void {\n this.x = NaN;\n }\n\n private updateSize({ x, y }: PointerEvent): void {\n if (Number.isNaN(this.x)) return;\n\n const { style } = this.resizable.elementRef.nativeElement;\n\n const [directionX, directionY] = this.direction();\n const width = this.width + directionX * (x - this.x);\n const height = this.height + directionY * (y - this.y);\n\n if (directionX) style.width = `${width}px`;\n if (directionY) style.height = `${height}px`;\n\n this.sizeChange.emit({ width, height });\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport { KbqAnimationCurves, KbqAnimationDurations, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from './resizable';\n\nconst KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION = trigger('contentAnimation', [\n state('false', style({ 'margin-right': 0 })),\n state('true', style({ 'margin-right': '{{ marginRight }}px' }), { params: { marginRight: 0 } }),\n transition('true => false', [animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.AccelerationCurve}`)]),\n transition('false => true', [animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.DecelerationCurve}`)])\n]);\n\nconst KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION = trigger('panelAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate(\n `${KbqAnimationDurations.Entering} ${KbqAnimationCurves.DecelerationCurve}`,\n style({ transform: 'translateX(0%)' })\n )]),\n transition(':leave', [\n animate(\n `${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.AccelerationCurve}`,\n style({ transform: 'translateX(100%)' })\n )])\n\n]);\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-aside',\n exportAs: 'kbqContentPanelAside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n host: {\n class: 'kbq-content-panel-aside'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderTitle]',\n exportAs: 'kbqContentPanelHeaderTitle',\n host: {\n class: 'kbq-content-panel-header-title'\n }\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderActions]',\n exportAs: 'kbqContentPanelHeaderActions',\n host: {\n class: 'kbq-content-panel-header-actions'\n }\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n standalone: true,\n imports: [KbqButtonModule, KbqIconModule],\n selector: 'kbq-content-panel-header',\n host: {\n class: 'kbq-content-panel-header'\n },\n template: `\n <div class=\"kbq-content-panel-header__wrapper\">\n <ng-content select=\"[kbqContentPanelHeaderTitle]\" />\n <div class=\"kbq-content-panel-header__actions\">\n <ng-content select=\"[kbqContentPanelHeaderActions]\" />\n @if (!contentPanelContainer.disableClose()) {\n <button\n class=\"kbq-content-panel-header__close-button\"\n kbq-button\n type=\"button\"\n [color]=\"componentColors.Contrast\"\n [kbqStyle]=\"buttonStyles.Transparent\"\n (click)=\"contentPanelContainer.close()\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n }\n </div>\n </div>\n <ng-content />\n `,\n styleUrl: './content-panel-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n}\n\n@Component({\n standalone: true,\n imports: [KbqScrollbarModule],\n selector: 'kbq-content-panel-body',\n exportAs: 'kbqContentPanelBody',\n host: {\n class: 'kbq-content-panel-body'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-body__content\">\n <ng-content />\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelBody {\n /**\n * @docs-private\n */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-footer',\n host: {\n class: 'kbq-content-panel-footer'\n },\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelFooter {}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel',\n host: {\n class: 'kbq-content-panel'\n },\n template: `\n <ng-content select=\"kbq-content-panel-aside\" />\n <div class=\"kbq-content-panel__content\">\n <ng-content select=\"kbq-content-panel-header\" />\n <ng-content select=\"kbq-content-panel-body\" />\n <ng-content select=\"kbq-content-panel-footer\" />\n </div>\n `,\n styleUrls: [\n './content-panel-tokens.scss',\n './content-panel.scss'\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanel {\n private readonly destroyRef = inject(DestroyRef);\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n constructor() {\n afterNextRender(() => this.handleContentBodyScroll());\n }\n\n private handleContentBodyScroll(): void {\n const contentPanelBody = this.contentPanelBody();\n\n if (!contentPanelBody) return;\n\n contentPanelBody\n .scrollbar()\n .onScroll.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(([instance]) => {\n const { scrollTop, scrollHeight, clientHeight } = instance.elements().scrollOffsetElement;\n\n this.setupContentHeaderShadow(scrollTop >= 1);\n this.setupContentFooterShadow(scrollHeight - (scrollTop + clientHeight) >= 1);\n });\n }\n\n private setupContentHeaderShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_header-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n\n private setupContentFooterShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_footer-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n}\n\n@Component({\n standalone: true,\n imports: [KbqResizable, KbqResizer, KbqScrollbarModule],\n selector: 'kbq-content-panel-container',\n exportAs: 'kbqContentPanelContainer',\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($event)'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-container__content\" [@contentAnimation]=\"contentAnimationState()\">\n <ng-content />\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n @panelAnimation\n [style.min-width.px]=\"minWidth()\"\n [style.width.px]=\"widthState()\"\n [style.max-width.px]=\"maxWidth()\"\n >\n @if (!disableResizer()) {\n <div\n class=\"kbq-content-panel-container__panel-resizer\"\n [kbqResizer]=\"[-1, 0]\"\n (sizeChange)=\"handleResizerSizeChange($event)\"\n (dblclick)=\"handleResizerDBLClick($event)\"\n ></div>\n }\n <ng-content select=\"kbq-content-panel\" />\n </div>\n }\n `,\n styleUrl: './content-panel-container.scss',\n animations: [\n KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION,\n KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanelContainer {\n /**\n * Whether the content panel is opened.\n *\n * @default false\n */\n readonly opened = input(false, { transform: booleanAttribute });\n\n /**\n * Emits event when the content panel opened state is changed.\n */\n readonly openedChange = output<boolean>();\n\n /**\n * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.\n *\n * @default false\n */\n readonly disableClose = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the content panel can not be closed by pressing the ESCAPE key.\n */\n readonly disableCloseByEscape = input(this.disableClose(), { transform: booleanAttribute });\n\n /**\n * Whether the content panel resizer is disabled.\n */\n readonly disableResizer = input(false, { transform: booleanAttribute });\n\n /**\n * Minimum width of the `KbqContentPanel`.\n *\n * @default 480\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`.\n *\n * @default 640\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`.\n *\n * @default 800\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * @docs-private\n */\n protected readonly openedState = signal(this.opened());\n\n /**\n * @docs-private\n */\n protected readonly widthState = signal(this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * @docs-private\n */\n protected readonly contentAnimationState = computed(() => {\n return {\n value: this.openedState(),\n params: { marginRight: this.widthState() + (parseInt(SizeL) || 16) }\n };\n });\n\n constructor() {\n // TODO: Should use linked signal\n toObservable(this.opened)\n .pipe(takeUntilDestroyed())\n .subscribe((opened) => {\n this.openedState.set(opened);\n });\n\n // TODO: Should use linked signal\n toObservable(this.width)\n .pipe(takeUntilDestroyed())\n .subscribe((width) => {\n this.widthState.set(width);\n });\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n this.openedState.update((state) => !state);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n if (this.openedState()) return;\n\n this.openedState.set(true);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n if (!this.openedState()) return;\n\n this.openedState.set(false);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerDBLClick(event: MouseEvent): void {\n event.preventDefault();\n\n this.widthState.set(this.width());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n if (width > this.maxWidth()) return this.widthState.set(this.maxWidth());\n if (width < this.minWidth()) return this.widthState.set(this.minWidth());\n\n this.widthState.set(width);\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n if (!this.openedState() || this.disableClose() || this.disableCloseByEscape()) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n this.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelBody,\n KbqContentPanelContainer,\n KbqContentPanelFooter,\n KbqContentPanelHeader,\n KbqContentPanelHeaderActions,\n KbqContentPanelHeaderTitle\n} from './content-panel';\n\nconst COMPONENTS = [\n KbqContentPanelContainer,\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelHeader,\n KbqContentPanelHeaderTitle,\n KbqContentPanelHeaderActions,\n KbqContentPanelBody,\n KbqContentPanelFooter\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqContentPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-content-panel.mjs","sources":["../../../packages/components/content-panel/content-panel.ts","../../../packages/components/content-panel/module.ts","../../../packages/components/content-panel/koobiq-components-content-panel.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport { KbqAnimationCurves, KbqAnimationDurations, KbqComponentColors } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';\nimport { KbqScrollbar, KbqScrollbarModule } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\n\nconst KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION = trigger('contentAnimation', [\n state('false', style({ 'margin-right': 0 })),\n state('true', style({ 'margin-right': '{{ marginRight }}px' }), { params: { marginRight: 0 } }),\n transition('true => false', [animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.AccelerationCurve}`)]),\n transition('false => true', [animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.DecelerationCurve}`)])\n]);\n\nconst KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION = trigger('panelAnimation', [\n transition(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate(\n `${KbqAnimationDurations.Entering} ${KbqAnimationCurves.DecelerationCurve}`,\n style({ transform: 'translateX(0%)' })\n )]),\n transition(':leave', [\n animate(\n `${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.AccelerationCurve}`,\n style({ transform: 'translateX(100%)' })\n )])\n\n]);\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-aside',\n exportAs: 'kbqContentPanelAside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n host: {\n class: 'kbq-content-panel-aside'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderTitle]',\n exportAs: 'kbqContentPanelHeaderTitle',\n host: {\n class: 'kbq-content-panel-header-title'\n }\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n standalone: true,\n selector: '[kbqContentPanelHeaderActions]',\n exportAs: 'kbqContentPanelHeaderActions',\n host: {\n class: 'kbq-content-panel-header-actions'\n }\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n standalone: true,\n imports: [KbqButtonModule, KbqIconModule],\n selector: 'kbq-content-panel-header',\n host: {\n class: 'kbq-content-panel-header'\n },\n template: `\n <div class=\"kbq-content-panel-header__wrapper\">\n <ng-content select=\"[kbqContentPanelHeaderTitle]\" />\n <div class=\"kbq-content-panel-header__actions\">\n <ng-content select=\"[kbqContentPanelHeaderActions]\" />\n @if (!contentPanelContainer.disableClose()) {\n <button\n class=\"kbq-content-panel-header__close-button\"\n kbq-button\n type=\"button\"\n [color]=\"componentColors.Contrast\"\n [kbqStyle]=\"buttonStyles.Transparent\"\n (click)=\"contentPanelContainer.close()\"\n >\n <i kbq-icon=\"kbq-xmark_16\"></i>\n </button>\n }\n </div>\n </div>\n <ng-content />\n `,\n styleUrl: './content-panel-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n}\n\n@Component({\n standalone: true,\n imports: [KbqScrollbarModule],\n selector: 'kbq-content-panel-body',\n exportAs: 'kbqContentPanelBody',\n host: {\n class: 'kbq-content-panel-body'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-body__content\">\n <ng-content />\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelBody {\n /**\n * @docs-private\n */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel-footer',\n host: {\n class: 'kbq-content-panel-footer'\n },\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqContentPanelFooter {}\n\n@Component({\n standalone: true,\n selector: 'kbq-content-panel',\n host: {\n class: 'kbq-content-panel'\n },\n template: `\n <ng-content select=\"kbq-content-panel-aside\" />\n <div class=\"kbq-content-panel__content\">\n <ng-content select=\"kbq-content-panel-header\" />\n <ng-content select=\"kbq-content-panel-body\" />\n <ng-content select=\"kbq-content-panel-footer\" />\n </div>\n `,\n styleUrls: [\n './content-panel-tokens.scss',\n './content-panel.scss'\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanel {\n private readonly destroyRef = inject(DestroyRef);\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n constructor() {\n afterNextRender(() => this.handleContentBodyScroll());\n }\n\n private handleContentBodyScroll(): void {\n const contentPanelBody = this.contentPanelBody();\n\n if (!contentPanelBody) return;\n\n contentPanelBody\n .scrollbar()\n .onScroll.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(([instance]) => {\n const { scrollTop, scrollHeight, clientHeight } = instance.elements().scrollOffsetElement;\n\n this.setupContentHeaderShadow(scrollTop >= 1);\n this.setupContentFooterShadow(scrollHeight - (scrollTop + clientHeight) >= 1);\n });\n }\n\n private setupContentHeaderShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_header-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n\n private setupContentFooterShadow(shouldShowShadow: boolean): void {\n const className = 'kbq-content-panel_footer-with-shadow';\n\n if (shouldShowShadow) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n }\n }\n}\n\n@Component({\n standalone: true,\n imports: [KbqResizable, KbqResizer, KbqScrollbarModule],\n selector: 'kbq-content-panel-container',\n exportAs: 'kbqContentPanelContainer',\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($event)'\n },\n template: `\n <kbq-scrollbar class=\"kbq-content-panel-container__content\" [@contentAnimation]=\"contentAnimationState()\">\n <ng-content />\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n @panelAnimation\n [style.min-width.px]=\"minWidth()\"\n [style.width.px]=\"widthState()\"\n [style.max-width.px]=\"maxWidth()\"\n >\n @if (!disableResizer()) {\n <div\n class=\"kbq-content-panel-container__panel-resizer\"\n [kbqResizer]=\"[-1, 0]\"\n (sizeChange)=\"handleResizerSizeChange($event)\"\n (dblclick)=\"handleResizerDBLClick($event)\"\n ></div>\n }\n <ng-content select=\"kbq-content-panel\" />\n </div>\n }\n `,\n styleUrl: './content-panel-container.scss',\n animations: [\n KBQ_CONTENT_PANEL_CONTAINER_CONTENT_ANIMATION,\n KBQ_CONTENT_PANEL_CONTAINER_PANEL_ANIMATION\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqContentPanelContainer {\n /**\n * Whether the content panel is opened.\n *\n * @default false\n */\n readonly opened = input(false, { transform: booleanAttribute });\n\n /**\n * Emits event when the content panel opened state is changed.\n */\n readonly openedChange = output<boolean>();\n\n /**\n * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.\n *\n * @default false\n */\n readonly disableClose = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the content panel can not be closed by pressing the ESCAPE key.\n */\n readonly disableCloseByEscape = input(this.disableClose(), { transform: booleanAttribute });\n\n /**\n * Whether the content panel resizer is disabled.\n */\n readonly disableResizer = input(false, { transform: booleanAttribute });\n\n /**\n * Minimum width of the `KbqContentPanel`.\n *\n * @default 480\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`.\n *\n * @default 640\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`.\n *\n * @default 800\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * @docs-private\n */\n protected readonly openedState = signal(this.opened());\n\n /**\n * @docs-private\n */\n protected readonly widthState = signal(this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * @docs-private\n */\n protected readonly contentAnimationState = computed(() => {\n return {\n value: this.openedState(),\n params: { marginRight: this.widthState() + (parseInt(SizeL) || 16) }\n };\n });\n\n constructor() {\n // TODO: Should use linked signal\n toObservable(this.opened)\n .pipe(takeUntilDestroyed())\n .subscribe((opened) => {\n this.openedState.set(opened);\n });\n\n // TODO: Should use linked signal\n toObservable(this.width)\n .pipe(takeUntilDestroyed())\n .subscribe((width) => {\n this.widthState.set(width);\n });\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n this.openedState.update((state) => !state);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n if (this.openedState()) return;\n\n this.openedState.set(true);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n if (!this.openedState()) return;\n\n this.openedState.set(false);\n this.openedChange.emit(this.openedState());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerDBLClick(event: MouseEvent): void {\n event.preventDefault();\n\n this.widthState.set(this.width());\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n if (width > this.maxWidth()) return this.widthState.set(this.maxWidth());\n if (width < this.minWidth()) return this.widthState.set(this.minWidth());\n\n this.widthState.set(width);\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n if (!this.openedState() || this.disableClose() || this.disableCloseByEscape()) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n this.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelBody,\n KbqContentPanelContainer,\n KbqContentPanelFooter,\n KbqContentPanelHeader,\n KbqContentPanelHeaderActions,\n KbqContentPanelHeaderTitle\n} from './content-panel';\n\nconst COMPONENTS = [\n KbqContentPanelContainer,\n KbqContentPanel,\n KbqContentPanelAside,\n KbqContentPanelHeader,\n KbqContentPanelHeaderTitle,\n KbqContentPanelHeaderActions,\n KbqContentPanelBody,\n KbqContentPanelFooter\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqContentPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|