mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-21 11:35:34 +01:00
[PM-6780][PM-6781] Create vault-export-ui package / Migrate export-scope-callout.component to CL (#8318)
* PM-6780 - Create vault-export-ui package * Migrate export-scope-callout to CL - Move export-scope-callout.component to vault-export-UI - Use bit-callout instead of app-callout - Make component standalone - Remove from jslib.module - Prefix selector with team-name - Export it from vault-export-ui * Update usage of tools-export-scope-callout for desktop * Update usage of tools-export-scope-callout for web * Update usage of tools-export-scope-callout for browser * Change package description --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
This commit is contained in:
parent
eedf00e215
commit
c6327d7f12
@ -191,6 +191,15 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"files": ["libs/tools/export/vault-export/vault-export-ui/src/**/*.ts"],
|
||||||
|
"rules": {
|
||||||
|
"no-restricted-imports": [
|
||||||
|
"error",
|
||||||
|
{ "patterns": ["@bitwarden/vault-export-ui/*", "src/**/*"] }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"files": ["libs/importer/src/**/*.ts"],
|
"files": ["libs/importer/src/**/*.ts"],
|
||||||
"rules": {
|
"rules": {
|
||||||
|
@ -16,6 +16,7 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
|
|||||||
import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe";
|
import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe";
|
||||||
import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe";
|
import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe";
|
||||||
import { AvatarModule, ButtonModule } from "@bitwarden/components";
|
import { AvatarModule, ButtonModule } from "@bitwarden/components";
|
||||||
|
import { ExportScopeCalloutComponent } from "@bitwarden/vault-export-ui";
|
||||||
|
|
||||||
import { AccountSwitcherComponent } from "../auth/popup/account-switching/account-switcher.component";
|
import { AccountSwitcherComponent } from "../auth/popup/account-switching/account-switcher.component";
|
||||||
import { AccountComponent } from "../auth/popup/account-switching/account.component";
|
import { AccountComponent } from "../auth/popup/account-switching/account.component";
|
||||||
@ -107,6 +108,7 @@ import "../platform/popup/locales";
|
|||||||
AvatarModule,
|
AvatarModule,
|
||||||
AccountComponent,
|
AccountComponent,
|
||||||
ButtonModule,
|
ButtonModule,
|
||||||
|
ExportScopeCalloutComponent,
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
ActionButtonsComponent,
|
ActionButtonsComponent,
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<app-callout type="warning" title="{{ 'vaultExportDisabled' | i18n }}" *ngIf="disabledByPolicy">
|
<app-callout type="warning" title="{{ 'vaultExportDisabled' | i18n }}" *ngIf="disabledByPolicy">
|
||||||
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
||||||
</app-callout>
|
</app-callout>
|
||||||
<app-export-scope-callout *ngIf="!disabledByPolicy"></app-export-scope-callout>
|
<tools-export-scope-callout *ngIf="!disabledByPolicy"></tools-export-scope-callout>
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
"@bitwarden/vault-export-core": [
|
"@bitwarden/vault-export-core": [
|
||||||
"../../libs/tools/export/vault-export/vault-export-core/src"
|
"../../libs/tools/export/vault-export/vault-export-core/src"
|
||||||
],
|
],
|
||||||
|
"@bitwarden/vault-export-ui": ["../../libs/tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
||||||
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
||||||
"@bitwarden/platform": ["../../libs/platform/src"],
|
"@bitwarden/platform": ["../../libs/platform/src"],
|
||||||
|
@ -8,6 +8,7 @@ import { NgModule } from "@angular/core";
|
|||||||
import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe";
|
import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe";
|
||||||
import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe";
|
import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe";
|
||||||
import { DialogModule } from "@bitwarden/components";
|
import { DialogModule } from "@bitwarden/components";
|
||||||
|
import { ExportScopeCalloutComponent } from "@bitwarden/vault-export-ui";
|
||||||
|
|
||||||
import { AccessibilityCookieComponent } from "../auth/accessibility-cookie.component";
|
import { AccessibilityCookieComponent } from "../auth/accessibility-cookie.component";
|
||||||
import { DeleteAccountComponent } from "../auth/delete-account.component";
|
import { DeleteAccountComponent } from "../auth/delete-account.component";
|
||||||
@ -61,6 +62,7 @@ import { SendComponent } from "./tools/send/send.component";
|
|||||||
DialogModule,
|
DialogModule,
|
||||||
DeleteAccountComponent,
|
DeleteAccountComponent,
|
||||||
UserVerificationComponent,
|
UserVerificationComponent,
|
||||||
|
ExportScopeCalloutComponent,
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
AccessibilityCookieComponent,
|
AccessibilityCookieComponent,
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
>
|
>
|
||||||
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
||||||
</app-callout>
|
</app-callout>
|
||||||
<app-export-scope-callout *ngIf="!disabledByPolicy"></app-export-scope-callout>
|
<tools-export-scope-callout *ngIf="!disabledByPolicy"></tools-export-scope-callout>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h1 class="box-header" id="exportTitle">
|
<h1 class="box-header" id="exportTitle">
|
||||||
{{ "exportVault" | i18n }}
|
{{ "exportVault" | i18n }}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
"@bitwarden/vault-export-core": [
|
"@bitwarden/vault-export-core": [
|
||||||
"../../libs/tools/export/vault-export/vault-export-core/src"
|
"../../libs/tools/export/vault-export/vault-export-core/src"
|
||||||
],
|
],
|
||||||
|
"@bitwarden/vault-export-ui": ["../../libs/tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
||||||
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
||||||
"@bitwarden/node/*": ["../../libs/node/src/*"],
|
"@bitwarden/node/*": ["../../libs/node/src/*"],
|
||||||
|
@ -1,12 +1,19 @@
|
|||||||
import { NgModule } from "@angular/core";
|
import { NgModule } from "@angular/core";
|
||||||
|
|
||||||
|
import { ExportScopeCalloutComponent } from "@bitwarden/vault-export-ui";
|
||||||
|
|
||||||
import { LooseComponentsModule, SharedModule } from "../../../../shared";
|
import { LooseComponentsModule, SharedModule } from "../../../../shared";
|
||||||
|
|
||||||
import { OrganizationVaultExportRoutingModule } from "./org-vault-export-routing.module";
|
import { OrganizationVaultExportRoutingModule } from "./org-vault-export-routing.module";
|
||||||
import { OrganizationVaultExportComponent } from "./org-vault-export.component";
|
import { OrganizationVaultExportComponent } from "./org-vault-export.component";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [SharedModule, LooseComponentsModule, OrganizationVaultExportRoutingModule],
|
imports: [
|
||||||
|
SharedModule,
|
||||||
|
LooseComponentsModule,
|
||||||
|
OrganizationVaultExportRoutingModule,
|
||||||
|
ExportScopeCalloutComponent,
|
||||||
|
],
|
||||||
declarations: [OrganizationVaultExportComponent],
|
declarations: [OrganizationVaultExportComponent],
|
||||||
})
|
})
|
||||||
export class OrganizationVaultExportModule {}
|
export class OrganizationVaultExportModule {}
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
<bit-callout type="danger" title="{{ 'vaultExportDisabled' | i18n }}" *ngIf="disabledByPolicy">
|
<bit-callout type="danger" title="{{ 'vaultExportDisabled' | i18n }}" *ngIf="disabledByPolicy">
|
||||||
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
{{ "personalVaultExportPolicyInEffect" | i18n }}
|
||||||
</bit-callout>
|
</bit-callout>
|
||||||
<app-export-scope-callout
|
<tools-export-scope-callout
|
||||||
[organizationId]="organizationId"
|
[organizationId]="organizationId"
|
||||||
*ngIf="!disabledByPolicy"
|
*ngIf="!disabledByPolicy"
|
||||||
></app-export-scope-callout>
|
></tools-export-scope-callout>
|
||||||
|
|
||||||
<ng-container *ngIf="organizations$ | async as organizations">
|
<ng-container *ngIf="organizations$ | async as organizations">
|
||||||
<bit-form-field *ngIf="organizations.length > 0">
|
<bit-form-field *ngIf="organizations.length > 0">
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
import { NgModule } from "@angular/core";
|
import { NgModule } from "@angular/core";
|
||||||
|
|
||||||
|
import { ExportScopeCalloutComponent } from "@bitwarden/vault-export-ui";
|
||||||
|
|
||||||
import { LooseComponentsModule, SharedModule } from "../../shared";
|
import { LooseComponentsModule, SharedModule } from "../../shared";
|
||||||
|
|
||||||
import { ExportRoutingModule } from "./export-routing.module";
|
import { ExportRoutingModule } from "./export-routing.module";
|
||||||
import { ExportComponent } from "./export.component";
|
import { ExportComponent } from "./export.component";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [SharedModule, LooseComponentsModule, ExportRoutingModule],
|
imports: [SharedModule, LooseComponentsModule, ExportRoutingModule, ExportScopeCalloutComponent],
|
||||||
declarations: [ExportComponent],
|
declarations: [ExportComponent],
|
||||||
})
|
})
|
||||||
export class ExportModule {}
|
export class ExportModule {}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"@bitwarden/vault-export-core": [
|
"@bitwarden/vault-export-core": [
|
||||||
"../../libs/tools/export/vault-export/vault-export-core/src"
|
"../../libs/tools/export/vault-export/vault-export-core/src"
|
||||||
],
|
],
|
||||||
|
"@bitwarden/vault-export-ui": ["../../libs/tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
"@bitwarden/importer/core": ["../../libs/importer/src"],
|
||||||
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
"@bitwarden/importer/ui": ["../../libs/importer/src/components"],
|
||||||
"@bitwarden/platform": ["../../libs/platform/src"],
|
"@bitwarden/platform": ["../../libs/platform/src"],
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
"@bitwarden/vault-export-core": [
|
"@bitwarden/vault-export-core": [
|
||||||
"../../libs/tools/export/vault-export/vault-export-core/src"
|
"../../libs/tools/export/vault-export/vault-export-core/src"
|
||||||
],
|
],
|
||||||
|
"@bitwarden/vault-export-ui": ["../../libs/tools/export/vault-export/vault-export-core/src"],
|
||||||
"@bitwarden/platform": ["../../libs/platform/src"],
|
"@bitwarden/platform": ["../../libs/platform/src"],
|
||||||
"@bitwarden/vault": ["../../libs/vault/src"],
|
"@bitwarden/vault": ["../../libs/vault/src"],
|
||||||
"@bitwarden/web-vault/*": ["../../apps/web/src/*"]
|
"@bitwarden/web-vault/*": ["../../apps/web/src/*"]
|
||||||
|
@ -29,7 +29,6 @@ import { UserTypePipe } from "./pipes/user-type.pipe";
|
|||||||
import { EllipsisPipe } from "./platform/pipes/ellipsis.pipe";
|
import { EllipsisPipe } from "./platform/pipes/ellipsis.pipe";
|
||||||
import { FingerprintPipe } from "./platform/pipes/fingerprint.pipe";
|
import { FingerprintPipe } from "./platform/pipes/fingerprint.pipe";
|
||||||
import { I18nPipe } from "./platform/pipes/i18n.pipe";
|
import { I18nPipe } from "./platform/pipes/i18n.pipe";
|
||||||
import { ExportScopeCalloutComponent } from "./tools/export/components/export-scope-callout.component";
|
|
||||||
import { PasswordStrengthComponent } from "./tools/password-strength/password-strength.component";
|
import { PasswordStrengthComponent } from "./tools/password-strength/password-strength.component";
|
||||||
import { IconComponent } from "./vault/components/icon.component";
|
import { IconComponent } from "./vault/components/icon.component";
|
||||||
|
|
||||||
@ -54,7 +53,6 @@ import { IconComponent } from "./vault/components/icon.component";
|
|||||||
CopyTextDirective,
|
CopyTextDirective,
|
||||||
CreditCardNumberPipe,
|
CreditCardNumberPipe,
|
||||||
EllipsisPipe,
|
EllipsisPipe,
|
||||||
ExportScopeCalloutComponent,
|
|
||||||
FallbackSrcDirective,
|
FallbackSrcDirective,
|
||||||
I18nPipe,
|
I18nPipe,
|
||||||
IconComponent,
|
IconComponent,
|
||||||
@ -85,7 +83,6 @@ import { IconComponent } from "./vault/components/icon.component";
|
|||||||
CopyTextDirective,
|
CopyTextDirective,
|
||||||
CreditCardNumberPipe,
|
CreditCardNumberPipe,
|
||||||
EllipsisPipe,
|
EllipsisPipe,
|
||||||
ExportScopeCalloutComponent,
|
|
||||||
FallbackSrcDirective,
|
FallbackSrcDirective,
|
||||||
I18nPipe,
|
I18nPipe,
|
||||||
IconComponent,
|
IconComponent,
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"@bitwarden/common/*": ["../common/src/*"],
|
"@bitwarden/common/*": ["../common/src/*"],
|
||||||
"@bitwarden/components": ["../components/src"],
|
"@bitwarden/components": ["../components/src"],
|
||||||
"@bitwarden/vault-export-core": ["../tools/export/vault-export/vault-export-core/src"],
|
"@bitwarden/vault-export-core": ["../tools/export/vault-export/vault-export-core/src"],
|
||||||
|
"@bitwarden/vault-export-ui": ["../tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["../importer/src"],
|
"@bitwarden/importer/core": ["../importer/src"],
|
||||||
"@bitwarden/importer/ui": ["../importer/src/components"],
|
"@bitwarden/importer/ui": ["../importer/src/components"],
|
||||||
"@bitwarden/platform": ["../platform/src"],
|
"@bitwarden/platform": ["../platform/src"],
|
||||||
|
@ -13,3 +13,5 @@ Currently in use by the Bitwarden Web Vault, CLI, desktop app and browser extens
|
|||||||
## vault-export-ui
|
## vault-export-ui
|
||||||
|
|
||||||
Package name: `@bitwarden/vault-export-ui`
|
Package name: `@bitwarden/vault-export-ui`
|
||||||
|
|
||||||
|
Contains all UI components used for the vault-export
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
const { pathsToModuleNameMapper } = require("ts-jest");
|
||||||
|
|
||||||
|
const { compilerOptions } = require("../../../../shared/tsconfig.libs");
|
||||||
|
|
||||||
|
/** @type {import('jest').Config} */
|
||||||
|
module.exports = {
|
||||||
|
testMatch: ["**/+(*.)+(spec).+(ts)"],
|
||||||
|
preset: "ts-jest",
|
||||||
|
testEnvironment: "jsdom",
|
||||||
|
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
|
||||||
|
prefix: "<rootDir>/../../../",
|
||||||
|
}),
|
||||||
|
};
|
25
libs/tools/export/vault-export/vault-export-ui/package.json
Normal file
25
libs/tools/export/vault-export/vault-export-ui/package.json
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"name": "@bitwarden/vault-export-ui",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"description": "Angular components for the Bitwarden vault exporter",
|
||||||
|
"keywords": [
|
||||||
|
"bitwarden"
|
||||||
|
],
|
||||||
|
"author": "Bitwarden Inc.",
|
||||||
|
"homepage": "https://bitwarden.com",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/bitwarden/clients"
|
||||||
|
},
|
||||||
|
"license": "GPL-3.0",
|
||||||
|
"scripts": {
|
||||||
|
"clean": "rimraf dist",
|
||||||
|
"build": "npm run clean && tsc",
|
||||||
|
"build:watch": "npm run clean && tsc -watch"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@bitwarden/common": "file:../../../../common",
|
||||||
|
"@bitwarden/angular": "file:../../../../angular",
|
||||||
|
"@bitwarden/vault-export-core": "file:../vault-export-core"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
<ng-container *ngIf="show">
|
<ng-container *ngIf="show">
|
||||||
<app-callout type="info" title="{{ scopeConfig.title | i18n }}">
|
<bit-callout type="info" title="{{ scopeConfig.title | i18n }}">
|
||||||
{{ scopeConfig.description | i18n: scopeConfig.scopeIdentifier }}
|
{{ scopeConfig.description | i18n: scopeConfig.scopeIdentifier }}
|
||||||
</app-callout>
|
</bit-callout>
|
||||||
</ng-container>
|
</ng-container>
|
@ -1,11 +1,16 @@
|
|||||||
|
import { CommonModule } from "@angular/common";
|
||||||
import { Component, Input, OnInit } from "@angular/core";
|
import { Component, Input, OnInit } from "@angular/core";
|
||||||
|
|
||||||
|
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||||
import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
|
import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
|
||||||
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
||||||
|
import { CalloutModule } from "@bitwarden/components";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "app-export-scope-callout",
|
selector: "tools-export-scope-callout",
|
||||||
templateUrl: "export-scope-callout.component.html",
|
templateUrl: "export-scope-callout.component.html",
|
||||||
|
standalone: true,
|
||||||
|
imports: [CommonModule, JslibModule, CalloutModule],
|
||||||
})
|
})
|
||||||
export class ExportScopeCalloutComponent implements OnInit {
|
export class ExportScopeCalloutComponent implements OnInit {
|
||||||
show = false;
|
show = false;
|
@ -0,0 +1 @@
|
|||||||
|
export { ExportScopeCalloutComponent } from "./components/export-scope-callout.component";
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../../../shared/tsconfig.libs",
|
||||||
|
"include": ["src"],
|
||||||
|
"exclude": ["node_modules", "dist"]
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json"
|
||||||
|
}
|
@ -22,6 +22,7 @@
|
|||||||
"@bitwarden/common/*": ["./libs/common/src/*"],
|
"@bitwarden/common/*": ["./libs/common/src/*"],
|
||||||
"@bitwarden/components": ["./libs/components/src"],
|
"@bitwarden/components": ["./libs/components/src"],
|
||||||
"@bitwarden/vault-export-core": [".libs/tools/export/vault-export/vault-export-core/src"],
|
"@bitwarden/vault-export-core": [".libs/tools/export/vault-export/vault-export-core/src"],
|
||||||
|
"@bitwarden/vault-export-ui": [".libs/tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["./libs/importer/src"],
|
"@bitwarden/importer/core": ["./libs/importer/src"],
|
||||||
"@bitwarden/importer/ui": ["./libs/importer/src/components"],
|
"@bitwarden/importer/ui": ["./libs/importer/src/components"],
|
||||||
"@bitwarden/platform": ["./libs/platform/src"],
|
"@bitwarden/platform": ["./libs/platform/src"],
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
"@bitwarden/common/*": ["./libs/common/src/*"],
|
"@bitwarden/common/*": ["./libs/common/src/*"],
|
||||||
"@bitwarden/components": ["./libs/components/src"],
|
"@bitwarden/components": ["./libs/components/src"],
|
||||||
"@bitwarden/vault-export-core": ["./libs/tools/export/vault-export/vault-export-core/src"],
|
"@bitwarden/vault-export-core": ["./libs/tools/export/vault-export/vault-export-core/src"],
|
||||||
|
"@bitwarden/vault-export-ui": ["./libs/tools/export/vault-export/vault-export-ui/src"],
|
||||||
"@bitwarden/importer/core": ["./libs/importer/src"],
|
"@bitwarden/importer/core": ["./libs/importer/src"],
|
||||||
"@bitwarden/importer/ui": ["./libs/importer/src/components"],
|
"@bitwarden/importer/ui": ["./libs/importer/src/components"],
|
||||||
"@bitwarden/platform": ["./libs/platform/src"],
|
"@bitwarden/platform": ["./libs/platform/src"],
|
||||||
|
Loading…
Reference in New Issue
Block a user