@dereekb/dbx-web 12.6.15 → 12.6.16

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 (29) hide show
  1. package/esm2022/lib/button/button.component.mjs +1 -1
  2. package/esm2022/lib/button/button.mjs +2 -0
  3. package/esm2022/lib/button/index.mjs +2 -1
  4. package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +1 -1
  5. package/esm2022/lib/button/progress/button.progress.config.mjs +1 -1
  6. package/esm2022/lib/button/progress/spinner.button.component.mjs +6 -6
  7. package/esm2022/lib/extension/download/blob/download.blob.button.component.mjs +1 -1
  8. package/esm2022/lib/extension/download/text/download.text.component.mjs +11 -4
  9. package/esm2022/lib/extension/help/help.view.popover.button.component.mjs +12 -7
  10. package/esm2022/lib/interaction/upload/upload.button.component.mjs +1 -1
  11. package/esm2022/lib/interaction/upload/upload.component.mjs +1 -1
  12. package/fesm2022/dereekb-dbx-web.mjs +74 -63
  13. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  14. package/lib/action/transition/transition.safety.directive.d.ts +1 -1
  15. package/lib/button/button.component.d.ts +1 -16
  16. package/lib/button/button.d.ts +20 -0
  17. package/lib/button/index.d.ts +1 -0
  18. package/lib/button/progress/button.progress.config.d.ts +2 -2
  19. package/lib/button/progress/spinner.button.component.d.ts +1 -1
  20. package/lib/extension/download/blob/download.blob.button.component.d.ts +1 -1
  21. package/lib/extension/download/text/download.text.component.d.ts +5 -1
  22. package/lib/extension/help/help.view.popover.button.component.d.ts +15 -2
  23. package/lib/interaction/upload/upload.button.component.d.ts +1 -1
  24. package/lib/interaction/upload/upload.component.d.ts +1 -1
  25. package/lib/layout/content/_content.scss +16 -1
  26. package/lib/style/_root-variables.scss +1 -0
  27. package/lib/style/_variables.scss +3 -0
  28. package/package.json +1 -1
  29. package/lib/extension/download/text/download.text.component.scss +0 -0
@@ -28,7 +28,7 @@ export declare class DbxActionTransitionSafetyDirective<T, O> implements OnInit,
28
28
  protected readonly viewContainerRef: ViewContainerRef;
29
29
  protected readonly dialog: MatDialog;
30
30
  readonly source: DbxActionContextStoreSourceInstance<T, O>;
31
- readonly safetyType$: Observable<"dialog" | "auto" | "none">;
31
+ readonly safetyType$: Observable<"dialog" | "none" | "auto">;
32
32
  protected readonly _dbxActionTransitionSafetyUpdateEffect: import("@angular/core").EffectRef;
33
33
  private _currentDialogRef?;
34
34
  private stopWatchingTransition?;
@@ -1,24 +1,9 @@
1
- import { ThemePalette } from '@angular/material/core';
2
1
  import { AbstractDbxButtonDirective } from '@dereekb/dbx-core';
3
2
  import { type Maybe } from '@dereekb/util';
4
3
  import { DbxProgressButtonConfig } from './progress/button.progress.config';
5
- import { type DbxThemeColor } from '../layout/style/style';
6
4
  import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
5
+ import { DbxButtonStyle, DbxButtonType } from './button';
7
6
  import * as i0 from "@angular/core";
8
- export type DbxButtonType = 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';
9
- /**
10
- * Style details for the button
11
- */
12
- export interface DbxButtonStyle {
13
- readonly type?: DbxButtonType;
14
- readonly mode?: ProgressSpinnerMode;
15
- readonly color?: ThemePalette | DbxThemeColor;
16
- readonly spinnerColor?: ThemePalette | DbxThemeColor;
17
- readonly customButtonColor?: string;
18
- readonly customTextColor?: string;
19
- readonly customSpinnerColor?: string;
20
- readonly fab?: boolean;
21
- }
22
7
  /**
23
8
  * @deprecated use DbxButtonType instead.
24
9
  */
@@ -0,0 +1,20 @@
1
+ import { type ThemePalette } from '@angular/material/core';
2
+ import { type ProgressSpinnerMode } from '@angular/material/progress-spinner';
3
+ import type { DbxThemeColor } from '../layout';
4
+ /**
5
+ * DbxButton display type
6
+ */
7
+ export type DbxButtonType = 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';
8
+ /**
9
+ * DbxButton style configuration
10
+ */
11
+ export interface DbxButtonStyle {
12
+ readonly type?: DbxButtonType;
13
+ readonly mode?: ProgressSpinnerMode;
14
+ readonly color?: ThemePalette | DbxThemeColor;
15
+ readonly spinnerColor?: ThemePalette | DbxThemeColor;
16
+ readonly customButtonColor?: string;
17
+ readonly customTextColor?: string;
18
+ readonly customSpinnerColor?: string;
19
+ readonly fab?: boolean;
20
+ }
@@ -3,3 +3,4 @@ export * from './progress';
3
3
  export * from './button.component';
4
4
  export * from './button.spacer.directive';
5
5
  export * from './button.module';
6
+ export * from './button';
@@ -3,7 +3,7 @@ import { type ThemePalette } from '@angular/material/core';
3
3
  import { type ProgressSpinnerMode } from '@angular/material/progress-spinner';
4
4
  import { type Maybe } from '@dereekb/util';
5
5
  import { type DbxThemeColor } from '../../layout/style/style';
6
- import { type DbxButtonType } from '../button.component';
6
+ import { type DbxButtonType } from '../button';
7
7
  import { type DbxButtonWorking, type DbxButtonWorkingProgress } from '@dereekb/dbx-core';
8
8
  export interface DbxProgressButtonConfig {
9
9
  readonly working?: Maybe<DbxButtonWorking>;
@@ -13,7 +13,7 @@ export interface DbxProgressButtonConfig {
13
13
  readonly spinnerColor?: Maybe<ThemePalette | DbxThemeColor>;
14
14
  readonly barColor?: Maybe<ThemePalette | DbxThemeColor>;
15
15
  /**
16
- * Whether or not to render as an icon button.
16
+ * Only renders the icon button.
17
17
  */
18
18
  readonly iconOnly?: Maybe<boolean>;
19
19
  readonly spinnerSize?: Maybe<number>;
@@ -8,7 +8,7 @@ export declare class DbxProgressSpinnerButtonComponent extends AbstractProgressB
8
8
  readonly buttonCss$: import("rxjs").Observable<string>;
9
9
  readonly spinnerSizeSignal: import("@angular/core").Signal<number>;
10
10
  readonly buttonCssSignal: import("@angular/core").Signal<string | undefined>;
11
- readonly showTextSignal: import("@angular/core").Signal<boolean>;
11
+ readonly showTextContentSignal: import("@angular/core").Signal<boolean>;
12
12
  readonly showTextButtonIconSignal: import("@angular/core").Signal<false | Maybe<import("@dereekb/dbx-web").DbxProgressButtonIcon>>;
13
13
  readonly showIconSignal: import("@angular/core").Signal<boolean | null | undefined>;
14
14
  readonly customSpinnerStyleSignal: import("@angular/core").Signal<{
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, OnDestroy } from '@angular/core';
2
2
  import { SafeResourceUrl } from '@angular/platform-browser';
3
3
  import { AbstractSubscriptionDirective, DbxButtonDisplay } from '@dereekb/dbx-core';
4
- import { type DbxButtonStyle } from '../../../button/button.component';
4
+ import { type DbxButtonStyle } from '../../../button/button';
5
5
  import { Getter, Maybe, PromiseOrValue } from '@dereekb/util';
6
6
  import { Observable } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
@@ -12,10 +12,13 @@ import * as i0 from "@angular/core";
12
12
  export declare class DbxDownloadTextViewComponent extends AbstractDbxClipboardDirective implements OnDestroy {
13
13
  private readonly _browserObjectUrl;
14
14
  readonly downloadButton: import("@angular/core").Signal<Maybe<ElementRef<any>>>;
15
+ readonly showDownloadButton: import("@angular/core").InputSignal<boolean>;
15
16
  readonly loadingText: import("@angular/core").InputSignal<Maybe<string>>;
16
17
  readonly linear: import("@angular/core").InputSignal<Maybe<boolean>>;
17
18
  readonly showTitle: import("@angular/core").InputSignal<boolean>;
18
19
  readonly showPreview: import("@angular/core").InputSignal<boolean>;
20
+ readonly showExpandPreviewButton: import("@angular/core").InputSignal<boolean>;
21
+ readonly expandPreview: import("@angular/core").ModelSignal<boolean>;
19
22
  readonly content: import("@angular/core").InputSignal<Maybe<DownloadTextContent>>;
20
23
  readonly contentState: import("@angular/core").InputSignal<MaybeObservableOrValue<LoadingState<DownloadTextContent>>>;
21
24
  readonly contentState$: Observable<Maybe<LoadingState<DownloadTextContent>>>;
@@ -30,6 +33,7 @@ export declare class DbxDownloadTextViewComponent extends AbstractDbxClipboardDi
30
33
  readonly context: import("@dereekb/rxjs").MutableLoadingStateContext<unknown, LoadingState<DownloadTextContent>, import("@dereekb/rxjs").LoadingContextEvent & LoadingState<DownloadTextContent>>;
31
34
  readonly handleCopyToClipboard: WorkUsingObservable;
32
35
  ngOnDestroy(): void;
36
+ toggleExpandPreview(): void;
33
37
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxDownloadTextViewComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxDownloadTextViewComponent, "dbx-download-text-view", never, { "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "showPreview": { "alias": "showPreview"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "contentState": { "alias": "contentState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxDownloadTextViewComponent, "dbx-download-text-view", never, { "showDownloadButton": { "alias": "showDownloadButton"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "showPreview": { "alias": "showPreview"; "required": false; "isSignal": true; }; "showExpandPreviewButton": { "alias": "showExpandPreviewButton"; "required": false; "isSignal": true; }; "expandPreview": { "alias": "expandPreview"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "contentState": { "alias": "contentState"; "required": false; "isSignal": true; }; }, { "expandPreview": "expandPreviewChange"; }, never, never, true, never>;
35
39
  }
@@ -3,15 +3,28 @@ import { Maybe } from '@dereekb/util';
3
3
  import { AbstractPopoverRefDirective } from '../../interaction/popover/abstract.popover.ref.directive';
4
4
  import { NgPopoverRef } from 'ng-overlay-container';
5
5
  import { DbxHelpViewPopoverConfigWithoutOrigin } from './help.view.popover.component';
6
+ import { DbxButtonDisplay } from '@dereekb/dbx-core';
7
+ import { DbxButtonStyle } from '../../button';
6
8
  import * as i0 from "@angular/core";
7
- export type DbxHelpViewPopoverButtonConfig = DbxHelpViewPopoverConfigWithoutOrigin;
9
+ export interface DbxHelpViewPopoverButtonConfig extends DbxHelpViewPopoverConfigWithoutOrigin {
10
+ /**
11
+ * The display configuration for the button.
12
+ */
13
+ readonly buttonDisplay?: Maybe<DbxButtonDisplay>;
14
+ /**
15
+ * The style configuration for the button.
16
+ */
17
+ readonly buttonStyle?: Maybe<DbxButtonStyle>;
18
+ }
8
19
  /**
9
20
  * Button component that opens a help popover showing active help contexts.
10
21
  */
11
22
  export declare class DbxHelpViewPopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
12
23
  private readonly _dbxPopoverService;
13
24
  readonly buttonElement: import("@angular/core").Signal<ElementRef<any>>;
14
- readonly config: import("@angular/core").InputSignal<Maybe<DbxHelpViewPopoverConfigWithoutOrigin>>;
25
+ readonly config: import("@angular/core").InputSignal<Maybe<DbxHelpViewPopoverButtonConfig>>;
26
+ readonly buttonDisplaySignal: import("@angular/core").Signal<DbxButtonDisplay>;
27
+ readonly buttonStyleSignal: import("@angular/core").Signal<Maybe<DbxButtonStyle>>;
15
28
  protected _makePopoverRef(origin?: Maybe<ElementRef>): NgPopoverRef<unknown, unknown>;
16
29
  showHelpPopover(): void;
17
30
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxHelpViewPopoverButtonComponent, never>;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { DbxButtonStyle } from '../../button/button.component';
2
+ import { DbxButtonStyle } from '../../button/button';
3
3
  import { Maybe } from '@dereekb/util';
4
4
  import { AbstractDbxFileUploadComponent, DbxFileUploadFilesChangedEvent } from './abstract.upload.component';
5
5
  import * as i0 from "@angular/core";
@@ -1,5 +1,5 @@
1
1
  import { FileArrayAcceptMatchConfig } from './upload.accept';
2
- import { DbxButtonStyle } from '../../button/button.component';
2
+ import { DbxButtonStyle } from '../../button/button';
3
3
  import { Maybe } from '@dereekb/util';
4
4
  import { DbxFileUploadButtonComponent, DbxFileUploadButtonFilesChangedEvent } from './upload.button.component';
5
5
  import { DbxFileUploadAreaComponent, DbxFileUploadAreaFilesChangedEvent } from './upload.area.component';
@@ -23,6 +23,8 @@ $content-end-margin: theming.$padding-4;
23
23
 
24
24
  $scroll-content-bottom-padding: 42px;
25
25
 
26
+ $dbx-content-pit-floating-button-margin: 8px;
27
+
26
28
  @mixin core() {
27
29
  .dbx-content-border {
28
30
  padding: $content-border-inner-padding;
@@ -57,11 +59,24 @@ $scroll-content-bottom-padding: 42px;
57
59
  }
58
60
 
59
61
  .dbx-content-pit-scrollable {
60
- max-height: 140px; // TODO: Allow configuring height
62
+ max-height: theming.$dbx-content-pit-scrollable-max-height;
61
63
  max-width: 100%;
62
64
  overflow-y: scroll;
63
65
  }
64
66
 
67
+ .dbx-content-pit-floating-button {
68
+ float: right;
69
+ position: sticky;
70
+ top: $dbx-content-pit-floating-button-margin;
71
+ z-index: 10;
72
+ margin-right: $dbx-content-pit-floating-button-margin;
73
+ margin-bottom: $dbx-content-pit-floating-button-margin;
74
+ }
75
+
76
+ .dbx-content-pit-scrollable > .dbx-content-pit-floating-button {
77
+ top: 0;
78
+ }
79
+
65
80
  .dbx-content-end {
66
81
  margin-bottom: $content-end-margin;
67
82
  }
@@ -33,6 +33,7 @@
33
33
  #{theming.$dbx-content-height-additional-offset-var}: 0px;
34
34
 
35
35
  #{theming.$dbx-content-pit-rounded-border-radius-var}: 12px;
36
+ #{theming.$dbx-content-pit-scrollable-max-height-var}: 140px;
36
37
 
37
38
  #{theming.$dbx-avatar-size-var}: theming.get-dbx-avatar-size($theme-config);
38
39
  #{theming.$dbx-avatar-large-size-var}: theming.get-dbx-avatar-large-size($theme-config);
@@ -131,6 +131,9 @@ $dbx-bg-color-contrast: var($dbx-bg-color-contrast-var);
131
131
  $dbx-content-pit-rounded-border-radius-var: --dbx-content-pit-rounded-border-radius;
132
132
  $dbx-content-pit-rounded-border-radius: var($dbx-content-pit-rounded-border-radius-var);
133
133
 
134
+ $dbx-content-pit-scrollable-max-height-var: --dbx-content-pit-scrollable-max-height;
135
+ $dbx-content-pit-scrollable-max-height: var($dbx-content-pit-scrollable-max-height-var);
136
+
134
137
  $dbx-avatar-size: var($dbx-avatar-size-var);
135
138
  $dbx-avatar-large-size: var($dbx-avatar-large-size-var);
136
139
  $dbx-avatar-small-size: var($dbx-avatar-small-size-var);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web",
3
- "version": "12.6.15",
3
+ "version": "12.6.16",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0",