* [CL-1009] button style updates (#18301)
* add new button styles
* update disabled styles
* updated size stories
* update disabled button story names
* updated button stories
* add more explicit screenshots
* make class list a computed signal
* updated button docs
* allow unstyled button to inherit color
* use unstyled button in callouts until callout updates
* base button directive WIP
* add base button directive
* fix focus and hover styles
* fix lint error
* remove commented code that moved to base directive
* ensure buttonStype defaults correctly
* migrate legacy icon button types
* contrast button wips
* pull in latest and fix disabled with attr
* fix legacy variant
* add back nav contrast button variant
* updated icon button docs
* rename nav contrast variant and fix contrast focus
* fix button sizing
* fix product switcher button classes
* add contrast icon button story
* fix border color
* update to primaryGhost variant
* [CL-1025] icon font refresh (#18727)
* adding new icons
* migrate to new icon names
* updated icon build docs
* resolve conflicts and re-run migration
* add icons deps to uif ownership
* fix incorrect migration
* fix misnamed icon
* create filter icon and fix mapping error
* updated readme and add migration script to package.json
* fix prettier warnings
* remove browser alt from definition list
* add missing icon types
* fix image name migrated in error and update regex to not change these
* ensure icon array is updated automatically
* updated build comment
* remove unnecessary direct execution command
* remove direct run command
* allow legacy icon names to map to new icons
* [CL-1025] Icon font refresh - Temporary migration state with legacy names (#18948)
* Revert icon name migrations, preserve migration tooling
Reverted all icon name changes that were applied by the migration scripts,
while preserving:
- New icon SVG files in libs/assets/src/material-icons/
- Icon font files in libs/angular/src/scss/bwicons/
- Migration scripts in scripts/material-icons/
- NPM scripts and dependencies for icon tooling
This allows running the migration fresh when ready.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* Build icon font with bidirectional legacy/new name mapping
Ran icons:build to generate bidirectional icon mappings:
- SCSS now includes 155 icons (both Figma and legacy BWI names)
- TypeScript icon.ts updated with all 155 names
- All legacy names (e.g., bwi-question-circle, bwi-plus) point to new icon assets
- All new names (e.g., bwi-help, bwi-add) also available
- Codebase can continue using legacy names with new icon designs
This enables the temporary migration state where code uses existing
legacy icon names but displays the new refreshed icon assets.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* Fix: revert bwi-filter back to bwi-grid across codebase
bwi-grid is the correct new icon name and should not be reverted.
The changes from bwi-filter to bwi-grid were manual corrections,
not part of the automated migration.
Updated 16 files to restore bwi-grid icon references.
Addresses feedback from Bryan Cunningham on PR #18948
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* remove duplicate key and add back dep ownership change
* fix formatting errors
---------
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix button variant
* [CL-1040] updated palette colors (#19401)
* [CL-973] chip component (#18798)
* wip
* WIP
* create chip filter component
* trying to get truncation to work
* fix truncation
* create chip-action component
* fix type errors
* add chip component
* add shared story args
* have chips take label input
* fix test template and imports
* fixing arg types and disabled states
* simplify disabled logic
* fix dimssis button alignment
* update menu focus color
* updated chip docs
* update chip-select usage to chip-filter
* fix full width icon layout
* remove commited code
* export chip component
* remove commented code
* expose full width
* chip component should not go full width
* use bit-icon in filter template
* remove commented code
* updated chip docs
* remove extra truncate class
* fix dupe input definitions
* move import to correct line
* read base chip values directly
* remove standlaone as it's the default
* forward size correctly
* create full width arg type
* let type be infered
* updated jsdoc comments
* use more modern angular syntax
* rename components to use kebab case
* remove redundant docs
* remove inaccurate link docs
* remove enum like types
* remove dead code
* remove unused spec
* remove host bindings
* restructure chips folders
* add max width class
* remove full width docs
* add internal comment
* bind to missing controls
* fixing docs
* replace disabled verbiage with inactive
* remove unnecessary comment
* default to primary
* do not allow end icon in action chip
* take chip action screenshots in both themes
* use selected input for base directive
* fix width error
* coerce to boolean
* fixed end icon reference
* fix code reference to endIcon
* fixing chip filter specs
* fix missing input transform
* fix docs
* fix input and add truncate
* ensure chip content truncates
* updated slot naming
* updated example to use new flow control
* fix typing for option.icon
* fix failing test, fix filter type, and support colored icons in filter options
* fix failing test
* doc updates
* change dismissed event name
* remove standalone
* fix selector
* fix docs
* remove unused fvw data property and fix docs links
* use base as host directive in chip
* fix spec button selectors
* fix duplicate class binding
* fix incorrect variant resolution
* handle undefined size
* fix signal type
* remove duplicate input
* fix failing spec
* updated styles for trailing icon spacing and font size
* padding tweaks for visual design
* make variant a writable model
* use logical text align
* update slot names
* remove dismissible input
* add back missing import
* remove ability to set chip filter to small size
* create size arg type
---------
Co-authored-by: Vicki League <vleague@bitwarden.com>
* [CL-987] Update Nav Group and Nav Item components (#18965)
* updated side nav `nav-group` and `nav-item` components
* - added focus states
- set cursor pointer for nav-item
- updated arrow orientations
* - updated `navItemIndentationPadding`
- reverted `[treeDepth]` for `nav-group`
- removed placeholder arrow
* - removed text style from starting slot container
- fixed routes in story
* created shared container classes var
* fixes from rebase, override `border-radius` for collapse arrow button
* updated `tw-theme`: reverted `--color-bg-hover` and added `--color-bg-sidenav-hover`
* removed end slot `div` styles from rebase, updated `buttonType` in `nav-group` story
* added dark mode `--color-bg-sidenav-hover`
* added `xsmall` size variant to 'Icon Button'
* - updated navs to use 'xsmall' button
- fixed container padding
- removed custom arrow button styles
* fixed type error
* fixed focus-visible state by adding `tw-outline-none` to `nav-item`
* fixed type error
* placed arrow button directly in start slot
* defined `containerClasses` in template
* renamed 'item-active-hover' to 'active-item-hover' for consistency
* missed renaming from `item-active-hover` to `active-item-hover`
* fixed 'hover' and 'active' colors, added colors for arrow hover states
* - separated buttons sizes for 'Button' and 'Icon Button' from `BaseButtonDirective` into respective components
- moved `border-radius` style from Directive into own components
* fixed/simplified focus colors, added sidenav specific focus colors
* updated 'arrow' icon size for nav group, updated 'xsmall' font size
* trigger Claude review
* removed `tw-text-2xl` in nav-group for arrow button
* removed unused `NgClass` import
* more cleanup, removed unused `Ng` imports
* converted `_isActive` to signal and `showActiveStyles` to computed
* removed instances of `variant="tree"`
* renamed color variables from `admin-sidenav` to `sidenav-secondary`
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* fix lint
* [CL-1096] Fix icon button width shrinking in flex containers (#19529)
Add tw-shrink-0 to prevent icon buttons from shrinking below their
fixed size when placed inside flex containers.
* [CL-1101] Fix chip dismiss button hover style and add interaction state stories (#19530)
Use the correct bg-bg-hover token for dismiss button hover background, matching
the Figma spec. The previous hover-contrast token was invisible on light backgrounds.
Add InteractionStates story showing Default, Hover, Focus, and Inactive states
for both large and small sizes.
* [CL-1098] Fix danger icon button color in form field suffix (#19532)
* [CL] Fix danger icon button color in form field suffix
Don't apply tw-text-muted to icon button suffixes — icon buttons manage
their own text color via buttonType, so the muted class was overriding
danger/primary colors (e.g. blue icon on red background in Cipher Form).
* [CL] Fix danger icon button color in form field suffix
Don't apply tw-text-muted to icon button suffixes — icon buttons manage
their own text color via buttonType, so the muted class was overriding
danger/primary colors (e.g. blue icon on red background in Cipher Form).
Also adds a DangerButtonInputGroup story to capture this case.
* [CL-1094] Update icon button default variant to primaryGhost (#19534)
* [CL-1094] Update icon button default variant to primaryGhost
Change buttonType from input to model in BaseButtonDirective, and set
the default to primaryGhost in the icon button constructor.
* [CL-1094] Fix icon button default variant using own input + effect
Using model.set() in the constructor is overridden by Angular's input
initialization lifecycle. Instead, own buttonType as an input directly
on BitIconButtonComponent with primaryGhost as the default, and sync to
the base directive via effect.
* [CL-959] update badge component styles (#19026)
* badge wip
* dynamic truncated badge tooltip
* support legacy variants for now
* add deprecation types and remove hover styles
* updated story docs
* add default icons for badges
* fix incorrect color mapping
* add ability to hide start icon
* take snapshot in both themes
* add icon size styles
* remove tooltip code
* update at risk password to use actual buttons
* more specific badge truncation docs
* remove badge module from imports
* use chip action for link
* fix missing import
* use chip in multi-select inputs
* update org badge to use primary chip
* update premium badge to accent primary action chip
* use chip action for vault item fill
* remove unnecessary icon in badge
* update obsolete notification variant
* replace usage of bitBadge on button in stories
* remove explicit input to hide startIcon
* use berry instead of badge
* fix type error
* fixing imports and badge usage
* use logical text align
* remove dead code and update jsdoc comment
* add back ability to not truncate
* remove default icon for accent-primary
* add missing translation keys to multi select story
* allow null as default icon type
* add element selector and update stories to use it
* conditionally apply truncate class
* conditionally apply title text
* migrate badge to berry
* use correct input for content
* use berry in toggle group stories
* remove unused template reference
* remove unused import of badge
* remove unused custom color code
* remove unused service injection
* [CL-1102] Fix help icon size in bit-label (#19533)
* [CL-1102] Fix help icon size in bit-label
Target bwi icons inside bit-label with [&_.bwi]:tw-text-xl to restore
correct icon sizing after recent icon style changes.
* [CL-1102] Fix text alignment regression in bit-label
Add tw-leading-none to bwi icons to prevent the line-height from
tw-text-xl from disrupting baseline alignment.
* remove bwi-sm from label icon
---------
Co-authored-by: Bryan Cunningham <bryan.cunningham@me.com>
* [CL-964] Update Callout Component (#19424)
* updated callout component
* renamed consumer bit-callout `type` from 'default' to 'subtle'
* updated callout 'end' slot
* migrated spotlight to callout, deleted spotlight
* - updated `title` comment
- updated stories and mdx
* removed `useAlertRole`
* added `CommonModule` import and updated `buttonType` in stories
* updated 'Accessibility' guidelines
* updated 'close' button
* - updated stories for clearer code
- set `(onDismiss)` only for WithCloseButton story
* added boolean switch for `persistent` to story
* fixed tests
* prettier fix
* - updated `bit-callout` instances of `buttonType="unstyled"` to use appropriate `buttonType`
- updated story for correct usage of button styles
* fixed `type` in `vault-list`
* updated to use `bit-icon`
* - fixed vertical centering of icon and text
- updated to 'OnPush' change detection
* fixed error: added 'close' to `mockLayoutI18n`
* updated `bit-callout` jsdoc comment and mdx
* fixed `persistent` callout in `admin-settings`
* removed "interrupt" language
* reverted fix for `bit-callout` `persistent`
* fixed type error
* added `close` translation to stories utilizing `bit-callout`
* converted to JSDoc comments
* updated 'close' button to check if `dismiss` output is bound
* fix: removed `readonly` from `isDismissible`
* converted `isDismissble` to signal
* added translation to `phishing-warning' story
* added bottom margin back in to callout component
* fixed type error, fixed `icon` values
* revert subscription-card callout icon to default if not defined
* fix: update 'bit-callout' type to 'subtle'
* updated colors in `tw-theme`
* added conditional check to compute vertical alignment class
* updated more colors, slight restructure to match design
* fixed vertical alignment with 'close button', avoid long text crowding/overflowing
* remove default icons on non-semantic variants (#19614)
* remove default icons on non-semantic variants
* add back info icon to info variant
* remove info icon again
* [CL-1095] add expanded state for disclosure button (#19637)
* add brand stronger colors
* add aria-expanded styling for primary ghost button
* make all variants aria-expanded style match hover styles
* update orage-600 color value to fix contrast
* minor spacing update to account for expanded button style
* do not show expanded state on sidenav buttons
* no expanded style on toggle width button
* remove extra letter spacing and update story copy (#19668)
* [CL-1123] fix ghost button inactive styles (#19669)
* fix ghost button inactive styles
* remove type declaration
* [CL-1119] toggle berry update (#19609)
* update toggle groups to use berry
* set berry variant based on selected state
* fix failing spec
* add spec to test berry variant set correctly
* fix import errors caused by bad merge conflict resolution
* remove unnecessary variant delaration
* update kitchen sink stories to use berry
* [CL-1122] BUG FIX: Migrated Icon Buttons with button type 'danger' to 'dangerGhost' (#19677)
* migrated `bitIconButton` with 'danger' `buttonType` to 'dangerGhost'
* reverted icon-button story
* fix button variant from merge
* [CL-1117] BUG FIX: Side nav collapse arrow is placed too far left (#19623)
* - updated spacing for side-nav collapse arrow button
- updated collapsed nav-item button spacing and dimensions
- moved individual nav-item wrapper padding into side-nav component
- added button to 'WithLongText' nav-item story
* added sidenav specific hover style to toggle collapse button
* - set horizontal padding back to 'nav-item'
- updated 'bit-divider' color to 'bg-border-brand'
* updated hover styles for interactive trailing elements
* added '4px' more end padding to trailing buttons
* updated 'bit-divider' colors for secondary and dark theme
* moved button hover styles into 'side-nav' button variant
* updated sidenav-divider color for dark theme
* removed `tw-w-10` on nav-item collapsed
* updated inline padding to `12px` for both collapse and expanded states
* [CL-1117] cleaned up, renamed, and organized sidenav color variables (#19665)
* - unified 'strong' styles and `showActiveStyles` into `[style]`
- updated 'side-nav' button variant's `aria-expanded` and `focus-visible` styles
* - inherit bg and fg from parent `sidenav`
- allow trailing buttons set own fg
* updated nav group story for trailing elements
* updated nav-logo 'focus' to nav focus style
* let toggle width arrow inherit 'aria-expanded' style from 'side-nav' buttontype
* removed danger button variants from nav group story
---------
Co-authored-by: Bryan Cunningham <bcunningham@bitwarden.com>
Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Leslie Xiong <lxiong@livefront.com>
* feat(billing): update cart-summary logic
Add functionality to hide breakdown and allow translation params
* tests(cart-summary): update tests and stories
* feat(pricing): Add quantity support to discount labels
* feat(pricing): discount quantity story
* Revert "feat(pricing): discount quantity story"
This reverts commit 2c00891f1f.
* Revert "feat(pricing): Add quantity support to discount labels"
This reverts commit 8350fdd90f.
* fix(cart-summary): Adjust discount text styling
* feat(pricing): adds support for hidden discount amounts
Allows hiding the formatted amount for discounts in the cart summary.
This is useful for scenarios where the discount amount is displayed
elsewhere or is not relevant to the user.
Updates the storybook to include a story demonstrating this feature.
* feat(pricing): conditionally format currency amounts to show or hide decimals
* Revert "feat(pricing): adds support for hidden discount amounts"
This reverts commit 076724276c.
* Revert "fix(cart-summary): Adjust discount text styling"
This reverts commit d02c12fc2a.
* Revert "discount translation"
* feat(pricing): add credit type to cart summary
* feat(pricing-card): Add i18n and icon component infrastructure
* feat(pricing-card): Apply i18n pipe to pricing card template
* refactor(pricing-card): Replace `<i>` tags with `<bit-icon>` in template
* test(pricing-card): Update tests for i18n and icon component changes
* docs(pricing-card): Enhance Storybook and documentation for new features
* feat(pricing-card): Adds "per user" translation key
* refactor(pricing-card): use property binding for bit-icon name
* docs(pricing-card): expand price cadence options in MDX
* fix(icon): update exports for icon types
* feat(billing): Use strongly typed BitwardenIcon for pricing card buttons
* refactor(pricing): Remove unused I18nService from PricingCardComponent
* fix(pricing): Improve pricing card button icon template null-safety
* fix(pricing-card): format update
Clarifies the description of the `price` property within the PricingCard component documentation.
No functional code changes are included.
* refactor: Update discount label typography in cart summary
* refactor(stories): Rename account credit translation key to premium subscription credit
* feat(pricing-card): update spacing for card without button
* [PM-29138] fix defect with pricing service on self host
* use iscloud instead of manually checking region
* fixing strict compile issues
* spacing updates from design review
* final spacing edits
* pr feedback
* typechecking
Creates a `PremiumInterestStateService` that manages state which conveys whether or not a user intends to setup a premium subscription. Implemented in Web only. No-op for other clients.
This will apply for users who began the registration process on https://bitwarden.com/go/start-premium/, which is a marketing page designed to streamline users who intend to setup a premium subscription after registration.
* feature flag
* new upgrade dialog component and moved pricing service into libs
first draft
* moved pricing service to libs/common
removed toast service from the pricing service and implemented error handling in calling components
# Conflicts:
# apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts
* moved new premium upgrade dialog component to libs/angular
* badge opens new dialog in browser extension
* adds new dialog to desktop and fixes tests
* updates send dropdown to use premium prompt service
* styling and copy updates
* implement in web and desktop
* unit tests
* converting premium reports to use premium badge, and some cleanup
* fixes issue after merge
* linter errors
* pr feedback
* handle async promise correctly
* full sync after the premium upgrade is complete
* fixing test
* add padding to bottom of card in new dialog
* add support for self hosting
* fixing tests
* fix test
* Update has-premium.guard.ts
* pr feedback
* fix build and pr feedback
* fix build
* prettier
* fixing stories and making badge line height consistent
* pr feedback
* updated upgrade dialog to no longer use pricing card
* fixing incorrect markup and removing unused bits
* formatting
* pr feedback
removing unused message keys and adding back in code that was erroneously removed
* change detection
* close dialog when error
* claude pr feedback
* Use payment domain
* Fixing lint and test issue
* Fix organization plans tax issue
* PM-26297: Use existing billing address for tax calculation if it exists
* PM-26344: Check existing payment method on submit
* Refactor provider service calls to include userId parameter
- Updated multiple components and services to pass userId when fetching provider data.
- Adjusted the ProviderService interface to require userId for get, get$, and getAll methods.
- Ensured consistent handling of userId across various components, enhancing data retrieval based on active user context.
* Remove deprecated type safety comments and use the getById utility for fetching providers.
* Update ProviderService methods to return undefined for non-existent providers
- Modified the return types of get$ and get methods in ProviderService to allow for undefined values, enhancing type safety.
- Adjusted the providers$ method to return only defined Provider arrays, ensuring consistent handling of provider data.
* Enhance provider permissions guard tests to include userId parameter
- Updated test cases in provider-permissions.guard.spec.ts to pass userId when calling ProviderService methods.
- Mocked AccountService to provide active account details for improved test coverage.
- Ensured consistent handling of userId across all relevant test scenarios.
* remove promise based api's from provider service, continue refactor
* cleanup observable logic
* cleanup
---------
Co-authored-by: Brandon <btreston@bitwarden.com>
* migrate all components to use PremiumBadgeComponent
* move badge component to vault
* move premium badge to vault
* move premium badge to billing
* fix import
* use premium badge in tools new send dropdown
* remove badge module import
* remove module
* create libs/assets
* treeshake lib and filter out non-icons from icon story
* update docs
* fix icon colors in browser and desktop
* better name for vault icon
* move illustrations
* fix(enums-eslint): Enum Rule for ESLint - Added enums in the warnings for eslint.
* fix(enums-eslint): Enum Rule for ESLint - Updated to error in both places for enums.
* fix(enums-eslint): Enum Rule for ESLint - Added new eslint plugin for warning on enums.
* fix(enums-eslint): Enum Rule for ESLint - Changed based on suggestion.
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* refactor(browser-platform-utils): Remove Deprecation and Fix Code - Changed usages of firefox to private and moved the usages to the preferred public method and removed the deprecations.
* fix(enums-eslint): Enum Rule for ESLint - Updated to error and added disable rules for all other places.
* fix(enums-eslint): Enum Rule for ESLint - Undid other changes by accident
* Move premium component into billing ownership
Update CODEOWNERS
Move files within libs/angular
Move files within desktop
Adjust import paths
* Remove configService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Moved has-premium.guard under billing
* Moved free-trial.ts to billing
* Moved premium directives to billing
* Moved families-policy.service.ts to billing
* Moved trial initiation from auth to billing
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* wire vNextOrganizationService for share.component
* wire vNextOrganizationService for collections.component
* wire vNextOrganizationServcie for add-account-credit-dialog
* wire vNextOrganizationService for vault-filter.service
* fix browser errors for vNextOrganizationService implementation in libs
* fix desktop errors for vNextOrganizationService implementation for libs
* fix linter errors
* fix CLI errors on vNextOrganizationServcie implementations for libs
* [PM-15506] Wire up vNextOrganizationService for web client (#12810)
PR to a feature branch, no need to review until this goes to main.
* implement vNextOrganization service for browser client (#12844)
PR to feature branch, no need for review yet.
* wire vNextOrganizationService for licence and some web router guards
* wire vNextOrganizationService in tests
* remove vNext notation for OrganizationService and related
* Merge branch 'main' into ac/pm-15506-vNextOrganizationService
* fix tsstrict error
* fix test, fix ts strict error
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* (No Logic) Fix typo in billing-api-service.abstraction file name
* (Cleanup) Remove payment method components and API methods from provider portal
Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.
* Add organization endpoints to support new payment method behavior
* Add payment-v2.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* (No Logic) Move existing payment.component into new payment component folder
* Add verify-bank-account.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* Add adjust-payment-dialog-v2.component
* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder
* Add organization-payment-method.component
* Add feature flag: AC-2476-deprecate-stripe-sources-api
* Pivot organization payment method route on new feature flag
* Fix broken test
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* Added select-payment-method.component in shared lib
Because we're going to be implementing the same functionality for providers and orgs/users, I wanted to start moving some of this shared functionality into libs so it can be accessed in both web and bit-web. Additionally, the Stripe and Braintree functionality has been moved into their own services for more central management.
* Added generalized manage-tax-information component to shared lib
* Added generalized add-account-credit-dialog component to shared libs
* Added generalized verify-bank-account component to shared libs
* Added dialog for selection of provider payment method
* Added provider-payment-method component
* Added provider-payment-method component to provider layout