@koobiq/components 19.0.0 → 19.2.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.
Files changed (106) hide show
  1. package/app-switcher/app-switcher.d.ts +11 -4
  2. package/checkbox/checkbox.scss +5 -21
  3. package/core/locales/en-US.d.ts +8 -4
  4. package/core/locales/es-LA.d.ts +8 -4
  5. package/core/locales/locale-service.d.ts +40 -20
  6. package/core/locales/pt-BR.d.ts +8 -4
  7. package/core/locales/ru-RU.d.ts +8 -4
  8. package/core/locales/tk-TM.d.ts +8 -4
  9. package/core/locales/types.d.ts +17 -0
  10. package/core/option/option.d.ts +1 -0
  11. package/core/styles/common/_animation.scss +2 -1
  12. package/core/styles/common/_visually-hidden.scss +1 -0
  13. package/core/styles/theming/_scrollbar-theme.scss +1 -0
  14. package/datepicker/datepicker-input.directive.d.ts +1 -1
  15. package/dropdown/dropdown.scss +3 -1
  16. package/fesm2022/koobiq-components-app-switcher.mjs +60 -30
  17. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  18. package/fesm2022/koobiq-components-button.mjs +2 -2
  19. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  20. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  21. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  22. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-core.mjs +61 -39
  24. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-datepicker.mjs +0 -1
  26. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  28. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-file-upload.mjs +114 -80
  30. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-filter-bar.mjs +161 -64
  32. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-form-field.mjs +1 -1
  34. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  37. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-modal.mjs +2 -2
  39. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  40. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  42. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-popover.mjs +8 -4
  44. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-progress-spinner.mjs +3 -2
  46. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-risk-level.mjs +6 -0
  48. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-select.mjs +4 -2
  51. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  54. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-timepicker.mjs +3 -4
  57. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-title.mjs +17 -4
  59. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  62. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  64. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-tree.mjs +8 -8
  66. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-username.mjs +2 -2
  68. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  69. package/file-upload/_file-upload-theme.scss +0 -256
  70. package/file-upload/file-upload-tokens.scss +25 -18
  71. package/file-upload/file-upload.d.ts +22 -3
  72. package/file-upload/file-upload.scss +8 -4
  73. package/file-upload/multiple-file-upload.component.d.ts +17 -33
  74. package/file-upload/multiple-file-upload.component.scss +209 -91
  75. package/file-upload/primitives/file-drop.d.ts +1 -2
  76. package/file-upload/single-file-upload.component.d.ts +16 -13
  77. package/file-upload/single-file-upload.component.scss +117 -36
  78. package/filter-bar/filter-bar-button.d.ts +5 -0
  79. package/filter-bar/filters.d.ts +38 -6
  80. package/filter-bar/pipes/pipe-multi-select.d.ts +4 -1
  81. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -0
  82. package/loader-overlay/loader-overlay.scss +22 -31
  83. package/modal/modal.scss +1 -1
  84. package/navbar/_navbar-item_vertical.scss +8 -0
  85. package/navbar/navbar-brand.scss +2 -2
  86. package/package.json +6 -6
  87. package/popover/_popover-theme.scss +2 -2
  88. package/popover/popover.component.d.ts +3 -1
  89. package/progress-spinner/_progress-spinner-theme.scss +14 -4
  90. package/progress-spinner/progress-spinner-tokens.scss +2 -0
  91. package/progress-spinner/progress-spinner.scss +1 -1
  92. package/risk-level/risk-level.component.d.ts +3 -0
  93. package/risk-level/risk-level.module.d.ts +3 -0
  94. package/schematics/migrations/new-icons-pack/README.md +52 -4
  95. package/schematics/migrations/new-icons-pack/data.js +1142 -1142
  96. package/schematics/migrations/new-icons-pack/index.js +18 -7
  97. package/schematics/migrations/new-icons-pack/migration.json +4570 -0
  98. package/schematics/migrations/new-icons-pack/replacement.json +18 -0
  99. package/schematics/migrations/new-icons-pack/schema.json +13 -0
  100. package/schematics/ng-add/index.js +4 -4
  101. package/timepicker/timepicker.directive.d.ts +2 -2
  102. package/title/title.directive.d.ts +3 -0
  103. package/tooltip/_tooltip-theme.scss +5 -6
  104. package/tooltip/tooltip.scss +1 -0
  105. package/tree/_tree-theme.scss +11 -5
  106. package/tree/tree-option.scss +2 -1
@@ -247,7 +247,7 @@ class KbqUsername {
247
247
  });
248
248
  }
249
249
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqUsername, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
250
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: KbqUsername, isStandalone: true, selector: "kbq-username", inputs: { userInfo: { classPropertyName: "userInfo", publicName: "userInfo", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, fullNameFormat: { classPropertyName: "fullNameFormat", publicName: "fullNameFormat", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" }, classAttribute: "kbq-username" }, queries: [{ propertyName: "customView", first: true, predicate: KbqUsernameCustomView, descendants: true, isSignal: true }], exportAs: ["kbqUsername"], ngImport: i0, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{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)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"], dependencies: [{ kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i1.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "pipe", type: KbqUsernamePipe, name: "kbqUsername" }, { kind: "directive", type: KbqUsernamePrimary, selector: "[kbqUsernamePrimary]", exportAs: ["kbqUsernamePrimary"] }, { kind: "directive", type: KbqUsernameSecondary, selector: "[kbqUsernameSecondary]", exportAs: ["kbqUsernameSecondary"] }, { kind: "directive", type: KbqUsernameSecondaryHint, selector: "[kbqUsernameSecondaryHint]", exportAs: ["kbqUsernameSecondaryHint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
250
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: KbqUsername, isStandalone: true, selector: "kbq-username", inputs: { userInfo: { classPropertyName: "userInfo", publicName: "userInfo", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, fullNameFormat: { classPropertyName: "fullNameFormat", publicName: "fullNameFormat", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "class()" }, classAttribute: "kbq-username" }, queries: [{ propertyName: "customView", first: true, predicate: KbqUsernameCustomView, descendants: true, isSignal: true }], exportAs: ["kbqUsername"], ngImport: i0, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress.kbq-button,.kbq-progress.kbq-button-icon{position:relative}.kbq-progress.kbq-button:after,.kbq-progress.kbq-button-icon:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{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)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"], dependencies: [{ kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i1.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "pipe", type: KbqUsernamePipe, name: "kbqUsername" }, { kind: "directive", type: KbqUsernamePrimary, selector: "[kbqUsernamePrimary]", exportAs: ["kbqUsernamePrimary"] }, { kind: "directive", type: KbqUsernameSecondary, selector: "[kbqUsernameSecondary]", exportAs: ["kbqUsernameSecondary"] }, { kind: "directive", type: KbqUsernameSecondaryHint, selector: "[kbqUsernameSecondaryHint]", exportAs: ["kbqUsernameSecondaryHint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
251
251
  }
252
252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqUsername, decorators: [{
253
253
  type: Component,
@@ -260,7 +260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
260
260
  ], host: {
261
261
  class: baseClass,
262
262
  '[class]': 'class()'
263
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{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)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"] }]
263
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress.kbq-button,.kbq-progress.kbq-button-icon{position:relative}.kbq-progress.kbq-button:after,.kbq-progress.kbq-button-icon:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-username{color:var(--kbq-username-primary-color)}.kbq-username .kbq-username__secondary,.kbq-username .kbq-username__secondary-hint{color:var(--kbq-username-secondary-color)}.kbq-username.kbq-username_default .kbq-username__secondary-hint,.kbq-username.kbq-username_default .kbq-username__primary+.kbq-username__secondary{--kbq-username-secondary-color: var(--kbq-foreground-contrast-secondary)}.kbq-username.kbq-username_error{--kbq-username-primary-color: var(--kbq-foreground-error);--kbq-username-secondary-color: var(--kbq-foreground-error)}.kbq-username.kbq-username_accented{--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: var(--kbq-foreground-contrast)}.kbq-username.kbq-username_inherit{--kbq-username-primary-color: inherit;--kbq-username-secondary-color: inherit}.kbq-username{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)}.kbq-username.kbq-username_accented .kbq-username__primary{font-size:var(--kbq-typography-text-normal-strong-font-size);font-style:var(--kbq-typography-text-normal-strong-font-style);font-weight:var(--kbq-typography-text-normal-strong-font-weight);line-height:var(--kbq-typography-text-normal-strong-line-height);font-family:var(--kbq-typography-text-normal-strong-font-family);text-transform:var(--kbq-typography-text-normal-strong-text-transform);font-feature-settings:var(--kbq-typography-text-normal-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-strong-letter-spacing)}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_stacked>.kbq-username__custom-view{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:normal;gap:var(--kbq-username-vertical-gap)}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:baseline}.kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,.kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:var(--kbq-username-horizontal-gap)}[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit):not(:has(>.kbq-username__custom-view)) .kbq-username__primary+.kbq-username__secondary,[dir=rtl] .kbq-username.kbq-username_inline:not(.kbq-username_inherit)>.kbq-username__custom-view .kbq-username__primary+.kbq-username__secondary{margin-left:0;margin-right:var(--kbq-username-horizontal-gap)}.kbq-username.kbq-username_text:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_text>.kbq-username__custom-view{display:inline}.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_stacked:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_stacked>.kbq-username__custom-view .kbq-username__secondary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__primary,.kbq-username.kbq-username_inline:not(:has(>.kbq-username__custom-view)) .kbq-username__secondary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__primary,.kbq-username.kbq-username_inline>.kbq-username__custom-view .kbq-username__secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-username.kbq-username_inherit:not(:has(>.kbq-username__custom-view)),.kbq-username.kbq-username_inherit>.kbq-username__custom-view{font:inherit;display:inherit}\n", ":where(.kbq-username){--kbq-username-primary-color: var(--kbq-foreground-contrast);--kbq-username-secondary-color: inherit;--kbq-username-vertical-gap: var(--kbq-size-xxs);--kbq-username-horizontal-gap: var(--kbq-size-xxs)}\n"] }]
264
264
  }] });
265
265
 
266
266
  const COMPONENTS = [
@@ -1 +1 @@
1
- {"version":3,"file":"koobiq-components-username.mjs","sources":["../../../packages/components/username/types.ts","../../../packages/components/username/constants.ts","../../../packages/components/username/username.pipe.ts","../../../packages/components/username/username.ts","../../../packages/components/username/username.html","../../../packages/components/username/module.ts","../../../packages/components/username/koobiq-components-username.ts"],"sourcesContent":["/**\n * Keys for formatting username parts in short (initial) or full form.\n */\nexport enum KbqUsernameFormatKey {\n /**\n * Short form of the first name (e.g., \"John\" → \"J\")\n */\n FirstNameShort = 'f',\n\n /**\n * Full form of the first name (e.g., \"John\")\n */\n FirstNameFull = 'F',\n\n /**\n * Short form of the middle name (e.g., \"Henry\" → \"H\")\n */\n MiddleNameShort = 'm',\n\n /**\n * Full form of the middle name (e.g., \"Henry\")\n */\n MiddleNameFull = 'M',\n\n /**\n * Short form of the last name (e.g., \"Doe\" → \"D\")\n */\n LastNameShort = 'l',\n\n /**\n * Full form of the last name (e.g., \"Doe\")\n */\n LastNameFull = 'L',\n Dot = '.'\n}\n\n/**\n * Maps each format key to a property name in the user profile object.\n * Allows flexible formatting regardless of profile field names.\n */\nexport type KbqFormatKeyToProfileMapping<T = any> = {\n [key in Exclude<\n KbqUsernameFormatKey,\n KbqUsernameFormatKey.FirstNameFull | KbqUsernameFormatKey.MiddleNameFull | KbqUsernameFormatKey.LastNameFull\n >]: keyof T | undefined;\n};\n\n/**\n * Maps each format key to a property name in the user profile object.\n * Allows flexible formatting regardless of profile field names.\n * @see KbqUsernameCustomPipe\n */\nexport type KbqFormatKeyToProfileMappingExtended<T = any> = {\n [key in KbqUsernameFormatKey]: keyof T | undefined;\n};\n\n/**\n * Layout mode for displaying a username and applying text-ellipsis.\n *\n * - `stacked`: Elements shown vertically.\n * - `inline`: Elements shown in one line. Text ellipsis is applied to both parts.\n * - `text`: Plain text, no layout styling. No text-ellipsis.\n */\nexport type KbqUsernameMode = 'stacked' | 'inline' | 'text';\n\n/**\n * Visual style of the username.\n *\n * - `default`: standard styling with primary and secondary colors.\n * - `error`: error colors (e.g., red).\n * - `accented`: no color theming; emphasizes via typography only.\n * - `inherit`: inherits parent styles, no theming. For example, useful when using inside links.\n */\nexport type KbqUsernameStyle = 'default' | 'error' | 'accented' | 'inherit';\n","import { InjectionToken } from '@angular/core';\nimport { KbqFormatKeyToProfileMapping, KbqFormatKeyToProfileMappingExtended, KbqUsernameFormatKey } from './types';\n\n/** Default name format: Last name full, first and middle as initials. */\nexport const kbqDefaultFullNameFormatCustom = 'L f. m.';\n/** Default name format: Last name full, first and middle as initials. */\nexport const kbqDefaultFullNameFormat = 'lf.m.';\n\n/**\n * Throws an error when no profile field mapping is provided to the username pipe.\n * @docs-private\n */\nexport function KbqMappingMissingError() {\n return new Error('KbqUsernamePipe: profile field mapping is required but was not provided.');\n}\n\n/**\n * Injection token for providing a global username format-to-profile mapping.\n */\nexport const KBQ_PROFILE_MAPPING = new InjectionToken<\n KbqFormatKeyToProfileMapping | KbqFormatKeyToProfileMappingExtended\n>('KBQ_PROFILE_MAPPING', {\n factory: () =>\n ({\n [KbqUsernameFormatKey.FirstNameShort]: 'firstName',\n [KbqUsernameFormatKey.MiddleNameShort]: 'middleName',\n [KbqUsernameFormatKey.LastNameShort]: 'lastName',\n [KbqUsernameFormatKey.Dot]: undefined\n }) satisfies KbqFormatKeyToProfileMapping<{ firstName: string; middleName: string; lastName: string }>\n});\n","import { inject, Injectable, Pipe, PipeTransform } from '@angular/core';\nimport {\n KBQ_PROFILE_MAPPING,\n kbqDefaultFullNameFormat,\n kbqDefaultFullNameFormatCustom,\n KbqMappingMissingError\n} from './constants';\nimport { KbqFormatKeyToProfileMapping, KbqFormatKeyToProfileMappingExtended, KbqUsernameFormatKey } from './types';\n\n@Injectable({ providedIn: 'root' })\n@Pipe({\n name: 'kbqUsername',\n pure: true\n})\nexport class KbqUsernamePipe<T = unknown> implements PipeTransform {\n private readonly mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });\n\n /** Builds a formatted name string from the user profile using the provided format and mapping. */\n transform(profile: T, format = kbqDefaultFullNameFormat, customMapping?: KbqFormatKeyToProfileMapping): string {\n const resolvedMapping = customMapping || this.mapping;\n\n if (!resolvedMapping) {\n throw KbqMappingMissingError();\n }\n\n if (!profile || typeof profile !== 'object') return '';\n\n let result = '';\n\n const formatUnits = format.split('');\n\n formatUnits.forEach((letter: KbqUsernameFormatKey | string, index: number, array) => {\n if (letter !== KbqUsernameFormatKey.Dot) {\n const field: keyof T = resolvedMapping[letter];\n const fieldValue = profile[field];\n\n if (fieldValue) {\n const isShort = array[index + 1] === KbqUsernameFormatKey.Dot;\n const resolvedFieldValue = isShort ? `${fieldValue[0]}${KbqUsernameFormatKey.Dot}` : fieldValue;\n\n result += ` ${resolvedFieldValue}`;\n }\n }\n });\n\n return result.trim();\n }\n}\n\n/**\n * Pipe to format a user profile into a name string using a format pattern and field mapping.\n * Lowercase keys output initials; uppercase keys show full values.\n */\n@Injectable({ providedIn: 'root' })\n@Pipe({\n name: 'kbqUsernameCustom',\n pure: true\n})\nexport class KbqUsernameCustomPipe<T = unknown> implements PipeTransform {\n private readonly mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });\n\n /** Builds a formatted name string from the user profile using the provided format and mapping. */\n transform(\n profile: T,\n format = kbqDefaultFullNameFormatCustom,\n customMapping?: KbqFormatKeyToProfileMappingExtended<T>\n ): string {\n const resolvedMapping = customMapping || this.mapping;\n\n if (!resolvedMapping) {\n throw KbqMappingMissingError();\n }\n\n if (!profile || typeof profile !== 'object') return '';\n\n let result = '';\n\n const formatUnits = format.split('');\n\n formatUnits.forEach((letter: KbqUsernameFormatKey | string) => {\n const field: keyof T | undefined = resolvedMapping[letter];\n\n if (!field) {\n result += letter;\n\n return;\n }\n\n const isShort = letter === letter.toLowerCase();\n const fieldValue = profile[field] || '';\n\n result += fieldValue && isShort ? fieldValue[0] : fieldValue;\n });\n\n return result.trim();\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { kbqDefaultFullNameFormat } from './constants';\nimport { KbqUsernameMode, KbqUsernameStyle } from './types';\nimport { KbqUsernamePipe } from './username.pipe';\n\nconst baseClass = 'kbq-username';\n\n/**\n * Basic user info\n * @docs-private\n */\nexport type KbqUserInfo = {\n firstName?: string;\n lastName?: string;\n middleName?: string;\n login?: string;\n site?: string;\n};\n\n/** Styles the primary part of the username (e.g. full name). */\n@Directive({\n selector: '[kbqUsernamePrimary]',\n exportAs: 'kbqUsernamePrimary',\n host: {\n class: `${baseClass}__primary`\n }\n})\nexport class KbqUsernamePrimary {}\n\n/** Styles the secondary part. */\n@Directive({\n selector: '[kbqUsernameSecondary]',\n exportAs: 'kbqUsernameSecondary',\n host: {\n class: `${baseClass}__secondary`\n }\n})\nexport class KbqUsernameSecondary {}\n\n/** Styles a secondary hint. */\n@Directive({\n selector: '[kbqUsernameSecondaryHint]',\n exportAs: 'kbqUsernameSecondaryHint',\n host: {\n class: `${baseClass}__secondary-hint`\n }\n})\nexport class KbqUsernameSecondaryHint {}\n\n/** Custom content for `KbqUsername`, overrides default view. */\n@Directive({\n selector: 'kbq-username-custom-view, [kbq-username-custom-view]',\n exportAs: 'kbqUsernameCustomView',\n host: {\n class: `${baseClass}__custom-view`\n }\n})\nexport class KbqUsernameCustomView {}\n\n/**\n * Displays a user's name based on profile data.\n * Supports different display modes and visual styles.\n * A custom view can be provided via `<kbq-username-custom-view>` for full control over the output.\n * Accepts input profile data and optional formatting options.\n */\n@Component({\n selector: 'kbq-username',\n exportAs: 'kbqUsername',\n imports: [\n KbqTitleModule,\n KbqUsernamePipe,\n KbqUsernamePrimary,\n KbqUsernameSecondary,\n KbqUsernameSecondaryHint\n ],\n templateUrl: './username.html',\n styleUrls: ['./username.scss', './username-tokens.scss'],\n host: {\n class: baseClass,\n '[class]': 'class()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqUsername {\n /** User profile data used for display. */\n readonly userInfo = input<KbqUserInfo>();\n /** Enables compact display mode */\n readonly isCompact = input(false, { transform: booleanAttribute });\n /** Format string for rendering the user's full name. */\n readonly fullNameFormat = input<string>(kbqDefaultFullNameFormat);\n /**\n * Display mode of the username.\n * @default inline\n */\n readonly mode = input<KbqUsernameMode>('inline');\n /**\n * Visual style of the username.\n * @default default\n */\n readonly type = input<KbqUsernameStyle>('default');\n /**\n * Custom projected view for username rendering.\n * @docs-private\n */\n protected readonly customView = contentChild(KbqUsernameCustomView);\n\n /** @docs-private */\n protected readonly hasFullName = computed(() => {\n const userInfo = this.userInfo();\n\n if (!userInfo) return false;\n\n return userInfo?.lastName && userInfo?.firstName;\n });\n\n /** @docs-private */\n protected readonly class = computed(() => {\n return [this.type(), this.mode()].map((modificator) => `${baseClass}_${modificator}`).join(' ');\n });\n}\n","@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqUsername, KbqUsernameCustomView, KbqUsernamePrimary, KbqUsernameSecondary } from './username';\nimport { KbqUsernameCustomPipe, KbqUsernamePipe } from './username.pipe';\n\nconst COMPONENTS = [\n KbqUsername,\n KbqUsernameCustomView,\n KbqUsernamePrimary,\n KbqUsernameSecondary,\n KbqUsernameCustomPipe,\n KbqUsernamePipe\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqUsernameModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koobiq-components-username.mjs","sources":["../../../packages/components/username/types.ts","../../../packages/components/username/constants.ts","../../../packages/components/username/username.pipe.ts","../../../packages/components/username/username.ts","../../../packages/components/username/username.html","../../../packages/components/username/module.ts","../../../packages/components/username/koobiq-components-username.ts"],"sourcesContent":["/**\n * Keys for formatting username parts in short (initial) or full form.\n */\nexport enum KbqUsernameFormatKey {\n /**\n * Short form of the first name (e.g., \"John\" → \"J\")\n */\n FirstNameShort = 'f',\n\n /**\n * Full form of the first name (e.g., \"John\")\n */\n FirstNameFull = 'F',\n\n /**\n * Short form of the middle name (e.g., \"Henry\" → \"H\")\n */\n MiddleNameShort = 'm',\n\n /**\n * Full form of the middle name (e.g., \"Henry\")\n */\n MiddleNameFull = 'M',\n\n /**\n * Short form of the last name (e.g., \"Doe\" → \"D\")\n */\n LastNameShort = 'l',\n\n /**\n * Full form of the last name (e.g., \"Doe\")\n */\n LastNameFull = 'L',\n Dot = '.'\n}\n\n/**\n * Maps each format key to a property name in the user profile object.\n * Allows flexible formatting regardless of profile field names.\n */\nexport type KbqFormatKeyToProfileMapping<T = any> = {\n [key in Exclude<\n KbqUsernameFormatKey,\n KbqUsernameFormatKey.FirstNameFull | KbqUsernameFormatKey.MiddleNameFull | KbqUsernameFormatKey.LastNameFull\n >]: keyof T | undefined;\n};\n\n/**\n * Maps each format key to a property name in the user profile object.\n * Allows flexible formatting regardless of profile field names.\n * @see KbqUsernameCustomPipe\n */\nexport type KbqFormatKeyToProfileMappingExtended<T = any> = {\n [key in KbqUsernameFormatKey]: keyof T | undefined;\n};\n\n/**\n * Layout mode for displaying a username and applying text-ellipsis.\n *\n * - `stacked`: Elements shown vertically.\n * - `inline`: Elements shown in one line. Text ellipsis is applied to both parts.\n * - `text`: Plain text, no layout styling. No text-ellipsis.\n */\nexport type KbqUsernameMode = 'stacked' | 'inline' | 'text';\n\n/**\n * Visual style of the username.\n *\n * - `default`: standard styling with primary and secondary colors.\n * - `error`: error colors (e.g., red).\n * - `accented`: no color theming; emphasizes via typography only.\n * - `inherit`: inherits parent styles, no theming. For example, useful when using inside links.\n */\nexport type KbqUsernameStyle = 'default' | 'error' | 'accented' | 'inherit';\n","import { InjectionToken } from '@angular/core';\nimport { KbqFormatKeyToProfileMapping, KbqFormatKeyToProfileMappingExtended, KbqUsernameFormatKey } from './types';\n\n/** Default name format: Last name full, first and middle as initials. */\nexport const kbqDefaultFullNameFormatCustom = 'L f. m.';\n/** Default name format: Last name full, first and middle as initials. */\nexport const kbqDefaultFullNameFormat = 'lf.m.';\n\n/**\n * Throws an error when no profile field mapping is provided to the username pipe.\n * @docs-private\n */\nexport function KbqMappingMissingError() {\n return new Error('KbqUsernamePipe: profile field mapping is required but was not provided.');\n}\n\n/**\n * Injection token for providing a global username format-to-profile mapping.\n */\nexport const KBQ_PROFILE_MAPPING = new InjectionToken<\n KbqFormatKeyToProfileMapping | KbqFormatKeyToProfileMappingExtended\n>('KBQ_PROFILE_MAPPING', {\n factory: () =>\n ({\n [KbqUsernameFormatKey.FirstNameShort]: 'firstName',\n [KbqUsernameFormatKey.MiddleNameShort]: 'middleName',\n [KbqUsernameFormatKey.LastNameShort]: 'lastName',\n [KbqUsernameFormatKey.Dot]: undefined\n }) satisfies KbqFormatKeyToProfileMapping<{ firstName: string; middleName: string; lastName: string }>\n});\n","import { inject, Injectable, Pipe, PipeTransform } from '@angular/core';\nimport {\n KBQ_PROFILE_MAPPING,\n kbqDefaultFullNameFormat,\n kbqDefaultFullNameFormatCustom,\n KbqMappingMissingError\n} from './constants';\nimport { KbqFormatKeyToProfileMapping, KbqFormatKeyToProfileMappingExtended, KbqUsernameFormatKey } from './types';\n\n@Injectable({ providedIn: 'root' })\n@Pipe({\n name: 'kbqUsername',\n pure: true\n})\nexport class KbqUsernamePipe<T = unknown> implements PipeTransform {\n private readonly mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });\n\n /** Builds a formatted name string from the user profile using the provided format and mapping. */\n transform(profile: T, format = kbqDefaultFullNameFormat, customMapping?: KbqFormatKeyToProfileMapping): string {\n const resolvedMapping = customMapping || this.mapping;\n\n if (!resolvedMapping) {\n throw KbqMappingMissingError();\n }\n\n if (!profile || typeof profile !== 'object') return '';\n\n let result = '';\n\n const formatUnits = format.split('');\n\n formatUnits.forEach((letter: KbqUsernameFormatKey | string, index: number, array) => {\n if (letter !== KbqUsernameFormatKey.Dot) {\n const field: keyof T = resolvedMapping[letter];\n const fieldValue = profile[field];\n\n if (fieldValue) {\n const isShort = array[index + 1] === KbqUsernameFormatKey.Dot;\n const resolvedFieldValue = isShort ? `${fieldValue[0]}${KbqUsernameFormatKey.Dot}` : fieldValue;\n\n result += ` ${resolvedFieldValue}`;\n }\n }\n });\n\n return result.trim();\n }\n}\n\n/**\n * Pipe to format a user profile into a name string using a format pattern and field mapping.\n * Lowercase keys output initials; uppercase keys show full values.\n */\n@Injectable({ providedIn: 'root' })\n@Pipe({\n name: 'kbqUsernameCustom',\n pure: true\n})\nexport class KbqUsernameCustomPipe<T = unknown> implements PipeTransform {\n private readonly mapping = inject(KBQ_PROFILE_MAPPING, { optional: true });\n\n /** Builds a formatted name string from the user profile using the provided format and mapping. */\n transform(\n profile: T,\n format = kbqDefaultFullNameFormatCustom,\n customMapping?: KbqFormatKeyToProfileMappingExtended<T>\n ): string {\n const resolvedMapping = customMapping || this.mapping;\n\n if (!resolvedMapping) {\n throw KbqMappingMissingError();\n }\n\n if (!profile || typeof profile !== 'object') return '';\n\n let result = '';\n\n const formatUnits = format.split('');\n\n formatUnits.forEach((letter: KbqUsernameFormatKey | string) => {\n const field: keyof T | undefined = resolvedMapping[letter];\n\n if (!field) {\n result += letter;\n\n return;\n }\n\n const isShort = letter === letter.toLowerCase();\n const fieldValue = profile[field] || '';\n\n result += fieldValue && isShort ? fieldValue[0] : fieldValue;\n });\n\n return result.trim();\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { kbqDefaultFullNameFormat } from './constants';\nimport { KbqUsernameMode, KbqUsernameStyle } from './types';\nimport { KbqUsernamePipe } from './username.pipe';\n\nconst baseClass = 'kbq-username';\n\n/**\n * Basic user info\n * @docs-private\n */\nexport type KbqUserInfo = {\n firstName?: string;\n lastName?: string;\n middleName?: string;\n login?: string;\n site?: string;\n};\n\n/** Styles the primary part of the username (e.g. full name). */\n@Directive({\n selector: '[kbqUsernamePrimary]',\n exportAs: 'kbqUsernamePrimary',\n host: {\n class: `${baseClass}__primary`\n }\n})\nexport class KbqUsernamePrimary {}\n\n/** Styles the secondary part. */\n@Directive({\n selector: '[kbqUsernameSecondary]',\n exportAs: 'kbqUsernameSecondary',\n host: {\n class: `${baseClass}__secondary`\n }\n})\nexport class KbqUsernameSecondary {}\n\n/** Styles a secondary hint. */\n@Directive({\n selector: '[kbqUsernameSecondaryHint]',\n exportAs: 'kbqUsernameSecondaryHint',\n host: {\n class: `${baseClass}__secondary-hint`\n }\n})\nexport class KbqUsernameSecondaryHint {}\n\n/** Custom content for `KbqUsername`, overrides default view. */\n@Directive({\n selector: 'kbq-username-custom-view, [kbq-username-custom-view]',\n exportAs: 'kbqUsernameCustomView',\n host: {\n class: `${baseClass}__custom-view`\n }\n})\nexport class KbqUsernameCustomView {}\n\n/**\n * Displays a user's name based on profile data.\n * Supports different display modes and visual styles.\n * A custom view can be provided via `<kbq-username-custom-view>` for full control over the output.\n * Accepts input profile data and optional formatting options.\n */\n@Component({\n selector: 'kbq-username',\n exportAs: 'kbqUsername',\n imports: [\n KbqTitleModule,\n KbqUsernamePipe,\n KbqUsernamePrimary,\n KbqUsernameSecondary,\n KbqUsernameSecondaryHint\n ],\n templateUrl: './username.html',\n styleUrls: ['./username.scss', './username-tokens.scss'],\n host: {\n class: baseClass,\n '[class]': 'class()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class KbqUsername {\n /** User profile data used for display. */\n readonly userInfo = input<KbqUserInfo>();\n /** Enables compact display mode */\n readonly isCompact = input(false, { transform: booleanAttribute });\n /** Format string for rendering the user's full name. */\n readonly fullNameFormat = input<string>(kbqDefaultFullNameFormat);\n /**\n * Display mode of the username.\n * @default inline\n */\n readonly mode = input<KbqUsernameMode>('inline');\n /**\n * Visual style of the username.\n * @default default\n */\n readonly type = input<KbqUsernameStyle>('default');\n /**\n * Custom projected view for username rendering.\n * @docs-private\n */\n protected readonly customView = contentChild(KbqUsernameCustomView);\n\n /** @docs-private */\n protected readonly hasFullName = computed(() => {\n const userInfo = this.userInfo();\n\n if (!userInfo) return false;\n\n return userInfo?.lastName && userInfo?.firstName;\n });\n\n /** @docs-private */\n protected readonly class = computed(() => {\n return [this.type(), this.mode()].map((modificator) => `${baseClass}_${modificator}`).join(' ');\n });\n}\n","@let profile = userInfo();\n<ng-content select=\"kbq-username-custom-view,[kbq-username-custom-view]\" />\n\n@if (!customView() && profile) {\n @let fullName = profile | kbqUsername: fullNameFormat();\n\n @if (!isCompact()) {\n @if (hasFullName()) {\n <span kbq-title kbqUsernamePrimary>{{ fullName }}</span>\n }\n\n @if (profile.login) {\n <span kbq-title kbqUsernameSecondary>\n {{ profile.login }}\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>({{ profile.site }})</span>\n }\n </span>\n }\n } @else {\n <span kbq-title kbqUsernamePrimary>\n @if (hasFullName()) {\n <span>{{ fullName }}</span>\n }\n @if (!hasFullName() && profile.login) {\n {{ profile.login }}\n }\n\n @if (profile.site) {\n <span kbqUsernameSecondaryHint>&nbsp;({{ profile.site }})</span>\n }\n </span>\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqUsername, KbqUsernameCustomView, KbqUsernamePrimary, KbqUsernameSecondary } from './username';\nimport { KbqUsernameCustomPipe, KbqUsernamePipe } from './username.pipe';\n\nconst COMPONENTS = [\n KbqUsername,\n KbqUsernameCustomView,\n KbqUsernamePrimary,\n KbqUsernameSecondary,\n KbqUsernameCustomPipe,\n KbqUsernamePipe\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqUsernameModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,222 +1,6 @@
1
1
  @use '../core/styles/common/tokens';
2
2
 
3
3
  @mixin kbq-file-upload-theme() {
4
- .kbq-single-file-upload {
5
- .kbq-file-upload {
6
- // FIXME: move to mixin kbq-file-upload-state
7
- background-color: var(--kbq-file-upload-single-default-container-background);
8
- border-color: var(--kbq-file-upload-single-default-container-border) !important;
9
-
10
- .kbq-focused,
11
- .kbq-link.kbq-focused {
12
- border: 2px solid var(--kbq-file-upload-single-states-focused-focus-outline-color);
13
- }
14
-
15
- &:not(.kbq-disabled, .kbq-error) {
16
- .kbq-file-upload__action {
17
- color: var(--kbq-file-upload-single-default-icon-button-color);
18
- }
19
-
20
- .kbq-file-dropzone__icon {
21
- color: var(--kbq-file-upload-single-default-upload-icon-color);
22
- }
23
-
24
- .kbq-file-item__text-wrapper .kbq-icon.kbq-empty {
25
- color: var(--kbq-file-upload-single-default-left-icon-color);
26
- }
27
-
28
- .kbq-file-item__size {
29
- color: var(--kbq-file-upload-single-default-file-size-text-color);
30
- }
31
- }
32
-
33
- &.kbq-file-drop_dragover {
34
- background-color: var(--kbq-file-upload-single-states-on-drag-container-background);
35
- border-color: var(--kbq-file-upload-single-states-on-drag-container-border) !important;
36
- }
37
-
38
- &.kbq-error:not(.kbq-disabled) {
39
- &:not(.kbq-file-drop_dragover) {
40
- background-color: var(--kbq-file-upload-single-states-error-container-background);
41
- border-color: var(--kbq-file-upload-single-states-error-container-border) !important;
42
- }
43
-
44
- .kbq-file-dropzone__icon {
45
- color: var(--kbq-file-upload-single-states-error-upload-icon-color);
46
- }
47
-
48
- .kbq-file-item__text-wrapper .kbq-icon.kbq-empty {
49
- color: var(--kbq-file-upload-single-states-error-left-icon-color);
50
- }
51
-
52
- .kbq-file-item__text,
53
- .kbq-file-dropzone__text:not(.kbq-link) {
54
- color: var(--kbq-file-upload-single-states-error-text-block-color);
55
- }
56
-
57
- .kbq-file-item__size {
58
- color: var(--kbq-file-upload-single-states-error-file-size-text-color);
59
- }
60
-
61
- .kbq-file-upload__action {
62
- color: var(--kbq-file-upload-single-states-error-icon-button-color);
63
- }
64
- }
65
-
66
- &.kbq-disabled {
67
- background-color: var(--kbq-file-upload-single-states-disabled-container-background);
68
- border-color: var(--kbq-file-upload-single-states-disabled-container-border) !important;
69
-
70
- .kbq-file-dropzone__icon {
71
- color: var(--kbq-file-upload-single-states-disabled-upload-icon-color);
72
- }
73
-
74
- .kbq-file-item__text-wrapper .kbq-icon.kbq-empty {
75
- color: var(--kbq-file-upload-single-states-disabled-left-icon-color);
76
- }
77
-
78
- .kbq-file-dropzone__text,
79
- .kbq-file-item__text {
80
- color: var(--kbq-file-upload-single-states-disabled-text-block-color);
81
- }
82
-
83
- .kbq-file-item__size {
84
- color: var(--kbq-file-upload-single-states-disabled-file-size-text-color);
85
- }
86
-
87
- .kbq-file-upload__action {
88
- color: var(--kbq-file-upload-single-states-disabled-icon-button-color);
89
- }
90
- }
91
- }
92
- }
93
-
94
- .kbq-multiple-file-upload {
95
- .kbq-file-upload {
96
- background-color: var(--kbq-file-upload-multiple-default-container-background);
97
- border-color: var(--kbq-file-upload-multiple-default-container-border) !important;
98
-
99
- .kbq-focused:not(.kbq-list-option),
100
- .kbq-link.kbq-focused {
101
- border: 2px solid var(--kbq-file-upload-multiple-states-focused-focus-outline-color);
102
- }
103
-
104
- .kbq-file-btn-upload {
105
- border-top-color: var(--kbq-file-upload-multiple-default-container-border);
106
- }
107
-
108
- .kbq-file-multiple-uploaded__header {
109
- color: var(--kbq-foreground-contrast-secondary);
110
- border-bottom-color: var(--kbq-file-upload-multiple-default-grid-divider-color);
111
- }
112
-
113
- &:not(.kbq-disabled, .kbq-error) {
114
- .kbq-file-dropzone__icon {
115
- color: var(--kbq-file-upload-multiple-default-upload-icon-color);
116
- }
117
- }
118
-
119
- &.kbq-file-drop_dragover {
120
- background-color: var(--kbq-file-upload-multiple-states-on-drag-container-background);
121
- border-color: var(--kbq-file-upload-multiple-states-on-drag-container-border) !important;
122
-
123
- .kbq-file-btn-upload {
124
- border-top-color: var(--kbq-file-upload-multiple-states-on-drag-container-border);
125
- }
126
-
127
- .kbq-file-multiple-uploaded__header {
128
- border-bottom-color: var(--kbq-file-upload-multiple-states-on-drag-grid-divider-color) !important;
129
- }
130
-
131
- .kbq-file-dropzone__icon {
132
- color: var(--kbq-file-upload-multiple-states-on-drag-upload-icon-color);
133
- }
134
- }
135
-
136
- &.kbq-disabled {
137
- background-color: var(--kbq-file-upload-multiple-states-disabled-container-background);
138
- border-color: var(--kbq-file-upload-multiple-states-disabled-container-border) !important;
139
-
140
- .kbq-file-dropzone__icon {
141
- color: var(--kbq-file-upload-multiple-states-disabled-upload-icon-color);
142
- }
143
-
144
- .kbq-file-dropzone__text,
145
- .kbq-file-multiple-uploaded__header {
146
- color: var(--kbq-file-upload-multiple-states-disabled-text-block-color);
147
- }
148
-
149
- .kbq-file-multiple-uploaded__header {
150
- border-bottom-color: var(--kbq-file-upload-multiple-states-disabled-grid-divider-color) !important;
151
- }
152
-
153
- .kbq-file-multiple__uploaded-item {
154
- .kbq-file-upload__file .kbq-icon.kbq-empty {
155
- color: var(--kbq-file-upload-multiple-states-disabled-left-icon-color);
156
- }
157
-
158
- .kbq-file-item__text,
159
- .kbq-file-upload__size {
160
- color: var(--kbq-file-upload-multiple-states-disabled-text-block-color);
161
- }
162
-
163
- .kbq-file-upload__action .kbq-icon.kbq-empty {
164
- color: var(--kbq-file-upload-multiple-states-disabled-icon-button-color);
165
- }
166
- }
167
- }
168
-
169
- &:not(.kbq-disabled) {
170
- &.kbq-error {
171
- background-color: var(--kbq-background-error-less);
172
- border-color: var(--kbq-line-error) !important;
173
-
174
- .kbq-file-dropzone__icon {
175
- color: var(--kbq-file-upload-multiple-states-error-upload-icon-color);
176
- }
177
-
178
- .kbq-file-dropzone__text:not(.kbq-link),
179
- .kbq-file-multiple-uploaded__header {
180
- color: var(--kbq-file-upload-multiple-states-error-text-block-color);
181
- }
182
- }
183
-
184
- .kbq-file-multiple__uploaded-item {
185
- &:has(.kbq-file-upload__row.kbq-error) {
186
- background-color: var(--kbq-background-error-less);
187
-
188
- .kbq-file-item__text,
189
- .kbq-file-upload__size {
190
- color: var(--kbq-foreground-error);
191
- }
192
-
193
- .kbq-file-upload__file .kbq-icon.kbq-empty {
194
- color: var(--kbq-file-upload-multiple-states-error-left-icon-color);
195
- }
196
-
197
- .kbq-file-upload__action .kbq-icon.kbq-empty {
198
- color: var(--kbq-file-upload-multiple-states-error-icon-button-color);
199
- }
200
- }
201
- }
202
- }
203
-
204
- .kbq-file-multiple__uploaded-item {
205
- .kbq-file-upload__file .kbq-icon.kbq-empty {
206
- color: var(--kbq-file-upload-multiple-default-left-icon-color);
207
- }
208
-
209
- .kbq-file-upload__size {
210
- color: var(--kbq-file-upload-multiple-default-file-size-text-color);
211
- }
212
-
213
- .kbq-file-upload__action .kbq-icon.kbq-empty {
214
- color: var(--kbq-file-upload-multiple-default-icon-button-color);
215
- }
216
- }
217
- }
218
- }
219
-
220
4
  .kbq-file-upload__hint {
221
5
  :where(& .kbq-hint) {
222
6
  color: var(--kbq-foreground-contrast-secondary);
@@ -229,46 +13,6 @@
229
13
  @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
230
14
  }
231
15
 
232
- // @TODO: remove when redesign applied, use default font (#DS-3858)
233
- .kbq-single-file-upload {
234
- & .kbq-file-item__text-wrapper,
235
- & .kbq-file-dropzone__text {
236
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
237
- }
238
- }
239
-
240
- .kbq-multiple-file-upload {
241
- .kbq-file-multiple__header {
242
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, subheading);
243
- }
244
-
245
- // @TODO: remove when redesign applied, use default font (#DS-3858)
246
- .kbq-file-multiple__caption {
247
- &,
248
- .kbq-link {
249
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
250
- }
251
- }
252
-
253
- // @TODO: remove when redesign applied, use default font (#DS-3858)
254
- .kbq-file-multiple-uploaded__header {
255
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
256
- }
257
-
258
- // @TODO: remove when redesign applied, use default font (#DS-3858)
259
- .kbq-file-multiple__uploaded-item {
260
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
261
- }
262
-
263
- // @TODO: remove when redesign applied, use default font (#DS-3858)
264
- .kbq-file-upload {
265
- .kbq-list-item,
266
- .kbq-list-option {
267
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
268
- }
269
- }
270
- }
271
-
272
16
  .kbq-file-upload__hint .kbq-hint .kbq-hint__text {
273
17
  @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-compact);
274
18
  }
@@ -1,47 +1,51 @@
1
1
  :where(.kbq-file-upload) {
2
+ --kbq-file-upload-size-dropzone-content-gap-horizontal: var(--kbq-size-s);
2
3
  --kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary);
3
4
  }
4
5
 
5
6
  :where(.kbq-single-file-upload) {
7
+ --kbq-form-field-hint-size-margin-top: var(--kbq-size-xs);
8
+ --kbq-form-field-hint-size-gap: var(--kbq-size-xxs);
6
9
  --kbq-file-upload-size-single-container-border-radius: var(--kbq-size-s);
7
10
  --kbq-file-upload-size-single-container-border-width: 1px;
8
11
  --kbq-file-upload-size-single-container-content-gap-horizontal: var(--kbq-size-s);
9
12
  --kbq-file-upload-size-single-container-padding-vertical: var(--kbq-size-m);
10
- --kbq-file-upload-size-single-container-padding-horizontal: var(--kbq-size-m);
13
+ --kbq-file-upload-size-single-container-padding-horizontal: var(--kbq-size-l);
11
14
  --kbq-file-upload-size-single-text-block-padding-vertical: var(--kbq-size-3xs);
12
15
  --kbq-file-upload-size-single-text-block-content-gap-horizontal: var(--kbq-size-xxs);
13
- --kbq-file-upload-single-min-height: var(--kbq-size-5xl);
16
+ --kbq-file-upload-single-min-height: 44px;
14
17
  /* THEME TOKENS */
15
18
  --kbq-file-upload-single-default-container-border: var(--kbq-line-contrast-fade);
16
19
  --kbq-file-upload-single-default-container-background: var(--kbq-background-bg);
17
- --kbq-file-upload-single-default-upload-icon-color: var(--kbq-icon-contrast-fade);
20
+ --kbq-file-upload-single-default-dropzone-icon-color: var(--kbq-icon-contrast-fade);
18
21
  --kbq-file-upload-single-default-left-icon-color: var(--kbq-icon-contrast-fade);
19
22
  --kbq-file-upload-single-default-text-block-color: var(--kbq-foreground-contrast);
20
- --kbq-file-upload-single-default-icon-button-color: var(--kbq-icon-contrast);
21
23
  --kbq-file-upload-single-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);
22
24
  --kbq-file-upload-single-states-on-drag-container-border: var(--kbq-line-theme-fade);
23
25
  --kbq-file-upload-single-states-on-drag-container-background: var(--kbq-background-theme-fade);
24
- --kbq-file-upload-single-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);
26
+ --kbq-file-upload-single-states-on-drag-dropzone-icon-color: var(--kbq-icon-contrast-fade);
25
27
  --kbq-file-upload-single-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);
26
28
  --kbq-file-upload-single-states-on-drag-text-block-color: var(--kbq-foreground-contrast);
27
29
  --kbq-file-upload-single-states-error-container-border: var(--kbq-line-error);
28
30
  --kbq-file-upload-single-states-error-container-background: var(--kbq-background-error-less);
29
- --kbq-file-upload-single-states-error-upload-icon-color: var(--kbq-icon-error);
31
+ --kbq-file-upload-single-states-error-dropzone-icon-color: var(--kbq-icon-error);
30
32
  --kbq-file-upload-single-states-error-left-icon-color: var(--kbq-icon-error);
31
33
  --kbq-file-upload-single-states-error-text-block-color: var(--kbq-foreground-error);
32
- --kbq-file-upload-single-states-error-icon-button-color: var(--kbq-icon-error);
33
34
  --kbq-file-upload-single-states-error-file-size-text-color: var(--kbq-foreground-error);
34
35
  --kbq-file-upload-single-states-disabled-container-border: var(--kbq-states-line-disabled);
35
36
  --kbq-file-upload-single-states-disabled-container-background: var(--kbq-states-background-disabled);
36
- --kbq-file-upload-single-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);
37
+ --kbq-file-upload-single-states-disabled-dropzone-icon-color: var(--kbq-states-icon-disabled);
37
38
  --kbq-file-upload-single-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);
38
- --kbq-file-upload-single-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);
39
39
  --kbq-file-upload-single-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);
40
40
  --kbq-file-upload-single-states-disabled-file-size-text-color: var(--kbq-states-foreground-disabled);
41
41
  --kbq-file-upload-single-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);
42
42
  }
43
43
 
44
44
  :where(.kbq-multiple-file-upload) {
45
+ --kbq-form-field-hint-size-margin-top: var(--kbq-size-xs);
46
+ --kbq-form-field-hint-size-gap: var(--kbq-size-xxs);
47
+ --kbq-file-upload-size-multiple-min-height: 120px;
48
+ --kbq-file-upload-size-multiple-max-height: unset;
45
49
  --kbq-file-upload-size-multiple-big-container-min-height: 192px;
46
50
  --kbq-file-upload-size-multiple-big-container-min-width: 320px;
47
51
  --kbq-file-upload-size-multiple-big-container-border-radius: var(--kbq-size-s);
@@ -54,34 +58,37 @@
54
58
  --kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal: var(--kbq-size-xxs);
55
59
  --kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal: var(--kbq-size-s);
56
60
  --kbq-file-upload-size-multiple-big-grid-cell-padding-vertical: var(--kbq-size-s);
57
- --kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal: var(--kbq-size-xxs);
61
+ --kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal: var(--kbq-size-s);
58
62
  --kbq-file-upload-size-multiple-big-grid-cell-file-size-width: var(--kbq-size-7xl);
59
63
  /* THEME TOKENS */
60
64
  --kbq-file-upload-multiple-default-container-border: var(--kbq-line-contrast-fade);
61
65
  --kbq-file-upload-multiple-default-container-background: var(--kbq-background-bg);
62
- --kbq-file-upload-multiple-default-upload-icon-color: var(--kbq-icon-contrast-fade);
66
+ --kbq-file-upload-multiple-default-upload-icon-color: var(--kbq-icon-contrast);
67
+ --kbq-file-upload-multiple-default-dropzone-icon-color: var(--kbq-icon-contrast-fade);
63
68
  --kbq-file-upload-multiple-default-left-icon-color: var(--kbq-icon-contrast-fade);
64
69
  --kbq-file-upload-multiple-default-text-block-color: var(--kbq-foreground-contrast);
65
- --kbq-file-upload-multiple-default-icon-button-color: var(--kbq-icon-contrast);
66
70
  --kbq-file-upload-multiple-default-grid-divider-color: var(--kbq-line-contrast-less);
67
71
  --kbq-file-upload-multiple-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);
72
+
68
73
  --kbq-file-upload-multiple-states-on-drag-container-border: var(--kbq-line-theme-fade);
69
74
  --kbq-file-upload-multiple-states-on-drag-container-background: var(--kbq-background-theme-fade);
70
- --kbq-file-upload-multiple-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);
75
+ --kbq-file-upload-multiple-states-on-drag-upload-icon-color: var(--kbq-icon-contrast);
76
+ --kbq-file-upload-multiple-states-on-drag-dropzone-icon-color: var(--kbq-icon-contrast-fade);
71
77
  --kbq-file-upload-multiple-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);
72
- --kbq-file-upload-multiple-states-on-drag-icon-button-color: var(--kbq-icon-contrast);
73
78
  --kbq-file-upload-multiple-states-on-drag-text-block-color: var(--kbq-foreground-contrast);
74
79
  --kbq-file-upload-multiple-states-on-drag-grid-divider-color: var(--kbq-line-contrast-less);
75
- --kbq-file-upload-multiple-states-error-grid-cell-background: var(--kbq-background-error-less);
80
+
81
+ --kbq-file-upload-multiple-states-error-container-border: var(--kbq-line-error);
82
+ --kbq-file-upload-multiple-states-error-container-background: var(--kbq-background-error-less);
76
83
  --kbq-file-upload-multiple-states-error-upload-icon-color: var(--kbq-icon-error);
84
+ --kbq-file-upload-multiple-states-error-dropzone-icon-color: var(--kbq-icon-error);
77
85
  --kbq-file-upload-multiple-states-error-left-icon-color: var(--kbq-icon-error);
78
86
  --kbq-file-upload-multiple-states-error-text-block-color: var(--kbq-foreground-error);
79
- --kbq-file-upload-multiple-states-error-icon-button-color: var(--kbq-icon-error);
80
87
  --kbq-file-upload-multiple-states-disabled-container-border: var(--kbq-states-line-disabled);
81
88
  --kbq-file-upload-multiple-states-disabled-container-background: var(--kbq-states-background-disabled);
82
89
  --kbq-file-upload-multiple-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);
90
+ --kbq-file-upload-multiple-states-disabled-dropzone-icon-color: var(--kbq-states-icon-disabled);
83
91
  --kbq-file-upload-multiple-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);
84
- --kbq-file-upload-multiple-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);
85
92
  --kbq-file-upload-multiple-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);
86
93
  --kbq-file-upload-multiple-states-disabled-grid-divider-color: var(--kbq-states-line-disabled);
87
94
  --kbq-file-upload-multiple-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);
@@ -91,5 +98,5 @@
91
98
  --kbq-file-upload-multiple-compact-container-content-gap-horizontal: var(--kbq-size-s);
92
99
  --kbq-file-upload-multiple-compact-text-block-padding-vertical: var(--kbq-size-3xs);
93
100
  --kbq-file-upload-multiple-compact-container-padding-vertical: 11px;
94
- --kbq-file-upload-multiple-compact-container-padding-horizontal: 11px;
101
+ --kbq-file-upload-multiple-compact-container-padding-horizontal: 15px;
95
102
  }