@koobiq/components 21.0.1 → 21.1.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/badge/_badge-theme.scss +31 -0
- package/breadcrumbs/breadcrumbs.scss +5 -1
- package/checkbox/_checkbox-theme.scss +0 -17
- package/checkbox/checkbox-tokens.scss +0 -4
- package/code-block/_code-block-theme.scss +7 -6
- package/code-block/code-block-tokens.scss +8 -4
- package/code-block/code-block.scss +54 -32
- package/content-panel/content-panel-header.scss +2 -3
- package/content-panel/content-panel.scss +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -8
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +63 -379
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +4 -4
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +300 -37
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +151 -60
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +3 -3
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +3 -3
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +17 -8
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +115 -36
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +3 -3
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +90 -27
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -2
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +76 -17
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +1 -1
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +3 -3
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +86 -25
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +4 -4
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +86 -7
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +41 -19
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +49 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +49 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +30 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +1 -1
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +28 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +2 -2
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +71 -16
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +25 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +90 -17
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +27 -7
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +71 -27
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +0 -12
- package/file-upload/file-upload-tokens.scss +0 -1
- package/file-upload/file-upload.scss +0 -1
- package/filter-bar/_filter-bar-theme.scss +7 -8
- package/filter-bar/filter-bar.scss +0 -1
- package/filter-bar/pipes/base-pipe.scss +36 -2
- package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
- package/form-field/_fieldset-theme.scss +2 -7
- package/form-field/_form-field-theme.scss +9 -22
- package/form-field/_hint-theme.scss +20 -0
- package/form-field/fieldset-tokens.scss +0 -1
- package/form-field/fieldset.scss +0 -3
- package/form-field/form-field-tokens.scss +1 -1
- package/form-field/form-field.scss +9 -0
- package/form-field/hint-tokens.scss +3 -0
- package/modal/modal.scss +2 -0
- package/navbar/_navbar-item_vertical.scss +48 -2
- package/navbar/_navbar-theme.scss +11 -3
- package/navbar/navbar-item.scss +17 -0
- package/navbar/navbar-tokens.scss +3 -0
- package/package.json +4 -4
- package/popover/popover.scss +1 -1
- package/radio/_radio-theme.scss +0 -30
- package/radio/radio-tokens.scss +0 -2
- package/schematics/migrations/deprecated-icons/README.md +21 -5
- package/schematics/migrations/deprecated-icons/index.cjs +8 -22
- package/schematics/migrations/deprecated-icons/schema.json +1 -1
- package/schematics/migrations/icons-replacement/README.md +16 -2
- package/schematics/migrations/icons-replacement/index.cjs +18 -16
- package/schematics/migrations/icons-replacement/schema.json +12 -3
- package/schematics/migrations/new-icons-pack/README.md +37 -25
- package/schematics/migrations/new-icons-pack/index.cjs +22 -32
- package/schematics/migrations/new-icons-pack/replacement.json +2 -14
- package/schematics/migrations/new-icons-pack/schema.json +3 -3
- package/schematics/ng-add/index.cjs +4 -4
- package/schematics/utils/custom-data.cjs +64 -0
- package/schematics/utils/icon-migration.cjs +9 -3
- package/schematics/utils/messages.cjs +4 -0
- package/schematics/utils/package-config.cjs +19 -0
- package/select/select.scss +7 -0
- package/tabs/_tabs-common.scss +23 -0
- package/textarea/textarea-tokens.scss +4 -1
- package/toast/toast.component.scss +1 -0
- package/toggle/_toggle-theme.scss +0 -17
- package/tooltip/tooltip.scss +1 -1
- package/top-bar/top-bar-tokens.scss +1 -0
- package/top-bar/top-bar.scss +10 -0
- package/types/koobiq-components-accordion.d.ts +25 -0
- package/types/koobiq-components-button-toggle.d.ts +6 -0
- package/types/koobiq-components-checkbox.d.ts +30 -0
- package/types/koobiq-components-clamped-text.d.ts +16 -3
- package/types/koobiq-components-code-block.d.ts +17 -3
- package/types/koobiq-components-core.d.ts +226 -13
- package/types/koobiq-components-datepicker.d.ts +28 -1
- package/types/koobiq-components-divider.d.ts +28 -10
- package/types/koobiq-components-dropdown.d.ts +19 -0
- package/types/koobiq-components-filter-bar.d.ts +77 -4
- package/types/koobiq-components-flag.d.ts +18 -0
- package/types/koobiq-components-form-field.d.ts +87 -6
- package/types/koobiq-components-icon.d.ts +15 -0
- package/types/koobiq-components-inline-edit.d.ts +8 -1
- package/types/koobiq-components-input.d.ts +22 -3
- package/types/koobiq-components-list.d.ts +6 -0
- package/types/koobiq-components-modal.d.ts +7 -0
- package/types/koobiq-components-navbar.d.ts +71 -7
- package/types/koobiq-components-notification-center.d.ts +13 -0
- package/types/koobiq-components-overflow-items.d.ts +26 -2
- package/types/koobiq-components-popover.d.ts +38 -3
- package/types/koobiq-components-radio.d.ts +30 -0
- package/types/koobiq-components-search-expandable.d.ts +10 -0
- package/types/koobiq-components-select.d.ts +36 -4
- package/types/koobiq-components-sidepanel.d.ts +52 -1
- package/types/koobiq-components-splitter.d.ts +13 -4
- package/types/koobiq-components-tabs.d.ts +4 -0
- package/types/koobiq-components-tags.d.ts +6 -0
- package/types/koobiq-components-textarea.d.ts +9 -2
- package/types/koobiq-components-timepicker.d.ts +15 -0
- package/types/koobiq-components-toggle.d.ts +30 -0
- package/types/koobiq-components-tooltip.d.ts +55 -10
- package/types/koobiq-components-top-bar.d.ts +11 -3
- package/types/koobiq-components-tree-select.d.ts +12 -0
- package/types/koobiq-components-tree.d.ts +37 -2
|
@@ -1 +1 @@
|
|
|
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 {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n linkedSignal,\n numberAttribute,\n OnInit,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport {\n KBQ_A11Y_LOCALE_CONFIGURATION,\n kbqAfterAnimations,\n kbqAnimationsDisabled,\n KbqComponentColors,\n KbqLocaleOverridesDirective,\n KbqOverflowShadowContainer,\n KbqStateSaving\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';\nimport { KbqScrollbar } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'kbq-content-panel-aside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-aside'\n },\n exportAs: 'kbqContentPanelAside'\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderTitle]',\n host: {\n class: 'kbq-content-panel-header-title'\n },\n exportAs: 'kbqContentPanelHeaderTitle'\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderActions]',\n host: {\n class: 'kbq-content-panel-header-actions'\n },\n exportAs: 'kbqContentPanelHeaderActions'\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n selector: 'kbq-content-panel-header',\n imports: [KbqButtonModule, KbqIconModule],\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 [attr.aria-label]=\"a11yLocaleConfiguration().close\"\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 host: {\n class: 'kbq-content-panel-header',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().top ? \"var(--kbq-content-panel-header-overflow-box-shadow)\" : null'\n },\n hostDirectives: [\n { directive: KbqLocaleOverridesDirective, inputs: ['kbqLocaleOverrides: localeOverrides'] }\n ]\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n /** Accessible name for the icon-only close button. */\n protected readonly a11yLocaleConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read(\n 'a11y',\n KBQ_A11Y_LOCALE_CONFIGURATION\n );\n}\n\n@Component({\n selector: 'kbq-content-panel-body',\n imports: [KbqScrollbar, KbqOverflowShadowContainer],\n template: `\n <kbq-scrollbar #overflowContainer=\"kbqOverflowShadowContainer\" kbqOverflowShadowContainer>\n <div class=\"kbq-content-panel-body__content\">\n <ng-content />\n </div>\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-body'\n },\n exportAs: 'kbqContentPanelBody'\n})\nexport class KbqContentPanelBody {\n /** @docs-private */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n /** @docs-private */\n readonly overflowContainer = viewChild.required(KbqOverflowShadowContainer);\n}\n\n@Component({\n selector: 'kbq-content-panel-footer',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-footer',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().bottom ? \"var(--kbq-content-panel-footer-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelFooter {\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n}\n\n@Component({\n selector: 'kbq-content-panel',\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel'\n }\n})\nexport class KbqContentPanel {\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n /**\n * Current body overflow state. Read by the header and footer to render their `box-shadow`.\n *\n * @docs-private\n */\n readonly bodyOverflow = computed(\n () => this.contentPanelBody()?.overflowContainer().overflow() ?? { top: false, bottom: false }\n );\n}\n\n/** How long a resize has to settle before the width is written. */\nconst resizeWriteDebounce = 300;\n\n/** The persisted state of a content panel — whether it was open, and how wide it was dragged. */\nexport interface KbqContentPanelState {\n opened: boolean;\n width: number;\n}\n\n/**\n * Coerces a raw persisted payload into a `KbqContentPanelState`, returning `null` for anything\n * unrecognizable.\n *\n * Web storage is origin-wide and user-writable, so a payload is never trusted — without this, an entry\n * such as `{\"width\": \"wide\"}` would reach the inline `width` style and collapse the panel.\n */\nconst normalizeContentPanelState = (parsed: unknown): KbqContentPanelState | null => {\n if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) return null;\n\n const { opened, width } = parsed as Partial<KbqContentPanelState>;\n\n if (typeof opened !== 'boolean' || typeof width !== 'number' || !Number.isFinite(width)) return null;\n\n return { opened, width };\n};\n\n@Component({\n selector: 'kbq-content-panel-container',\n imports: [KbqResizable, KbqResizer, KbqScrollbar],\n template: `\n <kbq-scrollbar\n class=\"kbq-content-panel-container__scrollbar\"\n [class.kbq-content-panel-container__scrollbar_animating]=\"contentAnimating()\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [style.margin-right.px]=\"contentMargin()\"\n >\n <div class=\"kbq-content-panel-container__content\">\n <ng-content />\n </div>\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n animate.enter=\"kbq-content-panel-container__panel_enter\"\n animate.leave=\"kbq-content-panel-container__panel_leave\"\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n [class.kbq-animations-disabled]=\"animationsDisabled\"\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($any($event))'\n },\n // `useStateSaving` and `stateSavingKey` are the directive's inputs, surfaced on the container.\n hostDirectives: [\n { directive: KbqStateSaving, inputs: ['useStateSaving', 'stateSavingKey'] }\n ],\n exportAs: 'kbqContentPanelContainer'\n})\nexport class KbqContentPanelContainer implements OnInit {\n /**\n * Persistence of the opened state and width, applied as a host directive. `useStateSaving` and\n * `stateSavingKey` are its inputs, surfaced on the container.\n */\n private readonly stateSaving = inject(KbqStateSaving);\n\n /**\n * Whether the content panel is opened. Defaults to `undefined`.\n *\n * Bound through the `opened` attribute. Unset it is `undefined` rather than `false`, which is how the\n * container tells an application that drives the panel from one that leaves it to remember its own\n * state. Read {@link isOpened} for the state itself.\n */\n readonly openedInput = input(undefined, {\n alias: 'opened',\n transform: (value: unknown): boolean | undefined => (value == null ? undefined : booleanAttribute(value))\n });\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 * Defaults to `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`. Defaults to `480`.\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`. Defaults to `640`.\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`. Defaults to `800`.\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * A linked signal rather than a plain one: it follows the input whenever the input changes, and keeps\n * a local write until then — which is what lets a restored state survive the input's initial value.\n *\n * @docs-private\n */\n protected readonly openedState = linkedSignal(() => this.openedInput() ?? false);\n\n /**\n * @docs-private\n */\n protected readonly widthState = linkedSignal(() => this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * The room the content leaves for the opened panel.\n *\n * @docs-private\n */\n protected readonly contentMargin = computed(() =>\n this.openedState() ? this.widthState() + (parseInt(SizeL) || 16) : 0\n );\n\n /**\n * Whether the margin of the content transitions: only while it makes room for the panel opening or\n * closing, so that a resize of the panel moves the content at once.\n *\n * @docs-private\n */\n protected readonly contentAnimating = signal(false);\n\n /** @docs-private */\n protected readonly animationsDisabled = kbqAnimationsDisabled();\n\n private readonly content = viewChild.required(KbqScrollbar, { read: ElementRef });\n private readonly injector = inject(Injector);\n private contentAnimation?: { destroy(): void };\n\n /**\n * Resizing reports on every pointer move, so the width is written once the drag settles rather than\n * on each frame. The store's unchanged-payload skip does not help here — every frame is a new number.\n */\n private readonly resized = new Subject<void>();\n\n constructor() {\n this.resized.pipe(debounceTime(resizeWriteDebounce), takeUntilDestroyed()).subscribe(() => {\n this.saveState();\n });\n\n // The state lives under the new key now, so restore from it.\n this.stateSaving.keyChanges.subscribe(() => this.restoreState());\n\n let opened: boolean | undefined;\n\n effect(() => {\n const previous = opened;\n\n opened = this.openedState();\n\n if (previous !== undefined && previous !== opened) {\n this.animateContent();\n }\n });\n }\n\n ngOnInit(): void {\n this.restoreState();\n }\n\n private animateContent(): void {\n this.contentAnimating.set(true);\n this.contentAnimation?.destroy();\n this.contentAnimation = kbqAfterAnimations(\n () => this.content().nativeElement,\n () => this.contentAnimating.set(false),\n this.injector\n );\n }\n\n /** Reads the persisted state and applies it. Runs while initializing, and again on a key change. */\n private restoreState(): void {\n if (!this.persists) return;\n\n const savedState = this.stateSaving.read(normalizeContentPanelState);\n\n if (!savedState) return;\n\n this.stateSaving.applying(() => {\n // A bound `[opened]` owns the opened state, so only the width is restored there. `[width]` is\n // not ownership in the same way: there is no `widthChange`, so a drag never reaches the\n // application and the input is the starting width rather than the current one.\n if (this.openedInput() === undefined) {\n this.openedState.set(savedState.opened);\n }\n\n this.widthState.set(this.clampWidth(savedState.width));\n });\n }\n\n /**\n * Persists whether the panel is open and how wide it is.\n *\n * Called whenever the panel is opened, closed or resized.\n */\n saveState(): void {\n untracked(() => {\n if (!this.persists) return;\n\n this.stateSaving.write({ opened: this.openedState(), width: this.widthState() });\n });\n }\n\n /**\n * Removes the state persisted for this panel.\n *\n * Persistence itself stays on — the next change is written again. Unset `useStateSaving` to stop it.\n */\n clearSavedState(): void {\n untracked(() => this.stateSaving.clear());\n }\n\n /**\n * Whether state is currently persisted for this panel — restored on init, or written since.\n * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.\n */\n get hasSavedState(): boolean {\n return this.stateSaving.state != null;\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n // Untracked, as `open()`, `close()`, `saveState()` and `clearSavedState()`: called from a consumer's\n // `effect()`, the state read on the way — `opened`, the width, the state saving inputs — would make the\n // effect run again on every open and close.\n untracked(() => this.setOpened(!this.openedState()));\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n untracked(() => {\n if (!this.openedState()) this.setOpened(true);\n });\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n untracked(() => {\n if (this.openedState()) this.setOpened(false);\n });\n }\n\n private setOpened(opened: boolean): void {\n this.openedState.set(opened);\n this.openedChange.emit(opened);\n this.saveState();\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 // Persisted straight away rather than through the debounce: a reset is a single deliberate act,\n // and leaving the dragged width stored would bring it back on the next visit.\n this.saveState();\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n this.widthState.set(this.clampWidth(width));\n\n this.resized.next();\n }\n\n /** Whether this panel reads and writes its state at all. */\n private get persists(): boolean {\n // A panel that is not in the document has no stable key — the default resolver derives one from\n // the path to `<body>` — which is the ordinary state of one projected into an overlay.\n return this.stateSaving.useStateSaving() && !!this.stateSaving.host?.isConnected;\n }\n\n /** Holds a width inside the configured bounds, which can differ from the ones a state was saved under. */\n private clampWidth(width: number): number {\n if (width > this.maxWidth()) return this.maxWidth();\n if (width < this.minWidth()) return this.minWidth();\n\n return width;\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n // A control inside the container consumed the key to close a popup of its own, such as an autocomplete panel.\n if (event.defaultPrevented) return;\n\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 {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n linkedSignal,\n numberAttribute,\n OnInit,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport {\n KBQ_A11Y_LOCALE_CONFIGURATION,\n kbqAfterAnimations,\n kbqAnimationsDisabled,\n KbqComponentColors,\n KbqLocaleOverridesDirective,\n KbqOverflowShadowContainer,\n KbqStateSaving\n} from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqResizable, KbqResizer, KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';\nimport { KbqScrollbar } from '@koobiq/components/scrollbar';\nimport { SizeL } from '@koobiq/design-tokens';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'kbq-content-panel-aside',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-aside.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-aside'\n },\n exportAs: 'kbqContentPanelAside'\n})\nexport class KbqContentPanelAside {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderTitle]',\n host: {\n class: 'kbq-content-panel-header-title'\n },\n exportAs: 'kbqContentPanelHeaderTitle'\n})\nexport class KbqContentPanelHeaderTitle {}\n\n@Directive({\n selector: '[kbqContentPanelHeaderActions]',\n host: {\n class: 'kbq-content-panel-header-actions'\n },\n exportAs: 'kbqContentPanelHeaderActions'\n})\nexport class KbqContentPanelHeaderActions {}\n\n@Component({\n selector: 'kbq-content-panel-header',\n imports: [KbqButtonModule, KbqIconModule],\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 [attr.aria-label]=\"a11yLocaleConfiguration().close\"\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 host: {\n class: 'kbq-content-panel-header',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().top ? \"var(--kbq-content-panel-header-overflow-box-shadow)\" : null'\n },\n hostDirectives: [\n { directive: KbqLocaleOverridesDirective, inputs: ['kbqLocaleOverrides: localeOverrides'] }\n ]\n})\nexport class KbqContentPanelHeader {\n /**\n * @docs-private\n */\n protected readonly contentPanelContainer = inject(KbqContentPanelContainer);\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n\n /**\n * @docs-private\n */\n protected readonly buttonStyles = KbqButtonStyles;\n\n /**\n * @docs-private\n */\n protected readonly componentColors = KbqComponentColors;\n /** Accessible name for the icon-only close button. */\n protected readonly a11yLocaleConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read(\n 'a11y',\n KBQ_A11Y_LOCALE_CONFIGURATION\n );\n}\n\n@Component({\n selector: 'kbq-content-panel-body',\n imports: [KbqScrollbar, KbqOverflowShadowContainer],\n template: `\n <kbq-scrollbar #overflowContainer=\"kbqOverflowShadowContainer\" kbqOverflowShadowContainer>\n <div class=\"kbq-content-panel-body__content\">\n <ng-content />\n </div>\n </kbq-scrollbar>\n `,\n styleUrl: './content-panel-body.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-body'\n },\n exportAs: 'kbqContentPanelBody'\n})\nexport class KbqContentPanelBody {\n /** @docs-private */\n readonly scrollbar = viewChild.required(KbqScrollbar);\n /** @docs-private */\n readonly overflowContainer = viewChild.required(KbqOverflowShadowContainer);\n}\n\n@Component({\n selector: 'kbq-content-panel-footer',\n template: `\n <ng-content />\n `,\n styleUrl: './content-panel-footer.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-footer',\n '[style.box-shadow]':\n 'contentPanel.bodyOverflow().bottom ? \"var(--kbq-content-panel-footer-overflow-box-shadow)\" : null'\n }\n})\nexport class KbqContentPanelFooter {\n /** @docs-private */\n protected readonly contentPanel = inject(KbqContentPanel);\n}\n\n@Component({\n selector: 'kbq-content-panel',\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel'\n }\n})\nexport class KbqContentPanel {\n private readonly contentPanelBody = contentChild(KbqContentPanelBody);\n\n /**\n * Current body overflow state. Read by the header and footer to render their `box-shadow`.\n *\n * @docs-private\n */\n readonly bodyOverflow = computed(\n () => this.contentPanelBody()?.overflowContainer().overflow() ?? { top: false, bottom: false }\n );\n}\n\n/** How long a resize has to settle before the width is written. */\nconst resizeWriteDebounce = 300;\n\n/** The persisted state of a content panel — whether it was open, and how wide it was dragged. */\nexport interface KbqContentPanelState {\n opened: boolean;\n width: number;\n}\n\n/**\n * Coerces a raw persisted payload into a `KbqContentPanelState`, returning `null` for anything\n * unrecognizable.\n *\n * Web storage is origin-wide and user-writable, so a payload is never trusted — without this, an entry\n * such as `{\"width\": \"wide\"}` would reach the inline `width` style and collapse the panel.\n */\nconst normalizeContentPanelState = (parsed: unknown): KbqContentPanelState | null => {\n if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) return null;\n\n const { opened, width } = parsed as Partial<KbqContentPanelState>;\n\n if (typeof opened !== 'boolean' || typeof width !== 'number' || !Number.isFinite(width)) return null;\n\n return { opened, width };\n};\n\n@Component({\n selector: 'kbq-content-panel-container',\n imports: [KbqResizable, KbqResizer, KbqScrollbar],\n template: `\n <kbq-scrollbar\n class=\"kbq-content-panel-container__scrollbar\"\n [class.kbq-content-panel-container__scrollbar_animating]=\"contentAnimating()\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [style.margin-right.px]=\"contentMargin()\"\n >\n <div class=\"kbq-content-panel-container__content\">\n <ng-content />\n </div>\n </kbq-scrollbar>\n @if (openedState()) {\n <div\n animate.enter=\"kbq-content-panel-container__panel_enter\"\n animate.leave=\"kbq-content-panel-container__panel_leave\"\n class=\"kbq-content-panel-container__panel\"\n kbqResizable\n [class.kbq-animations-disabled]=\"animationsDisabled\"\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-content-panel-container',\n '[class.kbq-content-panel-container__opened]': 'openedState()',\n '(keydown.escape)': 'handleEscapeKeydown($any($event))'\n },\n // `useStateSaving` and `stateSavingKey` are the directive's inputs, surfaced on the container.\n hostDirectives: [\n { directive: KbqStateSaving, inputs: ['useStateSaving', 'stateSavingKey'] }\n ],\n exportAs: 'kbqContentPanelContainer'\n})\nexport class KbqContentPanelContainer implements OnInit {\n /**\n * Persistence of the opened state and width, applied as a host directive. `useStateSaving` and\n * `stateSavingKey` are its inputs, surfaced on the container.\n */\n private readonly stateSaving = inject(KbqStateSaving);\n\n /**\n * Whether the content panel is opened. Defaults to `undefined`.\n *\n * Bound through the `opened` attribute. Unset it is `undefined` rather than `false`, which is how the\n * container tells an application that drives the panel from one that leaves it to remember its own\n * state. Read {@link isOpened} for the state itself.\n */\n readonly openedInput = input(undefined, {\n alias: 'opened',\n transform: (value: unknown): boolean | undefined => (value == null ? undefined : booleanAttribute(value))\n });\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 * Defaults to `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`. Defaults to `480`.\n */\n readonly minWidth = input(480, { transform: numberAttribute });\n\n /**\n * Width of the `KbqContentPanel`. Defaults to `640`.\n */\n readonly width = input(640, { transform: numberAttribute });\n\n /**\n * Max width of the `KbqContentPanel`. Defaults to `800`.\n */\n readonly maxWidth = input(800, { transform: numberAttribute });\n\n /**\n * A linked signal rather than a plain one: it follows the input whenever the input changes, and keeps\n * a local write until then — which is what lets a restored state survive the input's initial value.\n *\n * @docs-private\n */\n protected readonly openedState = linkedSignal(() => this.openedInput() ?? false);\n\n /**\n * @docs-private\n */\n protected readonly widthState = linkedSignal(() => this.width());\n\n /**\n * Whether the content panel is opened.\n */\n readonly isOpened = computed(() => this.openedState());\n\n /**\n * The room the content leaves for the opened panel.\n *\n * @docs-private\n */\n protected readonly contentMargin = computed(() =>\n this.openedState() ? this.widthState() + (parseInt(SizeL) || 16) : 0\n );\n\n /**\n * Whether the margin of the content transitions: only while it makes room for the panel opening or\n * closing, so that a resize of the panel moves the content at once.\n *\n * @docs-private\n */\n protected readonly contentAnimating = signal(false);\n\n /** @docs-private */\n protected readonly animationsDisabled = kbqAnimationsDisabled();\n\n private readonly content = viewChild.required(KbqScrollbar, { read: ElementRef });\n private readonly injector = inject(Injector);\n private contentAnimation?: { destroy(): void };\n\n /**\n * Resizing reports on every pointer move, so the width is written once the drag settles rather than\n * on each frame. The store's unchanged-payload skip does not help here — every frame is a new number.\n */\n private readonly resized = new Subject<void>();\n\n constructor() {\n this.resized.pipe(debounceTime(resizeWriteDebounce), takeUntilDestroyed()).subscribe(() => {\n this.saveState();\n });\n\n // The state lives under the new key now, so restore from it.\n this.stateSaving.keyChanges.subscribe(() => this.restoreState());\n\n let opened: boolean | undefined;\n\n effect(() => {\n const previous = opened;\n\n opened = this.openedState();\n\n if (previous !== undefined && previous !== opened) {\n this.animateContent();\n }\n });\n }\n\n ngOnInit(): void {\n this.restoreState();\n }\n\n private animateContent(): void {\n this.contentAnimating.set(true);\n this.contentAnimation?.destroy();\n this.contentAnimation = kbqAfterAnimations(\n () => this.content().nativeElement,\n () => this.contentAnimating.set(false),\n this.injector\n );\n }\n\n /** Reads the persisted state and applies it. Runs while initializing, and again on a key change. */\n private restoreState(): void {\n if (!this.persists) return;\n\n const savedState = this.stateSaving.read(normalizeContentPanelState);\n\n if (!savedState) return;\n\n this.stateSaving.applying(() => {\n // A bound `[opened]` owns the opened state, so only the width is restored there. `[width]` is\n // not ownership in the same way: there is no `widthChange`, so a drag never reaches the\n // application and the input is the starting width rather than the current one.\n if (this.openedInput() === undefined) {\n this.openedState.set(savedState.opened);\n }\n\n this.widthState.set(this.clampWidth(savedState.width));\n });\n }\n\n /**\n * Persists whether the panel is open and how wide it is.\n *\n * Called whenever the panel is opened, closed or resized.\n */\n saveState(): void {\n untracked(() => {\n if (!this.persists) return;\n\n this.stateSaving.write({ opened: this.openedState(), width: this.widthState() });\n });\n }\n\n /**\n * Removes the state persisted for this panel.\n *\n * Persistence itself stays on — the next change is written again. Unset `useStateSaving` to stop it.\n */\n clearSavedState(): void {\n untracked(() => this.stateSaving.clear());\n }\n\n /**\n * Whether state is currently persisted for this panel — restored on init, or written since.\n * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.\n */\n get hasSavedState(): boolean {\n return this.stateSaving.state != null;\n }\n\n /**\n * Toggles the content panel opened state.\n */\n toggle(): void {\n // Untracked, as `open()`, `close()`, `saveState()` and `clearSavedState()`: called from a consumer's\n // `effect()`, the state read on the way — `opened`, the width, the state saving inputs — would make the\n // effect run again on every open and close.\n untracked(() => this.setOpened(!this.openedState()));\n }\n\n /**\n * Opens the content panel.\n */\n open(): void {\n untracked(() => {\n if (!this.openedState()) this.setOpened(true);\n });\n }\n\n /**\n * Closes the content panel.\n */\n close(): void {\n untracked(() => {\n if (this.openedState()) this.setOpened(false);\n });\n }\n\n private setOpened(opened: boolean): void {\n this.openedState.set(opened);\n this.openedChange.emit(opened);\n this.saveState();\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 // Persisted straight away rather than through the debounce: a reset is a single deliberate act,\n // and leaving the dragged width stored would bring it back on the next visit.\n this.saveState();\n }\n\n /**\n * @docs-private\n */\n protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void {\n this.widthState.set(this.clampWidth(width));\n\n this.resized.next();\n }\n\n /** Whether this panel reads and writes its state at all. */\n private get persists(): boolean {\n // A panel that is not in the document has no stable key — the default resolver derives one from\n // the path to `<body>` — which is the ordinary state of one projected into an overlay.\n return this.stateSaving.useStateSaving() && !!this.stateSaving.host?.isConnected;\n }\n\n /** Holds a width inside the configured bounds, which can differ from the ones a state was saved under. */\n private clampWidth(width: number): number {\n if (width > this.maxWidth()) return this.maxWidth();\n if (width < this.minWidth()) return this.minWidth();\n\n return width;\n }\n\n /**\n * @docs-private\n */\n protected handleEscapeKeydown(event: KeyboardEvent): void {\n // A control inside the container consumed the key to close a popup of its own, such as an autocomplete panel.\n if (event.defaultPrevented) return;\n\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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"}
|