@koobiq/components 20.0.0 → 20.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/accordion/accordion-trigger.component.scss +0 -18
- package/accordion/accordion.component.scss +9 -2
- package/actions-panel/index.d.ts +1 -0
- package/alert/_alert-theme.scss +0 -4
- package/alert/alert-tokens.scss +4 -4
- package/app-switcher/app-switcher-dropdown-app.scss +2 -0
- package/breadcrumbs/breadcrumbs.scss +4 -0
- package/breadcrumbs/index.d.ts +2 -1
- package/button/button-group.scss +42 -2
- package/button-toggle/button-toggle.scss +23 -0
- package/button-toggle/index.d.ts +3 -1
- package/checkbox/checkbox.scss +5 -4
- package/clamped-text/index.d.ts +1 -0
- package/core/index.d.ts +402 -13
- package/core/styles/common/_animation.scss +4 -0
- package/core/styles/theming/_components-theming.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +4 -0
- package/datepicker/_datepicker-theme.scss +1 -1
- package/datepicker/datepicker-toggle.scss +3 -3
- package/dl/index.d.ts +1 -0
- package/dropdown/dropdown.scss +2 -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 +14 -5
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +2 -2
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +6 -6
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +6 -4
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +9 -6
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +4 -4
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +4 -0
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +4 -0
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +449 -112
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +5 -5
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +3 -2
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +8 -13
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +33 -22
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +974 -758
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +66 -0
- package/fesm2022/koobiq-components-flag.mjs.map +1 -0
- package/fesm2022/koobiq-components-form-field.mjs +2 -2
- 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 +27 -6
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +39 -20
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -5
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +10 -9
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +178 -19
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +12 -4
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +3 -7
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +38 -16
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +4 -0
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +3 -3
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +2 -2
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +2 -2
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +6 -2
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +8 -6
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +19 -7
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +7 -0
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +7 -14
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +4 -4
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +6 -0
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +132 -14
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +1 -1
- package/fesm2022/koobiq-components-toast.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-tooltip.mjs +50 -2
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +44 -11
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +67 -41
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +16 -3
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +1 -0
- package/file-upload/index.d.ts +10 -7
- package/filter-bar/_filter-bar-theme.scss +86 -0
- package/filter-bar/filter-bar-tokens.scss +6 -0
- package/filter-bar/filter-bar.scss +10 -4
- package/filter-bar/filter-refresher.scss +1 -1
- package/filter-bar/filters.scss +23 -19
- package/filter-bar/index.d.ts +707 -338
- package/filter-bar/pipes/base-pipe.scss +14 -35
- package/filter-bar/pipes/pipe-date.scss +20 -14
- package/filter-bar/pipes/pipe-multi-tree-select.scss +5 -3
- package/filter-bar/pipes/pipe-multiselect.scss +5 -3
- package/filter-bar/pipes/pipe-readonly.scss +4 -13
- package/filter-bar/pipes/pipe-select.scss +3 -1
- package/filter-bar/pipes/pipe-tree-select.scss +3 -1
- package/flag/flag.scss +53 -0
- package/flag/index.d.ts +44 -0
- package/icon/icon-item-tokens.scss +1 -1
- package/inline-edit/index.d.ts +5 -0
- package/inline-edit/inline-edit.scss +7 -7
- package/link/link-tokens.scss +2 -2
- package/list/index.d.ts +11 -2
- package/loader-overlay/loader-overlay-tokens.scss +1 -1
- package/modal/_modal-animation.scss +6 -6
- package/modal/_modal-theme.scss +5 -0
- package/modal/index.d.ts +3 -1
- package/modal/modal.scss +15 -0
- package/navbar/index.d.ts +1 -0
- package/navbar/navbar-item.scss +9 -0
- package/notification-center/_notification-center-theme.scss +2 -1
- package/notification-center/index.d.ts +88 -3
- package/notification-center/notification-center.scss +42 -4
- package/notification-center/notification-item.scss +3 -2
- package/overflow-items/index.d.ts +1 -0
- package/package.json +7 -3
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.scss +4 -0
- package/progress-spinner/progress-spinner.scss +5 -1
- package/radio/index.d.ts +1 -5
- package/radio/radio.scss +18 -4
- package/schematics/collection.json +5 -0
- package/schematics/migrations/filter-bar-signals/README.md +66 -0
- package/schematics/migrations/filter-bar-signals/data.js +72 -0
- package/schematics/migrations/filter-bar-signals/index.js +316 -0
- package/schematics/migrations/filter-bar-signals/schema.json +20 -0
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +1 -1
- package/select/index.d.ts +10 -2
- package/sidebar/index.d.ts +1 -0
- package/skeleton/skeleton.scss +4 -0
- package/split-button/_split-button-theme.scss +2 -2
- package/splitter/_splitter-theme.scss +2 -2
- package/splitter/index.d.ts +1 -0
- package/table/_table-theme.scss +4 -0
- package/table/index.d.ts +3 -2
- package/tabs/index.d.ts +2 -0
- package/tabs/tab-header.scss +1 -0
- package/tabs/tabs-tokens.scss +1 -1
- package/textarea/index.d.ts +0 -1
- package/time-range/time-range.scss +0 -8
- package/timepicker/timepicker.scss +2 -2
- package/timezone/index.d.ts +1 -0
- package/title/index.d.ts +92 -2
- package/tooltip/index.d.ts +51 -3
- package/tree/_tree-theme.scss +2 -7
- package/tree/index.d.ts +19 -4
- package/tree/toggle.scss +5 -0
- package/tree/tree-option.scss +0 -4
- package/tree-select/_tree-select-theme.scss +1 -1
- package/tree-select/index.d.ts +9 -2
- package/username/index.d.ts +20 -2
|
@@ -641,7 +641,7 @@
|
|
|
641
641
|
variable-constant-background: map.get($tokens, 'code-block-#{$scheme}-hljs-variable-constant-background'),
|
|
642
642
|
variable-constant-color: map.get($tokens, 'code-block-#{$scheme}-hljs-variable-constant-color'),
|
|
643
643
|
variable-language-background: map.get($tokens, 'code-block-#{$scheme}-hljs-variable-language-background'),
|
|
644
|
-
variable-language-color: map.get($tokens, 'code-block-#{$scheme}-hljs-variable-language-color')
|
|
644
|
+
variable-language-color: map.get($tokens, 'code-block-#{$scheme}-hljs-variable-language-color')
|
|
645
645
|
)
|
|
646
646
|
);
|
|
647
647
|
|
|
@@ -73,7 +73,11 @@
|
|
|
73
73
|
|
|
74
74
|
&::-webkit-scrollbar-track,
|
|
75
75
|
&::-webkit-scrollbar-corner,
|
|
76
|
+
&::-webkit-resizer,
|
|
76
77
|
&::-webkit-scrollbar,
|
|
78
|
+
::-webkit-scrollbar-track,
|
|
79
|
+
::-webkit-scrollbar-corner,
|
|
80
|
+
::-webkit-resizer,
|
|
77
81
|
::-webkit-scrollbar {
|
|
78
82
|
background-color: transparent;
|
|
79
83
|
}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.kbq-datepicker-toggle__button.kbq-button-icon {
|
|
15
|
-
//
|
|
16
|
-
width: var(--kbq-datepicker-toggle-size-width);
|
|
17
|
-
height: var(--kbq-datepicker-toggle-size-height);
|
|
15
|
+
// @TODO define --kbq-datepicker-toggle-size-* in design-tokens; fallback matches the icon-button control size meanwhile
|
|
16
|
+
width: var(--kbq-datepicker-toggle-size-width, var(--kbq-size-3xl));
|
|
17
|
+
height: var(--kbq-datepicker-toggle-size-height, var(--kbq-size-3xl));
|
|
18
18
|
margin-left: 2px;
|
|
19
19
|
}
|
|
20
20
|
|
package/dl/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ declare class KbqDlComponent implements AfterContentInit, OnDestroy {
|
|
|
13
13
|
private resizeSubscription;
|
|
14
14
|
private readonly elementRef;
|
|
15
15
|
private readonly changeDetectorRef;
|
|
16
|
+
private readonly platform;
|
|
16
17
|
ngAfterContentInit(): void;
|
|
17
18
|
ngOnDestroy(): void;
|
|
18
19
|
private readonly updateState;
|
package/dropdown/dropdown.scss
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
.kbq-dropdown-trigger {
|
|
5
5
|
&.kbq-button {
|
|
6
|
-
padding-left: calc(10px - var(--kbq-size-border-width));
|
|
7
|
-
padding-right: calc(10px - var(--kbq-size-border-width));
|
|
6
|
+
padding-left: calc(var(--kbq-dropdown-trigger-horizontal-padding, 10px) - var(--kbq-size-border-width));
|
|
7
|
+
padding-right: calc(var(--kbq-dropdown-trigger-horizontal-padding, 10px) - var(--kbq-size-border-width));
|
|
8
8
|
|
|
9
9
|
& .kbq-icon_left {
|
|
10
10
|
margin-right: var(--kbq-size-xs);
|
|
@@ -179,7 +179,7 @@ class KbqAccordion {
|
|
|
179
179
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
180
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.25", type: KbqAccordion, isStandalone: true, selector: "kbq-accordion, [kbq-accordion]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValueChange: "onValueChange" }, host: { listeners: { "keydown": "keydownHandler($event)" }, properties: { "attr.data-orientation": "orientation()" }, classAttribute: "kbq-accordion" }, providers: [
|
|
181
181
|
{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }
|
|
182
|
-
], queries: [{ propertyName: "items", predicate: i0.forwardRef(() => KbqAccordionItem), descendants: true, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-accordion{display:block}.kbq-accordion-item{box-sizing:border-box;display:block;border-width:2px;border-style:solid;border-color:transparent}.kbq-accordion-header{display:flex;height:var(--kbq-accordion-size-item-header-height)}.kbq-accordion-content{display:block;overflow:hidden}.kbq-accordion-content>p{margin:unset;padding:var(--kbq-accordion-size-item-content-padding)}.kbq-accordion-content[data-state=open]{transition
|
|
182
|
+
], queries: [{ propertyName: "items", predicate: i0.forwardRef(() => KbqAccordionItem), descendants: true, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [".kbq-accordion{display:block}.kbq-accordion-item{box-sizing:border-box;display:block;border-width:2px;border-style:solid;border-color:transparent}.kbq-accordion-header{display:flex;height:var(--kbq-accordion-size-item-header-height)}.kbq-accordion-content{display:block;overflow:hidden}.kbq-accordion-content>p{margin:unset;padding:var(--kbq-accordion-size-item-content-padding)}.kbq-accordion-content[data-state=open]{transition:height .3s ease-out;height:var(--radix-accordion-content-height)}.kbq-accordion-content[data-state=closed]{transition:height .3s ease-out;height:0}@media(prefers-reduced-motion:reduce){.kbq-accordion-content[data-state=open],.kbq-accordion-content[data-state=closed]{transition:none}}.kbq-accordion.cdk-keyboard-focused .kbq-accordion-item:focus-within{border-color:var(--kbq-accordion-item-states-focus-border-color)}.kbq-accordion-item{background:var(--kbq-accordion-item-default-background);color:var(--kbq-accordion-item-default-text-color)}.kbq-accordion-item .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-default-icon-color)}.kbq-accordion-trigger{width:100%;background:transparent;border:none;outline:none;color:var(--kbq-accordion-item-default-text-color)}.kbq-accordion-trigger:hover:not([data-disabled=true]){cursor:pointer}.kbq-accordion-trigger:hover:not([data-disabled=true]) .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-states-hover-icon-color)}.kbq-accordion-trigger[data-disabled=true]{color:var(--kbq-accordion-item-states-disabled-text-color)}.kbq-accordion-trigger[data-disabled=true] .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-states-disabled-icon-color)!important}.kbq-accordion-header,.kbq-accordion-trigger{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-accordion-trigger__caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-accordion-content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-accordion{--kbq-accordion-size-item-header-height: 36px;--kbq-accordion-size-item-header-variant-fill-padding: var(--kbq-size-xs) var(--kbq-size-s);--kbq-accordion-size-item-header-variant-hug-padding: var(--kbq-size-xs) var(--kbq-size-s) var(--kbq-size-xs) var(--kbq-size-m);--kbq-accordion-size-item-content-padding: 0px var(--kbq-size-m) var(--kbq-size-s) var(--kbq-size-m);--kbq-accordion-item-default-background: transparent;--kbq-accordion-item-default-text-color: var(--kbq-foreground-contrast);--kbq-accordion-item-default-icon-color: var(--kbq-icon-contrast-fade);--kbq-accordion-item-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-accordion-item-states-focus-border-color: var(--kbq-line-theme);--kbq-accordion-item-states-disabled-text-color: var(--kbq-foreground-contrast-secondary);--kbq-accordion-item-states-disabled-icon-color: var(--kbq-states-icon-disabled)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
183
183
|
}
|
|
184
184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAccordion, decorators: [{
|
|
185
185
|
type: Component,
|
|
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
189
189
|
class: 'kbq-accordion',
|
|
190
190
|
'[attr.data-orientation]': 'orientation()',
|
|
191
191
|
'(keydown)': 'keydownHandler($event)'
|
|
192
|
-
}, styles: [".kbq-accordion{display:block}.kbq-accordion-item{box-sizing:border-box;display:block;border-width:2px;border-style:solid;border-color:transparent}.kbq-accordion-header{display:flex;height:var(--kbq-accordion-size-item-header-height)}.kbq-accordion-content{display:block;overflow:hidden}.kbq-accordion-content>p{margin:unset;padding:var(--kbq-accordion-size-item-content-padding)}.kbq-accordion-content[data-state=open]{transition
|
|
192
|
+
}, styles: [".kbq-accordion{display:block}.kbq-accordion-item{box-sizing:border-box;display:block;border-width:2px;border-style:solid;border-color:transparent}.kbq-accordion-header{display:flex;height:var(--kbq-accordion-size-item-header-height)}.kbq-accordion-content{display:block;overflow:hidden}.kbq-accordion-content>p{margin:unset;padding:var(--kbq-accordion-size-item-content-padding)}.kbq-accordion-content[data-state=open]{transition:height .3s ease-out;height:var(--radix-accordion-content-height)}.kbq-accordion-content[data-state=closed]{transition:height .3s ease-out;height:0}@media(prefers-reduced-motion:reduce){.kbq-accordion-content[data-state=open],.kbq-accordion-content[data-state=closed]{transition:none}}.kbq-accordion.cdk-keyboard-focused .kbq-accordion-item:focus-within{border-color:var(--kbq-accordion-item-states-focus-border-color)}.kbq-accordion-item{background:var(--kbq-accordion-item-default-background);color:var(--kbq-accordion-item-default-text-color)}.kbq-accordion-item .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-default-icon-color)}.kbq-accordion-trigger{width:100%;background:transparent;border:none;outline:none;color:var(--kbq-accordion-item-default-text-color)}.kbq-accordion-trigger:hover:not([data-disabled=true]){cursor:pointer}.kbq-accordion-trigger:hover:not([data-disabled=true]) .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-states-hover-icon-color)}.kbq-accordion-trigger[data-disabled=true]{color:var(--kbq-accordion-item-states-disabled-text-color)}.kbq-accordion-trigger[data-disabled=true] .kbq-accordion-trigger__icon{color:var(--kbq-accordion-item-states-disabled-icon-color)!important}.kbq-accordion-header,.kbq-accordion-trigger{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-accordion-trigger__caption{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-accordion-content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-accordion{--kbq-accordion-size-item-header-height: 36px;--kbq-accordion-size-item-header-variant-fill-padding: var(--kbq-size-xs) var(--kbq-size-s);--kbq-accordion-size-item-header-variant-hug-padding: var(--kbq-size-xs) var(--kbq-size-s) var(--kbq-size-xs) var(--kbq-size-m);--kbq-accordion-size-item-content-padding: 0px var(--kbq-size-m) var(--kbq-size-s) var(--kbq-size-m);--kbq-accordion-item-default-background: transparent;--kbq-accordion-item-default-text-color: var(--kbq-foreground-contrast);--kbq-accordion-item-default-icon-color: var(--kbq-icon-contrast-fade);--kbq-accordion-item-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-accordion-item-states-focus-border-color: var(--kbq-line-theme);--kbq-accordion-item-states-disabled-text-color: var(--kbq-foreground-contrast-secondary);--kbq-accordion-item-states-disabled-icon-color: var(--kbq-states-icon-disabled)}\n"] }]
|
|
193
193
|
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [forwardRef(() => KbqAccordionItem), { ...{ descendants: true }, isSignal: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], defaultValue: [{
|
|
194
194
|
type: Input
|
|
195
195
|
}], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], value: [{
|
|
@@ -285,7 +285,7 @@ class KbqAccordionTrigger {
|
|
|
285
285
|
></i>
|
|
286
286
|
|
|
287
287
|
<ng-content />
|
|
288
|
-
`, isInline: true, styles: [".kbq-accordion-trigger{display:flex;flex-direction:row;align-items:center
|
|
288
|
+
`, isInline: true, styles: [".kbq-accordion-trigger{display:flex;flex-direction:row;align-items:center}.kbq-accordion-trigger .kbq-accordion-trigger__icon{box-sizing:initial;align-self:flex-start;padding:var(--kbq-size-xxs);transition:transform .3s ease-out}.kbq-accordion-trigger .kbq-accordion-trigger__badge,.kbq-accordion-trigger .kbq-accordion-trigger__caption{margin-top:var(--kbq-size-xxs);margin-right:var(--kbq-size-s)}.kbq-accordion-trigger .kbq-accordion-trigger__action{padding:var(--kbq-size-xxs) var(--kbq-size-xxs) var(--kbq-size-3xs);margin-bottom:calc(-1 * var(--kbq-size-3xs))}.kbq-accordion-trigger.kbq-accordion-trigger_fill{padding:var(--kbq-accordion-size-item-header-variant-fill-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_fill[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(90deg)}.kbq-accordion-trigger.kbq-accordion-trigger_hug{flex-direction:row-reverse;justify-content:flex-end;padding:var(--kbq-accordion-size-item-header-variant-hug-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_hug[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(90deg)}.kbq-accordion-trigger.kbq-accordion-trigger_hug-space-between{flex-direction:row-reverse;justify-content:space-between;padding:var(--kbq-accordion-size-item-header-variant-hug-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_hug-space-between[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(-180deg)}button.kbq-accordion-trigger{flex:1}\n", ".kbq-accordion{--kbq-accordion-size-item-header-height: 36px;--kbq-accordion-size-item-header-variant-fill-padding: var(--kbq-size-xs) var(--kbq-size-s);--kbq-accordion-size-item-header-variant-hug-padding: var(--kbq-size-xs) var(--kbq-size-s) var(--kbq-size-xs) var(--kbq-size-m);--kbq-accordion-size-item-content-padding: 0px var(--kbq-size-m) var(--kbq-size-s) var(--kbq-size-m);--kbq-accordion-item-default-background: transparent;--kbq-accordion-item-default-text-color: var(--kbq-foreground-contrast);--kbq-accordion-item-default-icon-color: var(--kbq-icon-contrast-fade);--kbq-accordion-item-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-accordion-item-states-focus-border-color: var(--kbq-line-theme);--kbq-accordion-item-states-disabled-text-color: var(--kbq-foreground-contrast-secondary);--kbq-accordion-item-states-disabled-icon-color: var(--kbq-states-icon-disabled)}\n"], dependencies: [{ kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
289
289
|
}
|
|
290
290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqAccordionTrigger, decorators: [{
|
|
291
291
|
type: Component,
|
|
@@ -301,7 +301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
301
301
|
'[class.kbq-accordion-trigger_fill]': 'isFill',
|
|
302
302
|
'[class.kbq-accordion-trigger_hug]': 'isHug',
|
|
303
303
|
'[class.kbq-accordion-trigger_hug-space-between]': 'isHugSpaceBetween'
|
|
304
|
-
}, hostDirectives: [KbqAccordionTriggerDirective], styles: [".kbq-accordion-trigger{display:flex;flex-direction:row;align-items:center
|
|
304
|
+
}, hostDirectives: [KbqAccordionTriggerDirective], styles: [".kbq-accordion-trigger{display:flex;flex-direction:row;align-items:center}.kbq-accordion-trigger .kbq-accordion-trigger__icon{box-sizing:initial;align-self:flex-start;padding:var(--kbq-size-xxs);transition:transform .3s ease-out}.kbq-accordion-trigger .kbq-accordion-trigger__badge,.kbq-accordion-trigger .kbq-accordion-trigger__caption{margin-top:var(--kbq-size-xxs);margin-right:var(--kbq-size-s)}.kbq-accordion-trigger .kbq-accordion-trigger__action{padding:var(--kbq-size-xxs) var(--kbq-size-xxs) var(--kbq-size-3xs);margin-bottom:calc(-1 * var(--kbq-size-3xs))}.kbq-accordion-trigger.kbq-accordion-trigger_fill{padding:var(--kbq-accordion-size-item-header-variant-fill-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_fill[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(90deg)}.kbq-accordion-trigger.kbq-accordion-trigger_hug{flex-direction:row-reverse;justify-content:flex-end;padding:var(--kbq-accordion-size-item-header-variant-hug-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_hug[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(90deg)}.kbq-accordion-trigger.kbq-accordion-trigger_hug-space-between{flex-direction:row-reverse;justify-content:space-between;padding:var(--kbq-accordion-size-item-header-variant-hug-padding)}.kbq-accordion-trigger.kbq-accordion-trigger_hug-space-between[data-state=open]>.kbq-accordion-trigger__icon{transform:rotate(-180deg)}button.kbq-accordion-trigger{flex:1}\n", ".kbq-accordion{--kbq-accordion-size-item-header-height: 36px;--kbq-accordion-size-item-header-variant-fill-padding: var(--kbq-size-xs) var(--kbq-size-s);--kbq-accordion-size-item-header-variant-hug-padding: var(--kbq-size-xs) var(--kbq-size-s) var(--kbq-size-xs) var(--kbq-size-m);--kbq-accordion-size-item-content-padding: 0px var(--kbq-size-m) var(--kbq-size-s) var(--kbq-size-m);--kbq-accordion-item-default-background: transparent;--kbq-accordion-item-default-text-color: var(--kbq-foreground-contrast);--kbq-accordion-item-default-icon-color: var(--kbq-icon-contrast-fade);--kbq-accordion-item-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-accordion-item-states-focus-border-color: var(--kbq-line-theme);--kbq-accordion-item-states-disabled-text-color: var(--kbq-foreground-contrast-secondary);--kbq-accordion-item-states-disabled-icon-color: var(--kbq-states-icon-disabled)}\n"] }]
|
|
305
305
|
}], ctorParameters: () => [], propDecorators: { icon: [{ type: i0.ViewChild, args: [i0.forwardRef(() => KbqIcon), { isSignal: true }] }] } });
|
|
306
306
|
|
|
307
307
|
let uniqueIdCounter = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-accordion.mjs","sources":["../../../packages/components/accordion/accordion.component.ts","../../../packages/components/accordion/accordion-trigger.directive.ts","../../../packages/components/accordion/accordion-trigger.component.ts","../../../packages/components/accordion/accordion-item.ts","../../../packages/components/accordion/accordion-content.directive.ts","../../../packages/components/accordion/accordion-content.ts","../../../packages/components/accordion/accordion-header.directive.ts","../../../packages/components/accordion/accordion-header.ts","../../../packages/components/accordion/accordion.module.ts","../../../packages/components/accordion/koobiq-components-accordion.ts"],"sourcesContent":["import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n Input,\n input,\n OnDestroy,\n output,\n ViewEncapsulation\n} from '@angular/core';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { KBQ_WINDOW } from '@koobiq/components/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { KbqAccordionItem } from './accordion-item';\n\nexport enum KbqAccordionVariant {\n fill = 'fill',\n hug = 'hug',\n hugSpaceBetween = 'hugSpaceBetween'\n}\n\nexport type KbqAccordionType = 'single' | 'multiple';\nexport type KbqAccordionOrientation = 'horizontal' | 'vertical';\n\nlet uniqueIdCounter: number = 0;\n\ninterface KbqAccordionState {\n [itemId: string]: {\n expanded: boolean;\n value: string;\n };\n}\n\n@Component({\n selector: 'kbq-accordion, [kbq-accordion]',\n template: '<ng-content />',\n styleUrls: ['accordion.component.scss', 'accordion-tokens.scss'],\n providers: [\n { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-accordion',\n '[attr.data-orientation]': 'orientation()',\n '(keydown)': 'keydownHandler($event)'\n }\n})\nexport class KbqAccordion implements OnDestroy, AfterViewInit, AfterContentInit {\n private readonly isBrowser = inject(Platform).isBrowser;\n private readonly localStorage = inject(KBQ_WINDOW)?.localStorage;\n /** @docs-private */\n protected readonly focusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected readonly elementRef = inject(ElementRef);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n /** @docs-private */\n protected readonly dir = inject(Directionality, { optional: true });\n /** @docs-private */\n protected keyManager: FocusKeyManager<KbqAccordionItem>;\n /** @docs-private */\n readonly openCloseAllActions = new Subject<boolean>();\n\n /** @docs-private */\n readonly items = contentChildren(\n forwardRef(() => KbqAccordionItem),\n { descendants: true }\n );\n\n /** Specifies whether the accordion saves its states. Default is false */\n useStateSaving: boolean = inject(new HostAttributeToken('useStateSaving'), { optional: true }) !== null;\n\n readonly variant = input<KbqAccordionVariant | string>(KbqAccordionVariant.fill);\n\n /** Whether the Accordion is disabled. */\n readonly disabled = input<boolean, unknown>(undefined!, { transform: booleanAttribute });\n\n /** The orientation of the accordion. */\n readonly orientation = input<KbqAccordionOrientation>('vertical');\n\n /**\n * The value of the item to expand when initially rendered and type is \"single\". Use when you do not need to control the state of the items.\n */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get defaultValue(): string[] | string {\n return this.isMultiple ? this._defaultValue : this._defaultValue[0];\n }\n\n set defaultValue(value: string[] | string) {\n if (value !== this._defaultValue) {\n this._defaultValue = Array.isArray(value) ? value : [value];\n }\n }\n\n /** Determines whether one or multiple items can be opened at the same time. */\n readonly type = input<KbqAccordionType>('single');\n\n readonly collapsible = input(true);\n\n /** The controlled value of the item to expand */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get value(): string[] | string {\n if (this._value === undefined) {\n return this.defaultValue;\n }\n\n return this.isMultiple ? this._value : this._value[0];\n }\n\n set value(value: string[] | string) {\n if (value !== this._value) {\n this._value = Array.isArray(value) ? value : [value];\n\n this.selectionDispatcher.notify(this.value as unknown as string, this.id);\n }\n }\n\n readonly onValueChange = output<void>();\n\n get id(): string {\n return this._id;\n }\n\n get isMultiple(): boolean {\n return this.type() === 'multiple';\n }\n\n get hasSavedState(): boolean {\n return typeof this.state === 'object' && this.state !== null;\n }\n\n private _value?: string[];\n private _defaultValue: string[] | string = [];\n\n private onValueChangeSubscription: Subscription;\n\n private _id = `kbq-accordion-${uniqueIdCounter++}`;\n\n private state: KbqAccordionState | null;\n\n constructor() {\n if (this.useStateSaving) {\n this.getSavedState();\n }\n }\n\n ngAfterContentInit(): void {\n if (this._value) {\n this.selectionDispatcher.notify(this._value as unknown as string, this.id);\n } else if (this.useStateSaving && this.hasSavedState) {\n Object.keys(this.state!).forEach((key: string) => {\n if (this.state && this.state[key].expanded) {\n this.selectionDispatcher.notify(this.state[key].value as unknown as string, this.id);\n }\n });\n } else {\n this.selectionDispatcher.notify(this._defaultValue as string, this.id);\n }\n\n this.keyManager = new FocusKeyManager(this.items()).withHomeAndEnd();\n\n if (this.orientation() === 'horizontal') {\n this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');\n } else {\n this.keyManager.withVerticalOrientation();\n }\n\n this.onValueChangeSubscription = merge(\n ...this.items().map((item) => outputToObservable(item.expandedChange))\n ).subscribe(() => this.onValueChange.emit());\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef, true);\n }\n\n ngOnDestroy(): void {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.openCloseAllActions.complete();\n this.onValueChangeSubscription.unsubscribe();\n }\n\n /** @docs-private */\n keydownHandler(event: KeyboardEvent) {\n if (!this.keyManager.activeItem) {\n this.keyManager.setFirstItemActive();\n }\n\n const activeItem = this.keyManager.activeItem;\n\n if (\n (event.keyCode === ENTER || event.keyCode === SPACE) &&\n !this.keyManager.isTyping() &&\n activeItem &&\n !activeItem.disabled\n ) {\n event.preventDefault();\n activeItem.toggle();\n } else if (event.keyCode === TAB && event.shiftKey) {\n if (this.keyManager.activeItemIndex === 0) return;\n\n this.keyManager.setPreviousItemActive();\n event.preventDefault();\n } else if (event.keyCode === TAB) {\n if (this.keyManager.activeItemIndex === this.items().length - 1) return;\n\n this.keyManager.setNextItemActive();\n event.preventDefault();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n if (this.isMultiple) {\n this.openCloseAllActions.next(true);\n }\n }\n\n /** Closes all enabled accordion items. */\n closeAll(): void {\n this.openCloseAllActions.next(false);\n }\n\n /** @docs-private */\n setActiveItem(item: KbqAccordionItem) {\n this.keyManager.setActiveItem(item);\n }\n\n /** @docs-private */\n saveItemState(item: KbqAccordionItem, force: boolean = true): void {\n if (!this.isBrowser || (!force && !!this.state && !!this.state[item.id])) return;\n\n this.state = this.state || {};\n\n this.state[item.id] = item.getState();\n\n this.localStorage.setItem(this.id, JSON.stringify(this.state));\n }\n\n private getSavedState() {\n if (!this.isBrowser) return;\n\n this.state = JSON.parse(this.localStorage.getItem(this.id) as string);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordion } from './accordion.component';\n\n@Directive({\n selector: '[kbqAccordionTrigger]',\n host: {\n '[attr.id]': 'triggerId',\n '[attr.role]': '\"button\"',\n '[attr.aria-expanded]': 'item.expanded',\n '[attr.aria-controls]': 'contentId',\n '[attr.aria-disabled]': 'item.disabled',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation',\n '(click)': 'onClick()'\n }\n})\nexport class KbqAccordionTriggerDirective {\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly accordion = inject(KbqAccordion);\n /** @docs-private */\n protected readonly item = inject(KbqAccordionItem);\n\n /** @docs-private */\n get triggerId(): string {\n return `${this.item.id}-trigger`;\n }\n\n /** @docs-private */\n get contentId(): string {\n return `${this.item.id}-content`;\n }\n\n /** Fires when trigger clicked */\n onClick(): void {\n if (!this.accordion.collapsible() && this.item.expanded) return;\n\n this.item.toggle();\n\n this.accordion.setActiveItem(this.item);\n }\n\n /** @docs-private */\n focus() {\n this.nativeElement.focus();\n }\n}\n","import {\n afterNextRender,\n AfterRenderRef,\n AfterViewInit,\n Component,\n inject,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionVariant } from './accordion.component';\n\n@Component({\n selector: 'kbq-accordion-trigger, [kbq-accordion-trigger]',\n imports: [KbqIcon],\n template: `\n <i\n kbq-icon=\"{{ isHugSpaceBetween ? 'kbq-chevron-down-s_16' : 'kbq-chevron-right-s_16' }}\"\n class=\"kbq-accordion-trigger__icon\"\n ></i>\n\n <ng-content />\n `,\n styleUrls: ['accordion-trigger.component.scss', 'accordion-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-accordion-trigger',\n '[class.kbq-accordion-trigger_fill]': 'isFill',\n '[class.kbq-accordion-trigger_hug]': 'isHug',\n '[class.kbq-accordion-trigger_hug-space-between]': 'isHugSpaceBetween'\n },\n hostDirectives: [KbqAccordionTriggerDirective]\n})\nexport class KbqAccordionTrigger implements AfterViewInit {\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly accordion: KbqAccordion = inject(KbqAccordion);\n\n /** @docs-private */\n readonly icon = viewChild.required(KbqIcon);\n\n private savedTransition: string;\n private readonly afterRenderRef?: AfterRenderRef;\n\n get isFill(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.fill;\n }\n\n get isHug(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.hug;\n }\n\n get isHugSpaceBetween(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.hugSpaceBetween;\n }\n\n constructor() {\n this.afterRenderRef = afterNextRender(() => {\n setTimeout(() => this.enableAnimation());\n\n this.afterRenderRef?.destroy();\n });\n }\n\n ngAfterViewInit(): void {\n this.disableAnimation();\n }\n\n disableAnimation() {\n this.savedTransition = this.icon().elementRef.nativeElement.style.transition;\n\n this.icon().getHostElement().style.transition = 'none';\n }\n\n enableAnimation() {\n this.icon().getHostElement().style.transition = this.savedTransition;\n }\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n contentChild,\n Directive,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionOrientation } from './accordion.component';\n\nlet uniqueIdCounter: number = 0;\n\nexport type KbqAccordionItemState = 'open' | 'closed';\n\n@Directive({\n selector: 'kbq-accordion-item, [kbq-accordion-item]',\n host: {\n class: 'kbq-accordion-item',\n '[attr.data-state]': 'dataState',\n '[attr.data-disabled]': 'disabled',\n '[attr.data-orientation]': 'orientation'\n }\n})\nexport class KbqAccordionItem implements OnDestroy {\n /** @docs-private */\n protected readonly accordion = inject(KbqAccordion);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly expansionDispatcher = inject(UniqueSelectionDispatcher);\n\n /** @docs-private */\n readonly trigger = contentChild(KbqAccordionTriggerDirective);\n /** @docs-private */\n readonly triggerComponent = contentChild(KbqAccordionTrigger);\n\n /** @docs-private */\n readonly content = contentChild(forwardRef(() => KbqAccordionContentDirective));\n\n /** The unique AccordionItem id. */\n get id(): string {\n return this._id;\n }\n\n private _id = `kbq-accordion-item-${uniqueIdCounter++}`;\n\n get dataState(): KbqAccordionItemState {\n return this.expanded ? 'open' : 'closed';\n }\n\n get orientation(): KbqAccordionOrientation {\n return this.accordion.orientation();\n }\n\n /** Whether the AccordionItem is expanded. */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get expanded(): boolean {\n return this._expanded;\n }\n\n set expanded(expanded: boolean) {\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n // TODO: The 'emit' function requires a mandatory void argument\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the KbqAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.value;\n\n this.expansionDispatcher.notify(this.value, accordionId);\n } else {\n // TODO: The 'emit' function requires a mandatory void argument\n this.closed.emit();\n }\n\n this.content().toggle();\n\n this.accordion.saveItemState(this);\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _expanded = false;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value || this.id;\n }\n\n private _value?: string;\n\n /** Whether the AccordionItem is disabled. */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this.accordion.disabled() ?? this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private _disabled = false;\n\n /** Event emitted every time the AccordionItem is closed. */\n readonly closed = output<void>();\n /** Event emitted every time the AccordionItem is opened. */\n readonly opened = output<void>();\n\n /**\n * Event emitted when the AccordionItem is destroyed.\n * @docs-private\n */\n readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n readonly expandedChange = output<boolean>();\n\n /** Unregister function for expansionDispatcher. */\n private removeUniqueSelectionListener: () => void;\n\n /** Subscription to openAll/closeAll events. */\n private openCloseAllSubscription = Subscription.EMPTY;\n\n constructor() {\n this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion.isMultiple) {\n if (this.accordion.id === accordionId && id.includes(this.value)) {\n this.expanded = true;\n }\n } else {\n this.expanded = this.accordion.id === accordionId && id.includes(this.value);\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();\n }\n\n this.accordion.saveItemState(this, false);\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.destroyed.emit();\n this.destroyed.complete();\n this.removeUniqueSelectionListener();\n this.openCloseAllSubscription.unsubscribe();\n }\n\n focus(): void {\n this.trigger()?.focus();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n getState(): any {\n return {\n expanded: this.expanded,\n value: this.value\n };\n }\n\n disableAnimation() {\n this.content()?.disableAnimation();\n this.triggerComponent()?.disableAnimation();\n }\n\n enableAnimation() {\n this.content()?.enableAnimation();\n this.triggerComponent()?.enableAnimation();\n }\n\n private subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion.openCloseAllActions.subscribe((expanded) => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n afterNextRender,\n AfterRenderRef,\n AfterViewInit,\n Directive,\n inject,\n Renderer2,\n signal\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n selector: '[kbqAccordionContent]',\n host: {\n '[attr.id]': 'contentId',\n '[attr.role]': '\"region\"',\n '[attr.hidden]': 'hidden() ? \"\" : null',\n '[attr.aria-labelledby]': 'triggerId',\n\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation',\n\n '(transitionend)': 'toggle()'\n },\n exportAs: 'kbqAccordionContent'\n})\nexport class KbqAccordionContentDirective implements AfterContentInit, AfterViewInit {\n private readonly renderer: Renderer2 = inject(Renderer2);\n private readonly platform = inject(Platform);\n\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly item = inject(KbqAccordionItem);\n\n /** @docs-private */\n get contentId(): string {\n return `${this.item.id}-content`;\n }\n\n /** @docs-private */\n get triggerId(): string {\n return `${this.item.id}-trigger`;\n }\n\n /** @docs-private */\n protected readonly hidden = signal<boolean>(true);\n\n private savedTransition: string;\n private readonly afterRenderRef?: AfterRenderRef;\n\n constructor() {\n this.afterRenderRef = afterNextRender(() => {\n this.enableAnimation();\n\n this.afterRenderRef?.destroy();\n });\n }\n\n ngAfterViewInit(): void {\n this.disableAnimation();\n }\n\n ngAfterContentInit(): void {\n if (!this.platform.isBrowser) return;\n\n const { height, width } = this.nativeElement.getBoundingClientRect();\n\n this.renderer.setProperty(\n this.nativeElement,\n 'style',\n `\n --radix-accordion-content-height: ${height}px;\n --radix-accordion-content-width: ${width}px;\n `\n );\n }\n\n toggle() {\n this.hidden.set(!this.item.expanded);\n }\n\n disableAnimation() {\n this.savedTransition = this.nativeElement.style.transition;\n\n this.nativeElement.style.transition = 'none';\n }\n\n enableAnimation() {\n this.nativeElement.style.transition = this.savedTransition;\n }\n}\n","import { Component } from '@angular/core';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\n\n@Component({\n selector: 'kbq-accordion-content, [kbq-accordion-content]',\n template: `\n <p><ng-content /></p>\n `,\n host: {\n class: 'kbq-accordion-content'\n },\n hostDirectives: [KbqAccordionContentDirective]\n})\nexport class KbqAccordionContent {}\n","import { Directive, inject } from '@angular/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n selector: '[kbqAccordionHeader]',\n host: {\n '[attr.role]': '\"heading\"',\n '[attr.aria-level]': '2',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation'\n }\n})\nexport class KbqAccordionHeaderDirective {\n protected readonly item = inject(KbqAccordionItem);\n}\n","import { Directive } from '@angular/core';\nimport { KbqAccordionHeaderDirective } from './accordion-header.directive';\n\n@Directive({\n selector: 'kbq-accordion-header, [kbq-accordion-header]',\n host: {\n class: 'kbq-accordion-header'\n },\n hostDirectives: [KbqAccordionHeaderDirective]\n})\nexport class KbqAccordionHeader {}\n","import { NgModule } from '@angular/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionContent } from './accordion-content';\nimport { KbqAccordionHeader } from './accordion-header';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordion } from './accordion.component';\n\n@NgModule({\n imports: [\n KbqIcon,\n KbqAccordion,\n KbqAccordionContent,\n KbqAccordionHeader,\n KbqAccordionItem,\n KbqAccordionTrigger\n ],\n exports: [\n KbqAccordion,\n KbqAccordionContent,\n KbqAccordionHeader,\n KbqAccordionItem,\n KbqAccordionTrigger\n ]\n})\nexport class KbqAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uniqueIdCounter","i1.KbqAccordionTriggerDirective","i1.KbqAccordionContentDirective","i1.KbqAccordionHeaderDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-accordion.mjs","sources":["../../../packages/components/accordion/accordion.component.ts","../../../packages/components/accordion/accordion-trigger.directive.ts","../../../packages/components/accordion/accordion-trigger.component.ts","../../../packages/components/accordion/accordion-item.ts","../../../packages/components/accordion/accordion-content.directive.ts","../../../packages/components/accordion/accordion-content.ts","../../../packages/components/accordion/accordion-header.directive.ts","../../../packages/components/accordion/accordion-header.ts","../../../packages/components/accordion/accordion.module.ts","../../../packages/components/accordion/koobiq-components-accordion.ts"],"sourcesContent":["import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n Input,\n input,\n OnDestroy,\n output,\n ViewEncapsulation\n} from '@angular/core';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { KBQ_WINDOW } from '@koobiq/components/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { KbqAccordionItem } from './accordion-item';\n\nexport enum KbqAccordionVariant {\n fill = 'fill',\n hug = 'hug',\n hugSpaceBetween = 'hugSpaceBetween'\n}\n\nexport type KbqAccordionType = 'single' | 'multiple';\nexport type KbqAccordionOrientation = 'horizontal' | 'vertical';\n\nlet uniqueIdCounter: number = 0;\n\ninterface KbqAccordionState {\n [itemId: string]: {\n expanded: boolean;\n value: string;\n };\n}\n\n@Component({\n selector: 'kbq-accordion, [kbq-accordion]',\n template: '<ng-content />',\n styleUrls: ['accordion.component.scss', 'accordion-tokens.scss'],\n providers: [\n { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-accordion',\n '[attr.data-orientation]': 'orientation()',\n '(keydown)': 'keydownHandler($event)'\n }\n})\nexport class KbqAccordion implements OnDestroy, AfterViewInit, AfterContentInit {\n private readonly isBrowser = inject(Platform).isBrowser;\n private readonly localStorage = inject(KBQ_WINDOW)?.localStorage;\n /** @docs-private */\n protected readonly focusMonitor = inject(FocusMonitor);\n /** @docs-private */\n protected readonly elementRef = inject(ElementRef);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n /** @docs-private */\n protected readonly dir = inject(Directionality, { optional: true });\n /** @docs-private */\n protected keyManager: FocusKeyManager<KbqAccordionItem>;\n /** @docs-private */\n readonly openCloseAllActions = new Subject<boolean>();\n\n /** @docs-private */\n readonly items = contentChildren(\n forwardRef(() => KbqAccordionItem),\n { descendants: true }\n );\n\n /** Specifies whether the accordion saves its states. Default is false */\n useStateSaving: boolean = inject(new HostAttributeToken('useStateSaving'), { optional: true }) !== null;\n\n readonly variant = input<KbqAccordionVariant | string>(KbqAccordionVariant.fill);\n\n /** Whether the Accordion is disabled. */\n readonly disabled = input<boolean, unknown>(undefined!, { transform: booleanAttribute });\n\n /** The orientation of the accordion. */\n readonly orientation = input<KbqAccordionOrientation>('vertical');\n\n /**\n * The value of the item to expand when initially rendered and type is \"single\". Use when you do not need to control the state of the items.\n */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get defaultValue(): string[] | string {\n return this.isMultiple ? this._defaultValue : this._defaultValue[0];\n }\n\n set defaultValue(value: string[] | string) {\n if (value !== this._defaultValue) {\n this._defaultValue = Array.isArray(value) ? value : [value];\n }\n }\n\n /** Determines whether one or multiple items can be opened at the same time. */\n readonly type = input<KbqAccordionType>('single');\n\n readonly collapsible = input(true);\n\n /** The controlled value of the item to expand */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get value(): string[] | string {\n if (this._value === undefined) {\n return this.defaultValue;\n }\n\n return this.isMultiple ? this._value : this._value[0];\n }\n\n set value(value: string[] | string) {\n if (value !== this._value) {\n this._value = Array.isArray(value) ? value : [value];\n\n this.selectionDispatcher.notify(this.value as unknown as string, this.id);\n }\n }\n\n readonly onValueChange = output<void>();\n\n get id(): string {\n return this._id;\n }\n\n get isMultiple(): boolean {\n return this.type() === 'multiple';\n }\n\n get hasSavedState(): boolean {\n return typeof this.state === 'object' && this.state !== null;\n }\n\n private _value?: string[];\n private _defaultValue: string[] | string = [];\n\n private onValueChangeSubscription: Subscription;\n\n private _id = `kbq-accordion-${uniqueIdCounter++}`;\n\n private state: KbqAccordionState | null;\n\n constructor() {\n if (this.useStateSaving) {\n this.getSavedState();\n }\n }\n\n ngAfterContentInit(): void {\n if (this._value) {\n this.selectionDispatcher.notify(this._value as unknown as string, this.id);\n } else if (this.useStateSaving && this.hasSavedState) {\n Object.keys(this.state!).forEach((key: string) => {\n if (this.state && this.state[key].expanded) {\n this.selectionDispatcher.notify(this.state[key].value as unknown as string, this.id);\n }\n });\n } else {\n this.selectionDispatcher.notify(this._defaultValue as string, this.id);\n }\n\n this.keyManager = new FocusKeyManager(this.items()).withHomeAndEnd();\n\n if (this.orientation() === 'horizontal') {\n this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');\n } else {\n this.keyManager.withVerticalOrientation();\n }\n\n this.onValueChangeSubscription = merge(\n ...this.items().map((item) => outputToObservable(item.expandedChange))\n ).subscribe(() => this.onValueChange.emit());\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef, true);\n }\n\n ngOnDestroy(): void {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.openCloseAllActions.complete();\n this.onValueChangeSubscription.unsubscribe();\n }\n\n /** @docs-private */\n keydownHandler(event: KeyboardEvent) {\n if (!this.keyManager.activeItem) {\n this.keyManager.setFirstItemActive();\n }\n\n const activeItem = this.keyManager.activeItem;\n\n if (\n (event.keyCode === ENTER || event.keyCode === SPACE) &&\n !this.keyManager.isTyping() &&\n activeItem &&\n !activeItem.disabled\n ) {\n event.preventDefault();\n activeItem.toggle();\n } else if (event.keyCode === TAB && event.shiftKey) {\n if (this.keyManager.activeItemIndex === 0) return;\n\n this.keyManager.setPreviousItemActive();\n event.preventDefault();\n } else if (event.keyCode === TAB) {\n if (this.keyManager.activeItemIndex === this.items().length - 1) return;\n\n this.keyManager.setNextItemActive();\n event.preventDefault();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n if (this.isMultiple) {\n this.openCloseAllActions.next(true);\n }\n }\n\n /** Closes all enabled accordion items. */\n closeAll(): void {\n this.openCloseAllActions.next(false);\n }\n\n /** @docs-private */\n setActiveItem(item: KbqAccordionItem) {\n this.keyManager.setActiveItem(item);\n }\n\n /** @docs-private */\n saveItemState(item: KbqAccordionItem, force: boolean = true): void {\n if (!this.isBrowser || (!force && !!this.state && !!this.state[item.id])) return;\n\n this.state = this.state || {};\n\n this.state[item.id] = item.getState();\n\n this.localStorage.setItem(this.id, JSON.stringify(this.state));\n }\n\n private getSavedState() {\n if (!this.isBrowser) return;\n\n this.state = JSON.parse(this.localStorage.getItem(this.id) as string);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordion } from './accordion.component';\n\n@Directive({\n selector: '[kbqAccordionTrigger]',\n host: {\n '[attr.id]': 'triggerId',\n '[attr.role]': '\"button\"',\n '[attr.aria-expanded]': 'item.expanded',\n '[attr.aria-controls]': 'contentId',\n '[attr.aria-disabled]': 'item.disabled',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation',\n '(click)': 'onClick()'\n }\n})\nexport class KbqAccordionTriggerDirective {\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly accordion = inject(KbqAccordion);\n /** @docs-private */\n protected readonly item = inject(KbqAccordionItem);\n\n /** @docs-private */\n get triggerId(): string {\n return `${this.item.id}-trigger`;\n }\n\n /** @docs-private */\n get contentId(): string {\n return `${this.item.id}-content`;\n }\n\n /** Fires when trigger clicked */\n onClick(): void {\n if (!this.accordion.collapsible() && this.item.expanded) return;\n\n this.item.toggle();\n\n this.accordion.setActiveItem(this.item);\n }\n\n /** @docs-private */\n focus() {\n this.nativeElement.focus();\n }\n}\n","import {\n afterNextRender,\n AfterRenderRef,\n AfterViewInit,\n Component,\n inject,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionVariant } from './accordion.component';\n\n@Component({\n selector: 'kbq-accordion-trigger, [kbq-accordion-trigger]',\n imports: [KbqIcon],\n template: `\n <i\n kbq-icon=\"{{ isHugSpaceBetween ? 'kbq-chevron-down-s_16' : 'kbq-chevron-right-s_16' }}\"\n class=\"kbq-accordion-trigger__icon\"\n ></i>\n\n <ng-content />\n `,\n styleUrls: ['accordion-trigger.component.scss', 'accordion-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-accordion-trigger',\n '[class.kbq-accordion-trigger_fill]': 'isFill',\n '[class.kbq-accordion-trigger_hug]': 'isHug',\n '[class.kbq-accordion-trigger_hug-space-between]': 'isHugSpaceBetween'\n },\n hostDirectives: [KbqAccordionTriggerDirective]\n})\nexport class KbqAccordionTrigger implements AfterViewInit {\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly accordion: KbqAccordion = inject(KbqAccordion);\n\n /** @docs-private */\n readonly icon = viewChild.required(KbqIcon);\n\n private savedTransition: string;\n private readonly afterRenderRef?: AfterRenderRef;\n\n get isFill(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.fill;\n }\n\n get isHug(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.hug;\n }\n\n get isHugSpaceBetween(): boolean {\n return this.accordion.variant() === KbqAccordionVariant.hugSpaceBetween;\n }\n\n constructor() {\n this.afterRenderRef = afterNextRender(() => {\n setTimeout(() => this.enableAnimation());\n\n this.afterRenderRef?.destroy();\n });\n }\n\n ngAfterViewInit(): void {\n this.disableAnimation();\n }\n\n disableAnimation() {\n this.savedTransition = this.icon().elementRef.nativeElement.style.transition;\n\n this.icon().getHostElement().style.transition = 'none';\n }\n\n enableAnimation() {\n this.icon().getHostElement().style.transition = this.savedTransition;\n }\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n contentChild,\n Directive,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionOrientation } from './accordion.component';\n\nlet uniqueIdCounter: number = 0;\n\nexport type KbqAccordionItemState = 'open' | 'closed';\n\n@Directive({\n selector: 'kbq-accordion-item, [kbq-accordion-item]',\n host: {\n class: 'kbq-accordion-item',\n '[attr.data-state]': 'dataState',\n '[attr.data-disabled]': 'disabled',\n '[attr.data-orientation]': 'orientation'\n }\n})\nexport class KbqAccordionItem implements OnDestroy {\n /** @docs-private */\n protected readonly accordion = inject(KbqAccordion);\n /** @docs-private */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /** @docs-private */\n protected readonly expansionDispatcher = inject(UniqueSelectionDispatcher);\n\n /** @docs-private */\n readonly trigger = contentChild(KbqAccordionTriggerDirective);\n /** @docs-private */\n readonly triggerComponent = contentChild(KbqAccordionTrigger);\n\n /** @docs-private */\n readonly content = contentChild(forwardRef(() => KbqAccordionContentDirective));\n\n /** The unique AccordionItem id. */\n get id(): string {\n return this._id;\n }\n\n private _id = `kbq-accordion-item-${uniqueIdCounter++}`;\n\n get dataState(): KbqAccordionItemState {\n return this.expanded ? 'open' : 'closed';\n }\n\n get orientation(): KbqAccordionOrientation {\n return this.accordion.orientation();\n }\n\n /** Whether the AccordionItem is expanded. */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get expanded(): boolean {\n return this._expanded;\n }\n\n set expanded(expanded: boolean) {\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n // TODO: The 'emit' function requires a mandatory void argument\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the KbqAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.value;\n\n this.expansionDispatcher.notify(this.value, accordionId);\n } else {\n // TODO: The 'emit' function requires a mandatory void argument\n this.closed.emit();\n }\n\n this.content().toggle();\n\n this.accordion.saveItemState(this);\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private _expanded = false;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value || this.id;\n }\n\n private _value?: string;\n\n /** Whether the AccordionItem is disabled. */\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this.accordion.disabled() ?? this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private _disabled = false;\n\n /** Event emitted every time the AccordionItem is closed. */\n readonly closed = output<void>();\n /** Event emitted every time the AccordionItem is opened. */\n readonly opened = output<void>();\n\n /**\n * Event emitted when the AccordionItem is destroyed.\n * @docs-private\n */\n readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n readonly expandedChange = output<boolean>();\n\n /** Unregister function for expansionDispatcher. */\n private removeUniqueSelectionListener: () => void;\n\n /** Subscription to openAll/closeAll events. */\n private openCloseAllSubscription = Subscription.EMPTY;\n\n constructor() {\n this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion.isMultiple) {\n if (this.accordion.id === accordionId && id.includes(this.value)) {\n this.expanded = true;\n }\n } else {\n this.expanded = this.accordion.id === accordionId && id.includes(this.value);\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();\n }\n\n this.accordion.saveItemState(this, false);\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.destroyed.emit();\n this.destroyed.complete();\n this.removeUniqueSelectionListener();\n this.openCloseAllSubscription.unsubscribe();\n }\n\n focus(): void {\n this.trigger()?.focus();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n getState(): any {\n return {\n expanded: this.expanded,\n value: this.value\n };\n }\n\n disableAnimation() {\n this.content()?.disableAnimation();\n this.triggerComponent()?.disableAnimation();\n }\n\n enableAnimation() {\n this.content()?.enableAnimation();\n this.triggerComponent()?.enableAnimation();\n }\n\n private subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion.openCloseAllActions.subscribe((expanded) => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n afterNextRender,\n AfterRenderRef,\n AfterViewInit,\n Directive,\n inject,\n Renderer2,\n signal\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n selector: '[kbqAccordionContent]',\n host: {\n '[attr.id]': 'contentId',\n '[attr.role]': '\"region\"',\n '[attr.hidden]': 'hidden() ? \"\" : null',\n '[attr.aria-labelledby]': 'triggerId',\n\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation',\n\n '(transitionend)': 'toggle()'\n },\n exportAs: 'kbqAccordionContent'\n})\nexport class KbqAccordionContentDirective implements AfterContentInit, AfterViewInit {\n private readonly renderer: Renderer2 = inject(Renderer2);\n private readonly platform = inject(Platform);\n\n /** @docs-private */\n protected readonly nativeElement = kbqInjectNativeElement();\n /** @docs-private */\n protected readonly item = inject(KbqAccordionItem);\n\n /** @docs-private */\n get contentId(): string {\n return `${this.item.id}-content`;\n }\n\n /** @docs-private */\n get triggerId(): string {\n return `${this.item.id}-trigger`;\n }\n\n /** @docs-private */\n protected readonly hidden = signal<boolean>(true);\n\n private savedTransition: string;\n private readonly afterRenderRef?: AfterRenderRef;\n\n constructor() {\n this.afterRenderRef = afterNextRender(() => {\n this.enableAnimation();\n\n this.afterRenderRef?.destroy();\n });\n }\n\n ngAfterViewInit(): void {\n this.disableAnimation();\n }\n\n ngAfterContentInit(): void {\n if (!this.platform.isBrowser) return;\n\n const { height, width } = this.nativeElement.getBoundingClientRect();\n\n this.renderer.setProperty(\n this.nativeElement,\n 'style',\n `\n --radix-accordion-content-height: ${height}px;\n --radix-accordion-content-width: ${width}px;\n `\n );\n }\n\n toggle() {\n this.hidden.set(!this.item.expanded);\n }\n\n disableAnimation() {\n this.savedTransition = this.nativeElement.style.transition;\n\n this.nativeElement.style.transition = 'none';\n }\n\n enableAnimation() {\n this.nativeElement.style.transition = this.savedTransition;\n }\n}\n","import { Component } from '@angular/core';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\n\n@Component({\n selector: 'kbq-accordion-content, [kbq-accordion-content]',\n template: `\n <p><ng-content /></p>\n `,\n host: {\n class: 'kbq-accordion-content'\n },\n hostDirectives: [KbqAccordionContentDirective]\n})\nexport class KbqAccordionContent {}\n","import { Directive, inject } from '@angular/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n selector: '[kbqAccordionHeader]',\n host: {\n '[attr.role]': '\"heading\"',\n '[attr.aria-level]': '2',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation'\n }\n})\nexport class KbqAccordionHeaderDirective {\n protected readonly item = inject(KbqAccordionItem);\n}\n","import { Directive } from '@angular/core';\nimport { KbqAccordionHeaderDirective } from './accordion-header.directive';\n\n@Directive({\n selector: 'kbq-accordion-header, [kbq-accordion-header]',\n host: {\n class: 'kbq-accordion-header'\n },\n hostDirectives: [KbqAccordionHeaderDirective]\n})\nexport class KbqAccordionHeader {}\n","import { NgModule } from '@angular/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionContent } from './accordion-content';\nimport { KbqAccordionHeader } from './accordion-header';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordion } from './accordion.component';\n\n@NgModule({\n imports: [\n KbqIcon,\n KbqAccordion,\n KbqAccordionContent,\n KbqAccordionHeader,\n KbqAccordionItem,\n KbqAccordionTrigger\n ],\n exports: [\n KbqAccordion,\n KbqAccordionContent,\n KbqAccordionHeader,\n KbqAccordionItem,\n KbqAccordionTrigger\n ]\n})\nexport class KbqAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uniqueIdCounter","i1.KbqAccordionTriggerDirective","i1.KbqAccordionContentDirective","i1.KbqAccordionHeaderDirective"],"mappings":"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"}
|
|
@@ -450,19 +450,28 @@ class KbqActionsPanel {
|
|
|
450
450
|
overlayRef.addPanelClass(overlayPanelClass);
|
|
451
451
|
if (overlayContainer) {
|
|
452
452
|
const { afterClosed } = actionsPanelRef;
|
|
453
|
+
this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement);
|
|
453
454
|
this.resizeObserver
|
|
454
455
|
.observe(overlayContainer.nativeElement)
|
|
455
456
|
.pipe(takeUntil(afterClosed))
|
|
456
457
|
.subscribe(() => {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
overlayRef.overlayElement.style.maxWidth = coerceCssPixelValue(maxWidth);
|
|
461
|
-
overlayRef.updatePosition();
|
|
458
|
+
if (this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement)) {
|
|
459
|
+
overlayRef.updatePosition();
|
|
460
|
+
}
|
|
462
461
|
});
|
|
463
462
|
}
|
|
464
463
|
return actionsPanelRef;
|
|
465
464
|
}
|
|
465
|
+
syncOverlayMaxWidth(container, overlayElement) {
|
|
466
|
+
const { width } = container.getBoundingClientRect();
|
|
467
|
+
if (!width)
|
|
468
|
+
return false;
|
|
469
|
+
const maxWidth = coerceCssPixelValue(width);
|
|
470
|
+
if (overlayElement.style.maxWidth === maxWidth)
|
|
471
|
+
return false;
|
|
472
|
+
overlayElement.style.maxWidth = maxWidth;
|
|
473
|
+
return true;
|
|
474
|
+
}
|
|
466
475
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqActionsPanel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
467
476
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqActionsPanel, providedIn: 'root' }); }
|
|
468
477
|
}
|