@koobiq/components 18.33.0 → 18.34.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/actions-panel/actions-panel-config.d.ts +4 -3
- package/actions-panel/actions-panel-container.scss +0 -6
- package/actions-panel/actions-panel-ref.d.ts +13 -0
- package/actions-panel/actions-panel.d.ts +1 -7
- package/clamped-text/clamped-text.d.ts +61 -0
- package/clamped-text/clamped-text.scss +17 -0
- package/clamped-text/constants.d.ts +14 -0
- package/clamped-text/index.d.ts +3 -0
- package/clamped-text/module.d.ts +7 -0
- package/content-panel/content-panel-aside.scss +9 -0
- package/content-panel/content-panel-body.scss +9 -0
- package/content-panel/content-panel-container.scss +32 -0
- package/content-panel/content-panel-footer.scss +5 -0
- package/content-panel/content-panel-header.scss +30 -0
- package/content-panel/content-panel-tokens.scss +9 -0
- package/content-panel/content-panel.d.ts +149 -0
- package/content-panel/content-panel.scss +25 -0
- package/content-panel/index.d.ts +3 -0
- package/content-panel/module.d.ts +7 -0
- package/content-panel/resizable.d.ts +70 -0
- package/core/locales/en-US.d.ts +4 -0
- package/core/locales/es-LA.d.ts +4 -0
- package/core/locales/fa-IR.d.ts +4 -0
- package/core/locales/locale-service.d.ts +28 -0
- package/core/locales/pt-BR.d.ts +4 -0
- package/core/locales/ru-RU.d.ts +4 -0
- package/core/locales/tk-TM.d.ts +4 -0
- package/core/locales/types.d.ts +5 -0
- package/core/locales/zh-CN.d.ts +4 -0
- package/core/styles/common/_select.scss +6 -3
- package/datepicker/calendar.component.d.ts +1 -1
- package/datepicker/datepicker-input.directive.d.ts +1 -1
- package/datepicker/datepicker-toggle.component.d.ts +1 -1
- package/datepicker/datepicker.component.d.ts +2 -2
- package/dynamic-translation/dynamic-translation.d.ts +72 -0
- package/dynamic-translation/index.d.ts +2 -0
- package/dynamic-translation/module.d.ts +7 -0
- package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
- package/esm2022/actions-panel/actions-panel-container.mjs +7 -7
- package/esm2022/actions-panel/actions-panel-ref.mjs +17 -1
- package/esm2022/actions-panel/actions-panel.mjs +34 -24
- package/esm2022/button-toggle/button-toggle.component.mjs +9 -9
- package/esm2022/clamped-text/clamped-text.mjs +202 -0
- package/esm2022/clamped-text/constants.mjs +20 -0
- package/esm2022/clamped-text/index.mjs +4 -0
- package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +5 -0
- package/esm2022/clamped-text/module.mjs +19 -0
- package/esm2022/content-panel/content-panel.mjs +432 -0
- package/esm2022/content-panel/index.mjs +4 -0
- package/esm2022/content-panel/koobiq-components-content-panel.mjs +5 -0
- package/esm2022/content-panel/module.mjs +42 -0
- package/esm2022/content-panel/resizable.mjs +138 -0
- package/esm2022/core/locales/en-US.mjs +5 -1
- package/esm2022/core/locales/es-LA.mjs +5 -1
- package/esm2022/core/locales/fa-IR.mjs +5 -1
- package/esm2022/core/locales/pt-BR.mjs +5 -1
- package/esm2022/core/locales/ru-RU.mjs +5 -1
- package/esm2022/core/locales/tk-TM.mjs +5 -1
- package/esm2022/core/locales/types.mjs +1 -1
- package/esm2022/core/locales/zh-CN.mjs +5 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -2
- package/esm2022/datepicker/calendar.component.mjs +9 -9
- package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
- package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
- package/esm2022/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/dynamic-translation/dynamic-translation.mjs +175 -0
- package/esm2022/dynamic-translation/index.mjs +3 -0
- package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +5 -0
- package/esm2022/dynamic-translation/module.mjs +25 -0
- package/esm2022/file-upload/file-drop.mjs +1 -1
- package/esm2022/file-upload/multiple-file-upload.component.mjs +11 -11
- package/esm2022/file-upload/single-file-upload.component.mjs +11 -11
- package/esm2022/filter-bar/filter-refresher.mjs +5 -5
- package/esm2022/filter-bar/filter-reset.mjs +3 -3
- package/esm2022/filter-bar/filter-search.mjs +11 -11
- package/esm2022/filter-bar/filters.mjs +3 -3
- package/esm2022/filter-bar/pipe-add.mjs +5 -5
- package/esm2022/filter-bar/pipes/base-pipe.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-button.mjs +7 -7
- package/esm2022/filter-bar/pipes/pipe-date.mjs +9 -1
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +9 -1
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +4 -10
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +10 -9
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +7 -7
- package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -4
- package/esm2022/filter-bar/pipes/pipe-text.mjs +8 -2
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +9 -3
- package/esm2022/form-field/cleaner.mjs +16 -11
- package/esm2022/form-field/fieldset.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +5 -5
- package/esm2022/form-field/password-hint.mjs +14 -3
- package/esm2022/form-field/password-toggle.mjs +45 -10
- package/esm2022/form-field/reactive-password-hint.mjs +18 -17
- package/esm2022/form-field/stepper.mjs +9 -9
- package/esm2022/icon/icon-button.component.mjs +2 -2
- package/esm2022/input/input-number.mjs +15 -10
- package/esm2022/markdown/markdown.component.mjs +3 -3
- package/esm2022/modal/modal.component.mjs +14 -14
- package/esm2022/modal/modal.directive.mjs +7 -5
- package/esm2022/navbar/navbar-item.component.mjs +3 -3
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +3 -3
- package/esm2022/scrollbar/scrollbar.component.mjs +5 -5
- package/esm2022/select/select.component.mjs +24 -11
- package/esm2022/sidebar/sidebar.component.mjs +46 -27
- package/esm2022/sidepanel/sidepanel-container.component.mjs +15 -4
- package/esm2022/sidepanel/sidepanel-directives.mjs +5 -5
- package/esm2022/sidepanel/sidepanel-ref.mjs +8 -6
- package/esm2022/splitter/splitter.component.mjs +1 -1
- package/esm2022/tabs/tab-body.component.mjs +3 -3
- package/esm2022/tabs/tab-group.component.mjs +27 -27
- package/esm2022/tabs/tab.component.mjs +4 -4
- package/esm2022/tags/tag-input.mjs +2 -2
- package/esm2022/tags/tag-list.component.mjs +13 -13
- package/esm2022/textarea/textarea.component.mjs +6 -4
- package/esm2022/timepicker/timepicker.directive.mjs +1 -1
- package/esm2022/timezone/timezone-select.component.mjs +3 -3
- package/esm2022/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/tree/tree-selection.component.mjs +4 -4
- package/esm2022/tree-select/tree-select.component.mjs +11 -9
- package/esm2022/username/constants.mjs +25 -0
- package/esm2022/username/index.mjs +6 -0
- package/esm2022/username/koobiq-components-username.mjs +5 -0
- package/esm2022/username/module.mjs +35 -0
- package/esm2022/username/types.mjs +32 -0
- package/esm2022/username/username.mjs +129 -0
- package/esm2022/username/username.pipe.mjs +92 -0
- package/fesm2022/koobiq-components-actions-panel.mjs +56 -31
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +8 -8
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +242 -0
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -0
- package/fesm2022/koobiq-components-content-panel.mjs +612 -0
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -0
- package/fesm2022/koobiq-components-core.mjs +29 -1
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +21 -18
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +2 -2
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +204 -0
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -0
- package/fesm2022/koobiq-components-file-upload.mjs +20 -20
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +75 -58
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +100 -49
- 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-input.mjs +14 -9
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +2 -2
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +19 -17
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +2 -2
- package/fesm2022/koobiq-components-navbar.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-scrollbar.mjs +4 -4
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +23 -10
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +45 -26
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +24 -12
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +31 -31
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +13 -13
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +5 -3
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- 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-tooltip.mjs +2 -2
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +10 -8
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +3 -3
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +308 -0
- package/fesm2022/koobiq-components-username.mjs.map +1 -0
- package/file-upload/_file-upload-theme.scss +1 -1
- package/file-upload/file-drop.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.d.ts +1 -1
- package/file-upload/single-file-upload.component.d.ts +2 -2
- package/filter-bar/pipes/pipe-date.d.ts +3 -1
- package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
- package/filter-bar/pipes/pipe-multi-select.d.ts +0 -1
- package/filter-bar/pipes/pipe-multi-tree-select.d.ts +3 -2
- package/filter-bar/pipes/pipe-select.d.ts +0 -1
- package/filter-bar/pipes/pipe-tree-select.d.ts +3 -2
- package/form-field/_form-field-theme.scss +27 -18
- package/form-field/cleaner.d.ts +4 -2
- package/form-field/cleaner.scss +6 -2
- package/form-field/form-field.scss +5 -1
- package/form-field/password-hint.d.ts +7 -0
- package/form-field/password-toggle.d.ts +23 -3
- package/form-field/password-toggle.scss +4 -8
- package/form-field/reactive-password-hint.d.ts +1 -0
- package/icon/_icon-button-theme.scss +8 -2
- package/modal/modal.component.d.ts +6 -6
- package/package.json +28 -4
- package/popover/popover-confirm.component.d.ts +1 -1
- package/popover/popover.component.d.ts +2 -2
- package/schematics/ng-add/index.js +3 -3
- package/scrollbar/scrollbar.component.d.ts +4 -4
- package/select/select.component.d.ts +14 -2
- package/sidebar/sidebar.component.d.ts +31 -5
- package/sidepanel/sidepanel-container.component.d.ts +9 -0
- package/sidepanel/sidepanel-ref.d.ts +3 -3
- package/splitter/splitter.component.d.ts +2 -2
- package/tabs/tab-group.component.d.ts +1 -1
- package/tabs/tab.component.d.ts +1 -1
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/timepicker/timepicker.directive.d.ts +1 -1
- package/tooltip/tooltip.component.d.ts +2 -2
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +1 -1
- package/username/constants.d.ts +15 -0
- package/username/index.d.ts +5 -0
- package/username/module.d.ts +8 -0
- package/username/types.d.ts +62 -0
- package/username/username-tokens.scss +6 -0
- package/username/username.d.ts +68 -0
- package/username/username.pipe.d.ts +23 -0
- package/username/username.scss +107 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keys for formatting username parts in short (initial) or full form.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum KbqUsernameFormatKey {
|
|
5
|
+
/**
|
|
6
|
+
* Short form of the first name (e.g., "John" → "J")
|
|
7
|
+
*/
|
|
8
|
+
FirstNameShort = "f",
|
|
9
|
+
/**
|
|
10
|
+
* Full form of the first name (e.g., "John")
|
|
11
|
+
*/
|
|
12
|
+
FirstNameFull = "F",
|
|
13
|
+
/**
|
|
14
|
+
* Short form of the middle name (e.g., "Henry" → "H")
|
|
15
|
+
*/
|
|
16
|
+
MiddleNameShort = "m",
|
|
17
|
+
/**
|
|
18
|
+
* Full form of the middle name (e.g., "Henry")
|
|
19
|
+
*/
|
|
20
|
+
MiddleNameFull = "M",
|
|
21
|
+
/**
|
|
22
|
+
* Short form of the last name (e.g., "Doe" → "D")
|
|
23
|
+
*/
|
|
24
|
+
LastNameShort = "l",
|
|
25
|
+
/**
|
|
26
|
+
* Full form of the last name (e.g., "Doe")
|
|
27
|
+
*/
|
|
28
|
+
LastNameFull = "L",
|
|
29
|
+
Dot = "."
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Maps each format key to a property name in the user profile object.
|
|
33
|
+
* Allows flexible formatting regardless of profile field names.
|
|
34
|
+
*/
|
|
35
|
+
export type KbqFormatKeyToProfileMapping<T = any> = {
|
|
36
|
+
[key in Exclude<KbqUsernameFormatKey, KbqUsernameFormatKey.FirstNameFull | KbqUsernameFormatKey.MiddleNameFull | KbqUsernameFormatKey.LastNameFull>]: keyof T | undefined;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Maps each format key to a property name in the user profile object.
|
|
40
|
+
* Allows flexible formatting regardless of profile field names.
|
|
41
|
+
* @see KbqUsernameCustomPipe
|
|
42
|
+
*/
|
|
43
|
+
export type KbqFormatKeyToProfileMappingExtended<T = any> = {
|
|
44
|
+
[key in KbqUsernameFormatKey]: keyof T | undefined;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Layout mode for displaying a username and applying text-ellipsis.
|
|
48
|
+
*
|
|
49
|
+
* - `stacked`: Elements shown vertically.
|
|
50
|
+
* - `inline`: Elements shown in one line. Text ellipsis is applied to both parts.
|
|
51
|
+
* - `text`: Plain text, no layout styling. No text-ellipsis.
|
|
52
|
+
*/
|
|
53
|
+
export type KbqUsernameMode = 'stacked' | 'inline' | 'text';
|
|
54
|
+
/**
|
|
55
|
+
* Visual style of the username.
|
|
56
|
+
*
|
|
57
|
+
* - `default`: standard styling with primary and secondary colors.
|
|
58
|
+
* - `error`: error colors (e.g., red).
|
|
59
|
+
* - `accented`: no color theming; emphasizes via typography only.
|
|
60
|
+
* - `inherit`: inherits parent styles, no theming. For example, useful when using inside links.
|
|
61
|
+
*/
|
|
62
|
+
export type KbqUsernameStyle = 'default' | 'error' | 'accented' | 'inherit';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { KbqUsernameMode, KbqUsernameStyle } from './types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Basic user info
|
|
5
|
+
* @docs-private
|
|
6
|
+
*/
|
|
7
|
+
export type KbqUserInfo = {
|
|
8
|
+
firstName?: string;
|
|
9
|
+
lastName?: string;
|
|
10
|
+
middleName?: string;
|
|
11
|
+
login?: string;
|
|
12
|
+
site?: string;
|
|
13
|
+
};
|
|
14
|
+
/** Styles the primary part of the username (e.g. full name). */
|
|
15
|
+
export declare class KbqUsernamePrimary {
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernamePrimary, never>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernamePrimary, "[kbqUsernamePrimary]", ["kbqUsernamePrimary"], {}, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
19
|
+
/** Styles the secondary part. */
|
|
20
|
+
export declare class KbqUsernameSecondary {
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameSecondary, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameSecondary, "[kbqUsernameSecondary]", ["kbqUsernameSecondary"], {}, {}, never, never, true, never>;
|
|
23
|
+
}
|
|
24
|
+
/** Styles a secondary hint. */
|
|
25
|
+
export declare class KbqUsernameSecondaryHint {
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameSecondaryHint, never>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameSecondaryHint, "[kbqUsernameSecondaryHint]", ["kbqUsernameSecondaryHint"], {}, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
29
|
+
/** Custom content for `KbqUsername`, overrides default view. */
|
|
30
|
+
export declare class KbqUsernameCustomView {
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameCustomView, never>;
|
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqUsernameCustomView, "kbq-username-custom-view, [kbq-username-custom-view]", ["kbqUsernameCustomView"], {}, {}, never, never, true, never>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Displays a user's name based on profile data.
|
|
36
|
+
* Supports different display modes and visual styles.
|
|
37
|
+
* A custom view can be provided via `<kbq-username-custom-view>` for full control over the output.
|
|
38
|
+
* Accepts input profile data and optional formatting options.
|
|
39
|
+
*/
|
|
40
|
+
export declare class KbqUsername {
|
|
41
|
+
/** User profile data used for display. */
|
|
42
|
+
readonly userInfo: import("@angular/core").InputSignal<KbqUserInfo | undefined>;
|
|
43
|
+
/** Enables compact display mode */
|
|
44
|
+
readonly isCompact: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
|
+
/** Format string for rendering the user's full name. */
|
|
46
|
+
readonly fullNameFormat: import("@angular/core").InputSignal<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Display mode of the username.
|
|
49
|
+
* @default inline
|
|
50
|
+
*/
|
|
51
|
+
readonly mode: import("@angular/core").InputSignal<KbqUsernameMode>;
|
|
52
|
+
/**
|
|
53
|
+
* Visual style of the username.
|
|
54
|
+
* @default default
|
|
55
|
+
*/
|
|
56
|
+
readonly type: import("@angular/core").InputSignal<KbqUsernameStyle>;
|
|
57
|
+
/**
|
|
58
|
+
* Custom projected view for username rendering.
|
|
59
|
+
* @docs-private
|
|
60
|
+
*/
|
|
61
|
+
protected readonly customView: import("@angular/core").Signal<KbqUsernameCustomView | undefined>;
|
|
62
|
+
/** @docs-private */
|
|
63
|
+
protected readonly hasFullName: import("@angular/core").Signal<string | false | undefined>;
|
|
64
|
+
/** @docs-private */
|
|
65
|
+
protected readonly class: import("@angular/core").Signal<string>;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsername, never>;
|
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqUsername, "kbq-username", ["kbqUsername"], { "userInfo": { "alias": "userInfo"; "required": false; "isSignal": true; }; "isCompact": { "alias": "isCompact"; "required": false; "isSignal": true; }; "fullNameFormat": { "alias": "fullNameFormat"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, ["customView"], ["kbq-username-custom-view,[kbq-username-custom-view]"], true, never>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { KbqFormatKeyToProfileMapping, KbqFormatKeyToProfileMappingExtended } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class KbqUsernamePipe<T = unknown> implements PipeTransform {
|
|
5
|
+
private readonly mapping;
|
|
6
|
+
/** Builds a formatted name string from the user profile using the provided format and mapping. */
|
|
7
|
+
transform(profile: T, format?: string, customMapping?: KbqFormatKeyToProfileMapping): string;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernamePipe<any>, never>;
|
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<KbqUsernamePipe<any>, "kbqUsername", true>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<KbqUsernamePipe<any>>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Pipe to format a user profile into a name string using a format pattern and field mapping.
|
|
14
|
+
* Lowercase keys output initials; uppercase keys show full values.
|
|
15
|
+
*/
|
|
16
|
+
export declare class KbqUsernameCustomPipe<T = unknown> implements PipeTransform {
|
|
17
|
+
private readonly mapping;
|
|
18
|
+
/** Builds a formatted name string from the user profile using the provided format and mapping. */
|
|
19
|
+
transform(profile: T, format?: string, customMapping?: KbqFormatKeyToProfileMappingExtended<T>): string;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqUsernameCustomPipe<any>, never>;
|
|
21
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<KbqUsernameCustomPipe<any>, "kbqUsernameCustom", true>;
|
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<KbqUsernameCustomPipe<any>>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
@use '../core/styles/common';
|
|
2
|
+
@use '../core/styles/common/tokens';
|
|
3
|
+
|
|
4
|
+
// Targets the layout container: either the root or custom view if present.
|
|
5
|
+
@mixin _kbq-username-content-wrapper {
|
|
6
|
+
&:not(:has(> .kbq-username__custom-view)),
|
|
7
|
+
& > .kbq-username__custom-view {
|
|
8
|
+
@content;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@mixin _kbq-username-theme() {
|
|
13
|
+
& {
|
|
14
|
+
color: var(--kbq-username-primary-color);
|
|
15
|
+
|
|
16
|
+
.kbq-username__secondary,
|
|
17
|
+
.kbq-username__secondary-hint {
|
|
18
|
+
color: var(--kbq-username-secondary-color);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&.kbq-username_default {
|
|
23
|
+
.kbq-username__secondary-hint,
|
|
24
|
+
.kbq-username__primary + .kbq-username__secondary {
|
|
25
|
+
--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.kbq-username_error {
|
|
30
|
+
--kbq-username-primary-color: var(--kbq-foreground-error);
|
|
31
|
+
--kbq-username-secondary-color: var(--kbq-foreground-error);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.kbq-username_accented {
|
|
35
|
+
--kbq-username-primary-color: var(--kbq-foreground-contrast);
|
|
36
|
+
--kbq-username-secondary-color: var(--kbq-foreground-contrast);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&.kbq-username_inherit {
|
|
40
|
+
--kbq-username-primary-color: inherit;
|
|
41
|
+
--kbq-username-secondary-color: inherit;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@mixin _kbq-username-typography() {
|
|
46
|
+
& {
|
|
47
|
+
@include tokens.kbq-typography-level-to-styles_css-variables(typography, text-normal);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&.kbq-username_accented {
|
|
51
|
+
.kbq-username__primary {
|
|
52
|
+
@include tokens.kbq-typography-level-to-styles_css-variables(typography, text-normal-strong);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.kbq-username {
|
|
58
|
+
@include _kbq-username-theme();
|
|
59
|
+
@include _kbq-username-typography();
|
|
60
|
+
|
|
61
|
+
&.kbq-username_stacked {
|
|
62
|
+
@include _kbq-username-content-wrapper {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-flow: column nowrap;
|
|
65
|
+
justify-content: flex-start;
|
|
66
|
+
align-items: normal;
|
|
67
|
+
|
|
68
|
+
gap: var(--kbq-username-vertical-gap);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&.kbq-username_inline:not(.kbq-username_inherit) {
|
|
73
|
+
@include _kbq-username-content-wrapper {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-flow: row nowrap;
|
|
76
|
+
justify-content: flex-start;
|
|
77
|
+
align-items: baseline;
|
|
78
|
+
|
|
79
|
+
.kbq-username__primary + .kbq-username__secondary {
|
|
80
|
+
@include common.rtl-prop(margin-left, margin-right, var(--kbq-username-horizontal-gap), 0);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&.kbq-username_text {
|
|
86
|
+
@include _kbq-username-content-wrapper {
|
|
87
|
+
display: inline;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&.kbq-username_stacked,
|
|
92
|
+
&.kbq-username_inline {
|
|
93
|
+
@include _kbq-username-content-wrapper {
|
|
94
|
+
.kbq-username__primary,
|
|
95
|
+
.kbq-username__secondary {
|
|
96
|
+
@include common.kbq-truncate-line();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&.kbq-username_inherit {
|
|
102
|
+
@include _kbq-username-content-wrapper {
|
|
103
|
+
font: inherit;
|
|
104
|
+
display: inherit;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|