Commit Graph

254 Commits

Author SHA1 Message Date
Oscar Hinton 5f6f4bad82
[SM-251] Migrate to new avatar component (#3600) 2022-10-27 14:38:34 +02:00
Oscar Hinton 7fa0231616
[SM-298] Migrate search icon to bit icon component (#3823) 2022-10-27 14:35:37 +02:00
Oscar Hinton 94e9744d06
Update design urls to main figma file (#3880) 2022-10-24 19:20:38 +02:00
Shane Melton 3ed1221f7f
Fix MultiSelect component styles and CSP error (#3841)
* Update Web styles and CSP to support MultiSelect component

- Include the MultiSelect module in the CL barrel file of exports
- Import the MultiSelect scss into the Web styles.scss
- Add the necessary sha256 hash to webpack CSP policy to support ngSelect inline styles

* Undo removal of 127.0.0.1 from webpack CSP
2022-10-19 16:24:39 -07:00
Danielle Flinn a5abbecf39
Storybook docs structure (#3755)
* updated naming of common to documentation

* Add button docs

* updated sort order

Documentation is now above the component library and allows the general pages to come before the component specific ones.

* fixed typos

* updated file name

* fixed typo in introduction.stories.mdx

* updated banner.stories.mdx to match new docs structure

* remove plural in button docs
2022-10-18 07:54:27 -07:00
Jaclyn Touchstone fcd388e888
Create banner.stories.mdx (#3695)
* Create banner.stories.mdx

Added documentation for Banner component in Common

* Update banner.stories.mdx

Added comment to test verification

* Update banner.stories.mdx

Removing test comment

* Trying our referencing stories in banner mdx

* fix: build errors

* Added stories for banner info, warning, danger

* Formatting update libs/components/src/banner/banner.stories.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update banner.stories.mdx

Added list formatting to text for readability, added section for Accessibility

* Update libs/components/src/stories/banner.stories.mdx

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update libs/components/src/stories/banner.stories.mdx

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Updated banner.stories.mdx

Added section for Accessibility, improvements to text formatting for readability

Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2022-10-17 13:25:55 -05:00
Shane Melton d77713e3ba
Update bwi-font files and icon stylesheet (#3780) 2022-10-13 16:43:09 -07:00
Vincent Salucci 9578e7b6b4
[CL-27] [EC-455] Ng-Select Integration (#3383)
* [CL-27] Select -> Library initial commit

* [EC-455] NG-Select Integration

* Prettier

* [EC-455] [CL-27] Add option for removing items on close // Added loading/no item found text defaults // Fixed disabled bg color // Added templated loading icon

* [EC-455] [CL-27] Removed enter override // Fixed backspace removal // Clearing search on add // Gave label select states

* [EC-455] [CL-27] Added copy from text to theme

* [EC-455] [CL-27] Changed SimpleItemView to type - removed creation logic to shift responsibility to hosting component

* [EC-455] [CL-27] Updated custom theme to include CSS variable colors

* [CL-27] [EC-455] Initial pass at form field control // initial template for custom value accessor

* [EC-455] working baseItem input

* [EC-455] working value accessor

* [EC-455] Completed FormFieldControl implemntation // fixed badge disabled bug

* [EC-455] Prettier

* [EC-455] Removed obsolete variables

* [EC-455] Private value accessor functions

* [EC-455] Cleaned up default variables

* [EC-455] Imported Shared module to access i18n pipe // cleaned up string refs

* [EC-455] Adjusted padding for clear button // Changed hover color to text-main // Fixed pipe import on stories

* [EC-455] FormObj factory

* [EC-455] FormObj factory

* [EC-455] Updated FormFieldModule import/export statements

* [EC-455] Null check ngControl // added strings

* [EC-455] Fixed remaining null check // Added standalone story & input

* [EC-455] Actually adding the null check

* [EC-455] Removed injector logic // Removed Value Accessor PROVIDER // Self-assigned value accessor

* [EC-455] Fixed ID copy pasta // Forwarded desribed by to focusable input // Abstracted input for label

* [EC-455] Prettier
2022-10-11 07:49:31 -05:00
Andreas Coroiu ea12ee2b10
[EC-558] chore: cleanup unused code (#3740) 2022-10-11 10:50:46 +02:00
Andreas Coroiu bb4f063fe7
[EC-558] Reflecting async progress on buttons and forms (#3548)
* [EC-556] feat: convert button into component

* [EC-556] feat: implement loading state

* [EC-556] feat: remove loading from submit button

* [EC-556] fix: add missing import

* [EC-556] fix: disabling button using regular attribute

* [EC-556] feat: implement bitFormButton

* [EC-556] feat: use bitFormButton in submit button

* [EC-556] fix: missing import

* [EC-558] chore: rename file to match class name

* [EC-558] feat: allow skipping bitButton on form buttons

* [EC-558]: only show spinner on submit button

* [EC-558] feat: add new bit async directive

* [EC-558] feat: add functionToObservable util

* [EC-558] feat: implement bitAction directive

* [EC-558] refactor: simplify bitSubmit using functionToObservable

* [EC-558] feat: connect bit action with form button

* [EC-558] feat: execute function immediately to allow for form validation

* [EC-558] feat: disable form on loading

* [EC-558] chore: remove duplicate types

* [EC-558] feat: move validation service to common

* [EC-558] feat: add error handling using validation service

* [EC-558] feat: add support for icon button

* [EC-558] fix: icon button hover border styles

* [EC-558] chore: refactor icon button story to show all styles

* [EC-558] fix: better align loading spinner to middle

* [EC-558] fix: simplify try catch

* [EC-558] chore: reorganize async actions

* [EC-558] chore: rename stories

* [EC-558] docs: add documentation

* [EC-558] feat: decouple buttons and form buttons

* [EC-558] chore: rename button like abstraction

* [EC-558] chore: remove null check

* [EC-558] docs: add jsdocs to directives

* [EC-558] fix: switch abs imports to relative

* [EC-558] chore: add async actions module to web shared module

* [EC-558] chore: remove unecessary null check

* [EC-558] chore: apply suggestions from code review

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [EC-558] fix: whitespaces

* [EC-558] feat: dont disable form by default

* [EC-558] fix: bug where form could be submit during a previous submit

* [EC-558] feat: remove ability to disable form

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-10-10 16:04:29 +02:00
Oscar Hinton 96c99058c4
[CL-42] Add code color (#3662) 2022-10-07 18:24:49 +02:00
Oscar Hinton 1fbfb89cc3
Ensure avatar component is stable (#3640) 2022-09-29 18:57:35 +02:00
Shane Melton 870ced2235
Make content padding optional on Dialog components to support tab group content (#3634) 2022-09-28 09:05:35 -07:00
Andreas Coroiu cd7c9bfd9f
[EC-556] refactor cl button (#3537)
* [EC-556] feat: convert button into component

* [EC-556] feat: implement loading state

* [EC-556] feat: remove loading from submit button

* [EC-556] fix: add missing import

* [EC-556] fix: disabling button using regular attribute

* [EC-556] fix: missing loading input in story templates

* [EC-556] feat: remove and replace submit button

* Fix packaging on Build Web workflow (#3613)

(cherry picked from commit 67c447d54c)

* [EC-556] fix: replaced buttons should be primary

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2022-09-27 11:25:53 +02:00
Andreas Coroiu b5de573497
fix: icon button style incompats (#3611) 2022-09-27 11:22:31 +02:00
Shane Melton debaef2941
[EC 456] Component Library Content Switching Tabs (#3452)
* [EC-456] Rename bitTabItem -> bitTab

* [EC-456] Use templateRefs or text for tab label content

* [EC-456] Add bit-tab-nav-bar component

* [EC-456] Finish content tab switching and nav tabs

* [EC-456] Undo accidental eslintrc.json change

* [EC-456] Fix directive/component selector naming convention

* [EC-456] Cleanup unnecessary InjectionTokens and simplify template label property

* [EC-456] Cleanup one more unnecessary InjectionToken

* [EC-456] Cleanup tab styles to better match Figma. Add internal tab header component for styling header background according to Figma.

* [EC-456] Add sub-folders for nav, content, and shared tab components/directives

* [EC-456] Code/style cleanup

* [EC-456] Remove underscore from protected members

* [EC-456] Cleanup tab stories and forgotten any type.

* [EC-456] Fix dark theme story tab content text color

* [EC-456] Add missing padding to tab header

* [EC-456] Add tab content padding to align with tab headers

* [EC-456] Move bottom tab border to header to span entire content area

* [EC-456] Force text-main tab label color

* [EC-456] Undo text-main change
2022-09-26 22:41:51 +01:00
Andreas Coroiu c96bd09d64
Add type=button to dialog close (#3565) 2022-09-20 10:18:31 +02:00
Oscar Hinton 868f12bfd8
[CL-54] Add support for button block without argument + submit button (#3498) 2022-09-16 11:30:41 +02:00
Andreas Coroiu d666d66886
[EC-457] Component library icon buttons (#3372)
* [EC-457] feat: initial version of icon button

* [EC-457] feat: modify template and start adding inputs

* [EC-457] feat: implement all styles

* [EC-457] chore: cleanup

* [EC-457] feat: fix hover styles after discussions

* [EC-457] feat: add focus ring workaround

* [EC-457] chore: refactor stories a bit

* [EC-457] fix: button style attr name reserved word collision

* [EC-356] feat: match padding with figma

* [EC-457] feat: use icon button in banner

* [EC-457] chore: cleanup css classes

* [EC-457] feat: improve aria

* [EC-457] feat: use icon button in dialog

* [EC-457] fix: make focus and hover styles independent

* [EC-457] fix: remove primary 500 border

* [EC-457] chore: cleanup

* [EC-457] chore: move css class to common list

* [EC-457] fix: use focus-visible

* [EC-457] chore: expand on workaround fix

* [EC-457] fix: default sizing

* [EC-457] fix: align trash icon right

* [EC-457] fix: add missing aria labels

* [EC-457] fix: add i18n service to banner tests

* [EC-457] chore: rename size `default` to `button`

* [EC-457] feat: double padding

* [EC-457] feat: simplify sizes - update default

* [EC-457] fix: revert selector fix - gonna create separate pr

* [EC-457] chore: remove superfluous dependencies

* [EC-457] fix: remove non-working onClose handler

Removing this storybook action because we already test it as part of the dialog service stories.
It requries mocking the dialogRef to capture the close function which makes this story more complex
but adds very little value as we already test it elsewhere.
2022-09-15 07:38:29 +02:00
Vincent Salucci a4ef63da37
[CL-44] [EC-525] Update button disabled state (#3282)
* [CL-44] Update button disabled state

* [CL-44] [EC-525] Fixed opacity issue with background/border
2022-09-13 09:20:07 -05:00
Oscar Hinton f79014c9e6
[SM-224] Change the simple dialog width (#3475) 2022-09-12 16:32:26 +02:00
Oscar Hinton cb31a71e8d
[SM-154] Add labelledby to dialogs (#3439) 2022-09-08 10:37:23 +02:00
rr-bw 7c5e4dd3d6
[CL-7] Avatar (#3153)
* CL-7 Begin Implementing Avatar

* add figma design to parameters

* rework size property

* Update Figma file to correct component

* remove circle input (avatar will always be a circle)

* adjust sizing and limit inputs

* Setup color input and functionality

* Add border option

* fix bug duplicating classes

* Update size for large avatar

* Remove unnecessary class

* Fix typo

* Remove 'dynamic' input (Avatar will now regenerate on changes by default)

* Use Tailwind class instead of an arbitrary value

* Remove gravatars (deprecated, see SG-434)

* Rename methods to a more accurate name

* Rework classList() getter method

* Remove unnecessary logic and services

* Make properties private, and rename for better clarity

* Move sanitizer logic to the TS code rather than the template

* Rework and move function to a common static class in Utils

* Rename 'data' to 'text' for clarity

* Rework classList implementation

* Remove email since we removed gravatars

* Remove template

* set color based on color, id, or text input

* rework generate method

* add explicit null/undefined check

* remove comment

Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
2022-09-06 11:02:09 -07:00
Andreas Coroiu 15920f5354
[EC-512] Tree shakeable icons (#3427)
* [EC-512] feat: create new icon class

* [EC-512] feat: implement protected svgIcon function

* [EC-512] feat: use new icon class in component

* [EC-512] feat: integrate new icons in application

* [EC-512] fix: linting

* [EC-512] chore: move report icons to where they are used

* [EC-512] chore: add export type explanation
2022-09-06 08:21:59 +02:00
Thomas Rittson 4a1c3eb1ec
[EC-423] Fix unit tests (#3265)
* Create base jest.config file

* Fix various tests that were broken

* Add maxWorkers to jest config

* Undo change to testEnvironment

* Enable tsconfig.spec.json
2022-08-11 11:35:08 +10:00
Vincent Salucci 07c7357825
[Component Library] Text/Button Links (#3126)
* Initial commit

* Updated stories / Fixed issues with dark theme constrast color

* Force colors so bootstrap doesn't override

* Fixed text colors / Added initial tests

* Added jest debugging ability to components package

* Removed spec file

* Fixed anchor layout

* revert base font-size

* [CL-28] fixed indentation, used focus-visible, adjusted disabled colors

* [CL-28] Reduced ring thickness to better match figma

* [CL-28] Updated story link

* [CL-44] [CL-28] Updated tabs disabled color / Converted to rgb format with helper
2022-08-08 11:21:46 -05:00
Oscar Hinton 762fac062f
[CL-46] Dialogs (#3237) 2022-08-05 17:45:36 +02:00
Oscar Hinton 6b1652e34c
[SM-108] Refactor Reports - Add storybook stories (#3204) 2022-08-03 21:40:04 +02:00
Oscar Hinton 75cd41b9b3
Remove absolute value in toggle group (#3213) 2022-08-02 17:43:50 +02:00
Oscar Hinton 379036123f
[SM-110] Add prettier-plugin-tailwindcss (#3215) 2022-08-02 08:45:59 +02:00
Oscar Hinton 4fc278b956
[CL-24] Add tables (#2950) 2022-07-28 12:43:00 +02:00
Oscar Hinton 2011131bb2
[PS-182] Upgrade Angular to V14 (#2948) 2022-07-26 14:48:11 +02:00
Vincent Salucci 8694227b92
[CL-17] Use focus-visible for keyboard selection (#3152) 2022-07-22 14:22:37 -05:00
Thomas Avery 8cb92d425c
[CL-29] Modal Components for the component library (#3053)
The purpose of this PR is to add Modals into the component library.

To note, this PR is focused on the visual of the modal that will "pop-up" and not the actual pop-up implementation.
2022-07-22 10:55:45 -05:00
Gbubemi Smith 9fef1d21a4
[SG-430] Modify registration component to use static ids (#3144)
* refactored form to use static ids

* renamed ids to meet standard

* renamed ids to meet standard

* renamed ids to meet standard
2022-07-22 11:22:01 +01:00
Oscar Hinton abed118ef0
Fix input group disabled button styling (#3130) 2022-07-18 19:08:41 +02:00
Vincent Salucci 5ef3aac5e2
[CL-17] Tabs - Router (#2952)
* [CL-17] Tabs - Routing

* Updated titles

* Revision changes

* Replaced testing module to achieve active default state

* Z-index for tab vs disabled

* Revision changes

* Updated z index on focus

* Fixed background color of selected tab

* Force text colors in-case bootstrap tries to override

* Remove unecessary css rules, fix tabs moving when active

Co-authored-by: Hinton <hinton@users.noreply.github.com>
2022-07-18 09:17:31 -05:00
Andreas Coroiu cd5aef1757
[Cl-10] Button group (#3031)
* chore: setup initial bit-button-group using bitButton as template

* feat: working radio group with preliminary styling

* chore: cleanup

* feat: implement proper basic styling

* feat: implement focus handling and keyboard navigation

* feat: implement size support

* feat: add labeling support

* feat: add input for button selection

* feat: implement output handler on radio button interaction

* feat: implement internal input/output seletion handling

* feat: add external input support

* feat: add external output support

* chore: simplify storybook example a bit

* fix: module imports

* refactor: simplify both components

* feat: remove size

* chore: rename button-group to toggle-group

* chore: rename toggle-group-element to toggle-group-button

* chore: update story example

* fix: compatibility with web vault

* fix: imports in tests after rename

* fix: remove unnecessary inject decorator

* fix: clarify field names and html tags

* feat: add badge centering fix

* feat: set pointer cursor on label

* chore: comment on special css rules

* chore: remove focusable option from button

* Update libs/components/src/toggle-group/toggle-group-button.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* chore: rename to `bit-toggle`

* fix: remove unecessary aria label function

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-07-18 14:25:37 +02:00
Andreas Coroiu 797fc3a390
[Cl-10] Make badge inline (#3089)
* feat: make badge inline

* feat: lower y-padding
2022-07-15 10:59:19 +02:00
Danielle Flinn 6a8fb0a053
Storybook icon documentation (#3023)
* created common/icons page

* updated icon documentation

* updated icon organization

* update organization and some descriptions

* updated icon stories
2022-07-14 08:17:24 -07:00
Colton Hurst 59eac668a7
[PS-713] Fix locale search bug (#3014)
* [PS-713] Fix locale search bug

* [PS-713] Add new locales to start at 1 char search

* [PS-713] Switch to ReplaySubject and other edits from PR comments

* PS-713: Add destroy to other sub and make locale inline a const

* PS-713: Use firstValueFrom instead of takeUntil

* PS-713: get this.locale asynchronously

Co-authored-by: Colton Hurst <churst@bitwarden.com>
2022-07-12 09:02:19 -04:00
Robyn MacCallum fb70d8a2d3
Merge Feature/trial initiation (#3036)
* [SG-74] Trial Initiation Component with Vertical Stepper (#2913)

* Vertical stepper PoC

* Convert stepper css to tailwind

* trial component start

* trial component params

* tailwind-ify header

* Support teams, enterprise, and families layout param and more layout ui work

* Some more theming fixes

* Rename TrialModule to TrialInitiationModule

* Stepper fixes, plus more functionality demo

* Cleanup

* layout params and placeholders

* Only allow trial route to be hit if not logged in

* fix typo

* Use background-alt2 color for header

* Move vertical stepper out of trial-initiation

* Create components for the different plan types

* Remove width on steps

* Remove content projection for label

* Tailwind style fixes

* Extract step content into a component

* Remove layout param for now

* Remove step tags

* remove pointer classes from step button

* Remove most tailwind important designations

* Update apps/web/src/app/modules/vertical-stepper/vertical-step.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Tailwind and layout fixes

* Remove container

* lint & prettier fixes

* Remove extra CdkStep declaration

* Styles fixes

* Style logo directly

* Remove 0 margin on image

* Fix tiling and responsiveness

* Minor padding fixes for org pages

* Update apps/web/src/app/modules/trial-initiation/trial-initiation.component.html

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* prettier fix

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SG-65] Reusable Registration Form (#2946)

* created reusable registration form

* fixed conflicts

* replicated reactive form changes in other clients

* removed comments

* client template cleanup

* client template cleanup

* removed comments in template file

* changed to component suffix

* switched show password to use component

* comments resolution

* comments resolution

* added toast disable functionality

* removed unused locale

* mode custom input validator generic

* fixed button

* fixed linter

* removed horizontal rule

* switched to button component

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2022-07-05 15:25:14 -04:00
Oscar Hinton e105a8f222
[CL-11] Submit button (#2971)
* Begin implementing submit button

* Add submit button

* Update figma url

* Add disabled when loading

* Update existing submit buttons

* Move template to it's own file
2022-06-29 16:27:42 +02:00
Oscar Hinton 4ea359a2d2
Remove outdated component library readme (#2983) 2022-06-29 15:47:31 +02:00
Matt Gibson 399b8c2b34
PS-813 Add memory storage to state service (#2892)
* Use abstract methods and generics in StorageService

* Prepend `Abstract` to abstract classes

* Create session browser storage service

* Use memory storage service for state memory

* Inject memory storage service

* Maintain filename extensions to help ide formatting

* Preserve state if it's still in memory

* Use jslib's memory storage service

* linter

* Create prototypes on stored objects

* standardize package scripts

* Add type safety to `withPrototype` decorators

* webpack notify manifest version

* Fix desktop

* linter

* Fix script

* Improve prototye application

* do not change prototype if it already matches desired
* fix error with object values prototype application

* Handle null state

* Apply prototypes to browser-specific state

* Add angular language server to recommended extensions

* Improve browser state service tests

* Start testing state Service

* Fix abstract returns

* Move test setup files to not be picked up by default glob matchers

* Add key generation service

* Add low-dependency encrypt service

* Back crypto service with encrypt service.

We'll want to work items that don't require state over to encrypt service

* Add new storage service and tests

* Properly init more stored values

* Fix reload issues when state service is recovering state from session storage

Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com>
Co-authored-by: Justin Baur <admin@justinbaur.com>

* Simplify encrypt service

* Do not log mac failures for local-backed session storage

* `content` changed to `main` in #2245

* Fix CLI

* Remove loggin

* PR feedback

* Merge remote-tracking branch 'origin/master' into add-memory-storage-to-state-service

* Fix desktop

* Fix decrypt method signature

* Minify if not development

* Key is required

Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com>
Co-authored-by: Justin Baur <admin@justinbaur.com>
2022-06-27 12:38:12 -05:00
Oscar Hinton 6e9b6f25a1
[PS-960] Fix form input group suffix not working (#2947)
* Fix form suffix not working without prefix

* Use tailwind first/last to avoid hacky components
2022-06-23 20:24:26 +02:00
Oscar Hinton 98152fee54
Add storybook to web (#2926) 2022-06-17 16:23:04 +02:00
Oscar Hinton 19caa7bfe0
Simplify our gitignore files (#2925) 2022-06-17 15:33:51 +02:00
Oscar Hinton 4106eead02
Migrate Chromatic (#2906) 2022-06-16 20:41:22 +02:00
Oscar Hinton bc639688e8
Use NPM workspace (#2874) 2022-06-14 17:10:53 +02:00
Oscar Hinton 7dc3094b1a
Move storybook dependencies to root package (#2859) 2022-06-08 19:03:03 +02:00
Hinton 98cc4612fc Fix linting 2022-06-03 18:05:33 +02:00
Oscar Hinton 5780bf85e7
Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
Hinton d7492e3cf3 Move to libs 2022-06-03 16:24:40 +02:00