* WIP/initial routing-ish
* refactor date dropdown to reuse in modal and allowe current month selection
* swap linter disable line
* refactor date-dropdown to return object
* refactor calendar widget, add tests
* change calendar start and end args to getters
* refactor dashboard to use date objects instead of array of year, month
* remove dashboard files for easier to follow git diff
* comment out dashboard tab until route name updated
* delete current tab and route
* fix undefined banner time
* cleanup version history serializer and upgrade data
* first pass of updating tests
* add changelog
* update client count util test
* validate end time is after start time
* update comment
* add current month to calendar widget
* add comments for code changes to make following API update
* Removed a modified file from pull request
* address comments/cleanup
* update variables to const
* update test const
* rename history -> dashboard, fix tests
* fix timestamps for attribution chart
* update release note
* refactor using backend start and end time params
* add test for adapter formatting time params
* fix tests
* cleanup adapter comment and query params
* change back history file name for diff
* rename file using cli
* revert filenames
* rename files via git cli
* revert route file name
* last cli rename
* refactor mirage
* hold off on running total changes
* update params in test
* refactor to remove conditional assertions
* finish tests
* fix firefox tooltip
* remove current-when
* refactor version history
* add timezone/UTC note
* final cleanup!!!!
* fix test
* fix client count date tests
* fix date-dropdown test
* clear datedropdown completely
* update date selectors to accommodate new year (#18586)
* Revert "hold off on running total changes"
This reverts commit 8dc79a626d549df83bc47e290392a556c670f98f.
* remove assumed 0 values
* update average helper to only calculate for array of objects
* remove passing in bar chart data, map in running totals component instead
* cleanup usage stat component
* clear ss filters for new queries
* update csv export, add explanation to modal
* update test copy
* consistently return null if no upgrade during activity (instead of empty array)
* update description, add clarifying comments
* update tes
* add more clarifying comments
* fix historic single month chart
* remove old test tag
* Update ui/app/components/clients/dashboard.js
* refactor ss+modal to accept multiple models
* create policy form
* cleanup and fix test
* add tabs to policy modal form
* add search select with modal to entity form
* update group form;
* allow modal to fit-content
* add changelog
* add check for policy create ability
* add id so tests pass
* filter out root option
* fix test
* add cleanup method
* add ACL policy link
* cleanup from comments
* refactor sending action to parent
* refactor, data down actions up!
* cleanup comments
* form field refactor
* add ternary to options
* update tests
* Remodel component structure for clearer logic
Includes fixing the wizard
* address comments
* cleanup args
* refactor inline oidc assignment form
* add line break
* cleanup comments
* fix tests
* add policy template to ss+modal test
* cleanup =true from test
* final cleanup!!!!!!
* actual final cleanup
* fix typo, please be done
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* runs ember-cli-update to 4.4.0
* updates yarn.lock
* updates dependencies causing runtime errors (#17135)
* Inject Store Service When Accessed Implicitly (#17345)
* adds codemod for injecting store service
* adds custom babylon parser with decorators-legacy plugin for jscodeshift transforms
* updates inject-store-service codemod to only look for .extend object expressions and adds recast options
* runs inject-store-service codemod on js files
* replace query-params helper with hash (#17404)
* Updates/removes dependencies throwing errors in Ember 4.4 (#17396)
* updates ember-responsive to latest
* updates ember-composable-helpers to latest and uses includes helper since contains was removed
* updates ember-concurrency to latest
* updates ember-cli-clipboard to latest
* temporary workaround for toolbar-link component throwing errors for using params arg with LinkTo
* adds missing store injection to auth configure route
* fixes issue with string-list component throwing error for accessing prop in same computation
* fixes non-iterable query params issue in mfa methods controller
* refactors field-to-attrs to handle belongsTo rather than fragments
* converts mount-config fragment to belongsTo on auth-method model
* removes ember-api-actions and adds tune method to auth-method adapter
* converts cluster replication attributes from fragment to relationship
* updates ember-data, removes ember-data-fragments and updates yarn to latest
* removes fragments from secret-engine model
* removes fragment from test-form-model
* removes commented out code
* minor change to inject-store-service codemod and runs again on js files
* Remove LinkTo positional params (#17421)
* updates ember-cli-page-object to latest version
* update toolbar-link to support link-to args and not positional params
* adds replace arg to toolbar-link component
* Clean up js lint errors (#17426)
* replaces assert.equal to assert.strictEqual
* update eslint no-console to error and disables invididual intended uses of console
* cleans up hbs lint warnings (#17432)
* Upgrade bug and test fixes (#17500)
* updates inject-service codemod to take arg for service name and runs for flashMessages service
* fixes hbs lint error after merging main
* fixes flash messages
* updates more deps
* bug fixes
* test fixes
* updates ember-cli-content-security-policy and prevents default form submission throwing errors
* more bug and test fixes
* removes commented out code
* fixes issue with code-mirror modifier sending change event on setup causing same computation error
* Upgrade Clean Up (#17543)
* updates deprecation workflow and filter
* cleans up build errors, removes unused ivy-codemirror and sass and updates ember-cli-sass and node-sass to latest
* fixes control groups test that was skipped after upgrade
* updates control group service tests
* addresses review feedback
* updates control group service handleError method to use router.currentURL rather that transition.intent.url
* adds changelog entry
* add timestamp to attribution
* create usage stat component
* updates stat text boxes
* remove flex-header css
* remove comment
* add empty state if no data
* update monthly serializer
* remove empty state - unnecessary
* change tab to 'history'
* add usage stats to history view
* change css styling for upcased grey subtitle
* correctly exports namespace and auth data
* close modal on download
* test making a service?
* fix monthly attrs
* update csv content format
* remove component and make downloadCsv a service
* update function name
* wip//add warning labels, fixing up current and history tabs
* wip//clean up serializer fix with real data
* fix link styling:
* add conditionals for no data, add warning for 1.9 counting changes
* naming comment
* fix tooltip formatting
* fix number format and consolidate actions
* remove outdated test
* add revokeObjectURL and rename variable
* fix errors and empty state views when no activity data at all
* fix end time error
* fix comment
* return truncating to serializer
* PR review cleanup
* return new object
* distinguish between single month and range attribution views, add export csv modal and action
* adds activity handler for mirage testing with client count work against new API
* adds class for grey subtitle in modal
* akes data detail titles dynamic
* fix passing of glyph type
* clarify mirage responses
* cleanup todos
* initial setup, modify toolbar header
* footer buttons setup
* setup first delete version delete method
* clean up
* handle destory all versions
* handle undelete
* conditional for modal and undelete
* remove delete from version area
* modelForData in permissions
* setup for soft delete and modify adpater to allow DELETE in additon to POST
* dropdown for soft delete
* stuck
* handle all soft deletes
* conditional for destroy all versions
* remove old functionality from secret-version-menu
* glimmerize secret-version-menu
* Updated secret version menu and version history
* Updated icons and columns in version history
* create new component
* clean up
* glimmerize secret delete menu
* fix undelete
* Fixed radio labels in version delete menu
* handle v1 delete
* refining
* handle errors with flash messages
* add changelog
* fix test
* add to test
* amend test
* address PR comments
* whoopies
* add urlEncoding
Co-authored-by: Arnav Palnitkar <arnav@hashicorp.com>
* Sidebranch: add new route on DR secondary (#8640)
* setup, not complete
* update routing
* clean up
* add test
* add link from status menu
* clean up
* fixes per pr comments
* revert back to two if statements due to refresh bug
* Sidebranch: Setup Replication Page as component to be consumed in all pages for project (#8661)
* setup, not complete
* update routing
* clean up
* add test
* add link from status menu
* clean up
* fixes per pr comments
* setup dashboard with contextual components, and toggle
* setup option to show tabs or not
* handle conditional nav menu
* pass in whole model object
* rename to replication-page
* clean up
* clean up based on pr feedback
* fix linting error
* Sidebranch: setup replication dashboard with scss and initial card components (#8670)
* setup replication dashboard with scss and initial card components
* sync with Noelles changes and clean up the inner grid container inside the selectable card
* set up nested contextual components for selectable-cards
* setup component for table row
* address walk through notes
* remove name selectable from card component as it is not selectable
* add missing space
* Ui/dr primary/initial page setup (#8671)
* add helperText param to InfoTableRow
* initial page setup
* format card with padding and correct number of rows
* style card titles with margin
* move styles inside replication class; add todos
* move replication-summary styles into core app so hot reloading works
* prevent known secondaries card from being cut off on the right hand side
* make cards have the correct column span
* make code elements inside tables black
* WIP - start VltTable component
* simplify css
* renamed VltTable to ReplicationTable and use divs instead of table elements
* fix position of known secondaries
* use table element for secondaries card
* add todo
* move replication components to replication engine
* Revert "move replication components to replication engine"
This reverts commit 2228b8392199a1376815dc8b7642de438aad68b5.
* move ReplicationPrimaryCards to components
* remove hover box shadow since cards are not selectable yet
* only apply padding to replication selectable-cards
* specify replication vlt-table in classname
* move replication toggle and toggle into core addon
* remove extra toolbar border
* remove duplicate css
* move ReplicationTableRows to core addon and use them on DR primary page
* clean up todos
* add jsdoc comments
* rename ReplicationTable to KnownSecondaries
* update replicaiton table api to accept flexible data
* rename replicationAttrs to data
* move replication components to core addon
* Ui/dr primary components (#8711)
* populate table with actual secondary ids
* add todo
* make KnownSecondariesCard component
* move KnownSecondariesCard styles to own file
* add EmptyState when there are no known secondaries
* fix known secondaries manage link
* fix Add Secondary link; bring in capabilities model to repliation index route so we can check for adding secondaries
* fix JSDOC comments and updata data to replicationAttrs
* Sidebranch: DR Secondary Dashboard - pr4 (#8706)
* setup styling for delta
* clean up
* replication table remove and rename model to data
* remove old replication header component now that it is in addons
* move replication secondary card component
* calc delta
* clean up
* remove unused components that are now in addon
* address pr comments
* remove test
* fix failing test
* address pr comments
* attempting to fix test
* move to computed components
* fix test error
* fix state of null error
* Sidebranch: DR Secondary Dashboard state message handlers (#8741)
* setup styling for delta
* clean up
* replication table remove and rename model to data
* remove old replication header component now that it is in addons
* move replication secondary card component
* calc delta
* clean up
* remove unused components that are now in addon
* address pr comments
* remove test
* fix failing test
* address pr comments
* attempting to fix test
* initial setup before merge updates
* move to computed components
* fix test error
* fix state of null error
* clean up
* setup alert banner and documentation link
* setup alert banner with second icon
* remove underscore to dash
* add in missing error messages
* add connection-state shutdown
* add storybook update to alert banner
* pr comments
* move css class to helper class
* address pr comments
* add in connection states correct endpoint
* Ui/dr dashboard tests (#8732)
* initial test setup
* use margin when there are no knownsecondaries
* set up replication tests in ember engine
* set knownSecondaries
* move tests to host app and set resolver
* finish known-secondaries-card-test
* make knownSecondaries array match the API response
* add known secondaries table test
* oops, remove stories directory
* wip - replication table rows test
* remove extra code
* finish replication table rows tests
* add | Enterprise | to test module
* remove unncessary assertion:
* show dynamic state glyph (#8747)
* show dynamic state glyph
* show state glyph after state
* move LearnLink into core addon
* make ReplicationDocLink component
* prevent double lines at the bottom of the dashboard
* Sidebranch: dr-secondary-dashboard-pr7 (#8792)
* move dr to higher level component and setup isDisabled for error state when dr mode is disabled.
* add in error messages final
* refactor transistion on submit handler focused on dr secondary
* handle transition
* update empty state component to include icon and add empty state to details page
* fix spelling
* address pr comments
* merge with replication branch
* remove component structure for replication-secondary-card
* compute title and error message
* make specific empty state messages
* fix test
* address pr comments
* regenerate the storyboook for empty state
* Replication Primary Dashboard: handle errors (#8845)
* use h3 instead of code elements
* use correct property names for StateDisplay
* WIP
* remove todo
* move cluster states into a map; make status menu icon match cluster state
* show error in state card using the same state map in the cluster model
* whitespace
* move cluster-states into a helper and update usage
* use circle success icon for stream-wals because that is the ideal state
* more refactoring of cluster state display
* use new cluster-states helper
* whitespace
* use clusterStates helper in replication secondary card
* remove extra import
* add default values for when state isn't recognized
* make sure that state exists before getting state details from clusterStates helper
* be more strict when state cannot be found
* use brace expansion to fix linting error
* add tests for error states
* fix text wrapping issue on secondary cards; make titles match mocks
* use unknown if metric isn't foudn
* remove extra border on selectable card when there is an error
* use outline square in status menu for error
* Ui/replication/refactor dashboard components (#8878)
* use ReplicationDashboard component
* move syncing and alert banners into dashboard component
* only show primary cluster addr if dashboard is for a secondary
* use ReplicationPage and Dashboard
* move isSecondary to page component
* remove duplication
* remove dead code
* refactored table rows
* make sure dashboards update data when we are switching between mclusterModes and replicationTypes
* clarified replicationMode and clusterMode
* remove extra margin
* get rid of data
* remove syncProgress
* remove Enterprise filter from tests so component tests are run
* Ui/replication/primary reindexing (#8906)
* fix typo
* fetch replication/mode/status and pass to dashboard component
* add reindexing stage to AlertBanner; use real value for isReindexing
* remove dr since we don't need it anymore
* add indentation
* remove TODO
* capitalize reindexing_stage and make progress 0 by default
* remove Toggle since we don't need it anymore
* get allllll the variables at once
* only run secondary details test on enterprise
* Sidebranch: component and acceptance tests (#8903)
* address secondary card overflow issue
* setup replicaiton header test
* address secondary card overflow issue
* setup replication secondary card test
* setup replicaiton header test
* setup replicaiton page test
* setup replication secondary card test
* setup replication dashboard test
* setup replicaiton page test
* remove unused code
* fix overflow
* finish test for rep dashboard
* update rep secondary card test
* finish rep header test
* fix rep table rows and header test
* fix header test
* fix missing data-test-primary-cluster
* add to secondary test
* remove pauseTest
* add to enterprise replication test
* add mode to dr secondary test
* remove pauseTest
* add enterprise to test
* amend per pr commments
* re organize rep secondary card test
* adjust error heights with design input
* move const around in rep secondary card test
* move const around and message for rep dashboard test
* amend per pr review comments
* remove styling from grid-item-left
* remove dup hasErrorClass key
* quick fix
* test failure fix
* fix test due to merge
* remove hasErrorClass
* modify test message
* Sidebranch: remove delta, toggle, and make auto-refresh (#8945)
* change styling
* remove replication toggle
* modifications for auto refresh and final removal of delta and last wal
* fix refresh issue by removing replicationMode on this.reset which conflicts with the same property being set on the cluster model
* remove comments
* add unknown placeholder
* add auto refresh to other components and remove mention of toggle
* remove meep and primary cluster heading area
* ensure status menu displays replication state, not just one (#8959)
* Add Replication Reindexing Progress Bar (#8975)
* whitespace
* rename consts
* rename variables
* test that dashboard shows a reindexing alert banner
* standardize shamir and ui wizard progress bar
* make new progressbar component
* just kidding, we can use the html5 progress bar
* make top margins consistent across primary and secondary dashboards
* clean up AlertBanner JSDocs and markdown
* show a progress bar inside an AlertBanner if cluster is reindexing
* add example AlertBanner with Progress Bar
* add reindexing tests
* add a tiny left margin to progress bars inside alert banners
* keep old class names in wizard to prevent bug, but keep consistent progress background color
* use spacing variables
* remove extra border when secondary card has an error
* make card header sizes and weight consistent
* Sidebranch: Performance Secondary Dashboard (#8956)
* setup rep dashboard to dynamically take in the component to render and dynamically setup the css based on mode of cluster
* conditional pass in the correct props to the Dashboard.card component and add margin to reindexing alertBanner
* update replication dashboard test
* add performance secondary test and clean up replication-secondary-card test
* fix message
* replace cluster-id with secondaryId
* remove reindexing test as its a duplicate of the branch noelle is working on
* cleanup
* address pr comments
* small test fixes
* add secondaryId to header test
* fix tests description
* Ui/replication/test update (#8995)
* make sure progress bar updates and animates
* ensure dashboard updates when replication mode has changed
* make sure we update isSyncing when state has changed
* wip - console log statements to see if components are getting new attrs
* Revert "wip - console log statements to see if components are getting new attrs"
This reverts commit d05219ba6c14c64a9f2e867892476faf7dad4659.
* style progress bar in mozilla; allow testing the progress bar in storybook
* test that primary and secondary card container don't display at the same time
* prepare KnownSecondariesTable for backend compatibility (#9029)
* Ui/replication mgmt action block (#9053)
This does some low-impact work to prepare for the refactor of replication-actions. Includes:
- Move modal to addon in lib/core
- Update modal to take a "type" param which changes the header color + icon
- Add tests for modal changes
- Add action-block style only component
- Add styles-only replication-action grid that the action-blocks will live inside of
* Sidebranch: address transition issues on replication engine and actions (#9010)
* small formatting changes
* change findRecord to peekRecord so it keeps track of the changing data.
* add styling such that when page is loading it does not spread across the whole page
* help with reload and styling on replication route
* initial setup for new flow that handles adding a perf secondary, and also some on a dr secondary
* clean up
* add loader on rep page for situations when data is still loading, and add loading mode in header, seperate from the modeForUrl used in other places to help transistion
* fix transitionTo when coming from different replication.mode vs replication.index route
* set default of mode for radio checkboxes after removing from DEFAULTS var
* reset and cont using onEnable because TransitionTo is not working inside of component
* remove console
* the reason we were getting transition errors :(
* remove modeObjecT
* fix error by removing peek record from application and moving it lower down in a property replicationAttrs
* Readd back space
* this one really does fix the issue
* add back peek record and add conditional to isLoadingData
* figure out cluster id from service instead of hardcoded
* fix capabilities-self error by adding a 1 sceond delay for when transition from replication.index to replication.mode.index on enable performance secondary
* remove attempt to circumvent the peekRecord in application
* add to replication page tests and clarify replicationMode to formattedReplicationMode, it's super confusing when seeing replicationMode being duplicated throughout the computed components. this clarifies its computed only for formatting
* fix repetive conditional
* capture the state when either dr.mode or performance.mode are undefined, which happens during a transition. If this is the case add a loader on the replicationindex page.
* address some pr comments
* small change
* add bootstrapping mode to test
* add Replication Learn Links to wizard (#9106)
* Ui/summary dashboard (#9079)
* move key value to lib/core/addon so I can use inside replication engine
* setup summary dasbhoard on replication summary component
* set title for summary dashboard
* do not show replication table rows on summary dashboard
* show that last_wal updates every 10 seconds
* show replication table rows on individual dashboards, but not summary
* remove extra bottom border on replication-dashboard
* add replicationDetailsSummary object and replication-summary-card
* setup structure and data calcs of replication summary card
* fix links and styling on summary card
* breadcrumbs
* match state title on summary dashboard to individual dashboards
* add margin below replication header
* update breadcrumbs to show replication mode
* align details link right
* add margin below tabs in replication header
* user helper-text to make card text styling consistent across dashboards
* remove unneeded code
* add bottom border to summary state
* add bottom margin to summary dashboard
* add negative margins to bring values closer to related cell
* fix failing test due to data-test attribute change and make storybook component for replication-summary-card
* setup replication summary card test. I suspect we'll move the hasError test to the dashboard where the error will show around the state display
* add to replication acceptance test for new summary dashboard
* remove pauseTest
* add is-active to li element
* clean up
* dashboard test and clean up
* addressing pr comments
* fix replication/null/status error
* add JSDocs for rep page and rep dash
* more pr cleanup
* remove conditional and fix styling blue link
* fix conditional on when loading summary dashboard to check for primary on both. wrap code in div so it lands on another line.
Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>
* change message with bold 'not' if primary (#9112)
* Add JSDocs to components (#9125)
* jsdocs
* remove todo that is no longer relevant
* clean up wording
* wordsmithing
* fix spelling
* example for clusterMode
* Replication Management Sidebranch: Replication Action Disable (#9061)
Set up dr-secondary management page with new action flow
* Create confirmation-modal component
* Refactor replication-dr-secondary splash page to replication manage page
* Refactor replication-action-disable component to use confirmation modal
* Add details/manage tab to replication-dr-secondary section
* Refactor Replication Action: Promote to use modal flow (#9122)
* Ui/replication mgmt/reindex action (#9126)
* Replication Management Sidebranch: Replication Action Disable (#9061)
* Ui/replication mgmt/recover action (#9127)
* Replication Management Sidebranch: Replication Action Recover (#9061)
* Close link-to tag in header (#9139)
Fixes bad merge conflict
* UI: Fix replication management tests (#9136)
* do not show replication mode or id when replication isn't enabled
* fix broken tag
* fill in confirmation text when disabling replication in tests
* fix typo
* fix demote primary test selector
* add test selectors and update tests to match new format
* fill in Performance when disabling performance secondary
* Ui/replication mgmt/update primary action (#9149)
* Update Primary replication action uses modal flow
* Update modal max-height to accommodate for the navbar
* Ui/secondary token flow dr (#9150)
* setup token modal flow
* calc expirationDate
* fix date-format test after moving it in addon
* fix icon conditional in modal title
* decode token to get epoch expiration date and convert
* handle clicking outside of modal
* remove extra copy button
* add modal check in rep acceptance test
* look only at day and month and remove console
* fix spelling
* cleanup
* replace dr with variable
* make string check longer in test
* fix test variables
* refactor enterprise test for secondary token flow
* make cluster model property replicationModeForDisplay to handle all cases where we were either conditionally displaying the DR, Disaster Recovery, etc. or where we were hardcoding it into the hbs. For situations where it was DR before, I am now keeping it more consistent and using Disaster Recovery as on the manage page we do not show the Diaster Recovery (DR) anywhere.
* set initial value for ttl picker to fix issue where itwas setting seconds to minutes
* clean up
* add comment about ttl picker
* Add known primaries info table (#9152)
* replace primaryClusterAddr with knownPrimaryClusterAddrs
* rename state to Status; fix css layout
* add InfoTable component
* only show label column if there is a label
* add grid-item-middle class
* whitespace
* fix grid layout
* die tagName, die
* set table max-height
* prep InfoTable for Storybook
* ensure cards always have the same height
* remove duplicate max height since vlt-table already has max-height
* add InfoTable tests
* add InfoTable to Storybook
* organize grid item css; rename for consistency
* add sticky header to table
* add sticky-header class to keep table styles in scope
* whoops, do not use fake data
* Ui/rep design updates (#9169)
* show secondaryId in table rows
* show primary_cluster_addr in table rows
* remove cluster Ids from replication headers
* Ui/fix enable overflow (#9173)
* only show primary_cluster_addr for primary
* fix overflow on replication index
* remove display from cluster-states because it is not used anywhere
* fix missing replication mode from description
* add comments
* use helper to consolidate replication descriptions
* fix text wrapping on medium screen sizes
* Ui/replication mgmt/demote action (#9168)
* Replication demote action uses modal flow
Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>
Co-authored-by: Angel Garbarino <argarbarino@gmail.com>
* Ui/replication merge cleanup 2 (#9212)
* replace with replicationModeForDisplay that is defined on the cluster
* fix spelling on replication and confirmed with design for placeholder when Not defined
* remove extra div with box class
* change manage link to take you to the secondaries manage as it's within the known secondaries card
* fix scroll always showing by adding auto, and decreasing the height. WIP
* add empty state to known_primary_cluster_addrs
* address pr comments
* Add real connected state and API address (#9219)
* fix title of secondary card
* show connected status
* fix tests
* fix enterprise test (#9229)
* fix enterprise test
* add n
* add another n
* Ui/replication mgmt/generate token action (#9187)
Generate operation token flow from replication DR Secondary. Clicking 'Cancel' on the modal after the operation has started results in cancelling generate operation and restarting the process.
* use none set instead of not defined
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
Co-authored-by: Noelle Daley <adriannenoelle@gmail.com>
* wip -- add modal component using ember-wormhole, add static content but still need to enable onClose
* add onClose to modal
* WIP
* add copy and close button
* add copy and close button
* and copy and close button to modal
* use modal on each key action page
* make text copied text more generic
* update datakey textareas to codemirror
* only show user input on encrypt and decrypt
* only show user input on all key actions
* separate copy ciphertext, plaintext, and close button on datakey modal
* style ciphertext and plaintext as code
* only show separate copy buttons on datakey modal if both outputs are shown
* update modal styling
* style modal
* add descriptions to each key action
* remove conditional from hmac modal since we only ever show hmac output
* add modal for export key action
* make output scroll horizontally with copy button next to it
* make output scroll horizontally with copy button next to it
* escape & in copy and close button, format text output so it scrolls horizontally
* fix formatting of key action descriptions
* Ui/add transit modal tests (#8523)
* Fix tests for updated transit with modals workflow
* WIP // remove box shadow from key actions descriptions
* WIP // flash messages on successful action match mocks
* WIP // remove ciphertext view after datakey created
* WIP // make flash messages when copy & closing less generic, and match copy flash message
* WIP // Optionally show close button on modal, with tests
* remove unused deps from modal test
* WIP // Fix verify modal styling and content
* Add modal for sign action
* Fix output of non-wrapped export key
* Fix output of non-wrapped export key
* Add description to JSDOCS about modal component
* Add help text about plaintext encoded in base64
* add flash msgs for datakey and export
* flash success msg when closing modal on export page
* clarify sign success msg
* address PR feedback
* add indentation for export key json
* Fix modal tests pt 2
* Remove decode after decrypt in transit tests
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>