Compare commits

...

213 Commits

Author SHA1 Message Date
Keith Chong 5cf3610173
fix: Add OCI icon (#583)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-01-24 08:20:20 -05:00
Minsu 54f36c723d
fix: popup header icon top alignment (#575)
style: popup header i top code modification

Signed-off-by: Minsu <alstntorl@naver.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-11 23:05:40 +00:00
Anton Gilgur 45b5ce209c
chore(deps): dedupe `yarn.lock`, add check for dupes (#571)
* chore(deps): dedupe `yarn.lock`, add check for dupes

- add a `deduplicate` script that uses `yarn-deduplicate`
- run `deduplicate` during UI CI
- run `deduplicate` once and commit the results

- similar to a PR I made in Workflows and PRs in other repos

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* make it a devDep for consistency & security

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* use the older version of `wide-align` as the newer is broken

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-10-11 19:03:29 -04:00
Anton Gilgur d9a4285dc2
fix!: remove deprecated `durationMs` prop (#577)
- I previously left in `durationMs` for backward-compatibility so that you could use either, but I forgot to mark the types as optional, so both ended up being required by the typings
  - instead of making them both confusingly optional (no way of doing "one of"), just remove the deprecated `durationMs` in another breaking change

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-09-12 13:37:52 -04:00
Anton Gilgur e76346fdd7
chore(deps-dev): remove unused `@testing-library/` deps (#569)
- they're not used in the repo
  - I guess I missed these in my previous removals and assumed they were used or something
  - there aren't that many tests in this repo either
    - while `testing-library` is the preferred tool in the ecosystem these days, `enzyme` is still used in this repo
      - potentially could be replaced by `testing-library`, but not necessarily worthwhile given the deprecated state of this repo

- also automatically reorder the `@types/uuid` dep
  - happens automatically on a `yarn add` or `yarn remove`, I just left it out from previous removals as they were much larger and so it could be distracting

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 23:18:25 -04:00
Anton Gilgur d1f1d4496b
chore(storybook): update v1 syntax to use Storybook v6 (#568)
* chore(storybook): update v1 syntax to use Storybook v6

- while the deps used Storybook v6, the configuration and stories themselves were still on a legacy v5 format
  - v6 had backward compat for v5, but v7 does not, so this needs upgrading/migrating
    - or well, v7 has some legacy mode for it that can be enabled with some config, but it is entirely gone in v8
  - migrate `storiesOf` to CSF per https://storybook.js.org/docs/7/migration-guide#storiesof-to-csf
    - then had to do a bunch of manual changes to get back mostly the same previous indentation (with some minor differences where there were mistakes or inconsistencies)
      - tried to keep the diff as small as possible
    - CSF is still valid through to latest v8

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* chore(storybook): convert v1 config to use Storybook v6

- modified version of v2's config

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* fixup config a bit -- take more from prev webpack config

- `ts-loader` is necessary to handle the `import type` syntax
  - custom `tsconfig.json` doesn't seem necessary though
- use same SASS config
- plain CSS config not needed though bc PostCSS already runs by default

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* rename to `.stories.tsx` and remove `index`

- the conventional format
  - also had some problems finding stories without this change

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* fix deprecation warning re: `storyName`

- per https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations
  - migrate `.story.name` -> `.storyName`
    - not sure why the automigration didn't do this and instead used the deprecated name 😕

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* also fix history deprecation warning

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* attempt to load CSS properly but still fail

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* improve perf with built in loader for TS

- remove `ts-loader` as not necessary
- plus some settings for Storybook's TS loader preset

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* diff reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more diff reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more diff reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* attempt to reduce diff a bit more hackily

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* one more diff reduction with one hackishness

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* diff reduction with older wacky syntax

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* slightly better syntax than previous while retaining indentation

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* last diff reduction/indentation change

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* missing trailing comma

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 23:16:23 -04:00
Anton Gilgur a7b01f9f00
refactor: make `context.tsx` tree-shakeable (#573)
- `components/` is not tree-shakeable, so importing it makes this file also not tree-shakeable
  - similar to my PR upstream and for the Storybook here to use individual imports

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 14:17:15 -04:00
Anton Gilgur ba20f5e80e
chore: remove unused Utils functions (#574)
- in this repo they are unused:
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-ui%20getScrollParent&type=code
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-ui+scrollTo&type=code

- in CD they are not used:
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-cd+getScrollParent&type=code
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-cd+scrollTo&type=code

- in Rollouts they are not used:
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-rollouts+getScrollParent&type=code
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-rollouts+scrollTo&type=code

- in Workflows they are not used:
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-workflows+getScrollParent&type=code
  - https://github.com/search?q=repo%3Aargoproj%2Fargo-workflows+scrollTo&type=code

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 14:12:14 -04:00
Anton Gilgur e11dac015c
chore: remove unused `src/webpack.config.js` (#572)
- it is not used by anything
- it references `../app/webpack.config`, which also does not exist
  - afaict, that file is from when the Argo Workflows UI was in this repo (i.e several years old)

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 14:11:44 -04:00
Anton Gilgur fb8529b0e3
style: fix whitespace issues in `popup-manager.tsx` (#570)
- extra whitespace in import and lacking newlines in component JSX

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 14:09:50 -04:00
Anton Gilgur 13ce982611
refactor(deps)!: remove `moment` dep and usage (#535)
* refactor(deps): remove `moment` dep and usage

`moment` has been [deprecated since Sep 2020](https://momentjs.com/docs/#/-project-status/) and recommends using native `Intl` or newer libraries that make use of native `Intl`, such as `luxon` and `dayjs`
- `moment` is also a very large dependency and hence is ripe for pruning and replacement as well

- remove `formatTimestamp` function from `v2/utils` as it is unused
  - it is unused [internally](https://github.com/search?q=repo%3Aargoproj%2Fargo-ui+formattimestamp&type=code) (it is only exported here), unused by [CD](https://github.com/search?q=repo%3Aargoproj%2Fargo-cd%20formattimestamp&type=code), unused by [Workflows](https://github.com/search?q=repo%3Aargoproj%2Fargo-workflows+formattimestamp&type=code)
    - it's also and unused by Rollouts, which has [two](c688dd89a7/ui/src/app/shared/utils/utils.tsx (L17)) [internal](c688dd89a7/ui/src/app/components/rollout/revision.tsx (L21)) copies of this function

- change `Ticker` component to use plain `Date` instead of `moment`
  - downstream projects should get a type error on this which should make the switch straightforward

- change `Duration` component to use existing `formatDuration` function which doesn't use `moment`
  - this will look different than the previous version, but the formatting between the two should really be consistent in any case
  - other option was to just remove this component entirely, since this repo is not actively maintained
    - leaving the component in instead of deleting it gives a more gradual off-ramp
  - CD uses this component in [two](9ecc5aec2a/ui/src/app/applications/components/application-deployment-history/application-deployment-history.tsx (L1)) [places](9ecc5aec2a/ui/src/app/applications/components/application-operation-state/application-operation-state.tsx (L1)) and Rollouts uses this in [one place](c688dd89a7/ui/src/app/components/pods/pods.tsx (L3))
    - Workflows does not use this, it has [its own `DurationPanel` component](1dbc856e51/ui/src/app/shared/components/duration-panel.tsx (L7)) and its own [internal copy](1dbc856e51/ui/src/app/shared/duration.ts (L11)) of the `formatDuration` function as well
    - none of these use the `allowNewLines` prop, so it is safe to remove

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* fix(ui): duration component should div not mult

ms -> s

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* fix incorrect parameter naming

- apparently `durationMs` was incorrectly named as it actually took seconds, not milliseconds
- for backward compat, leave `durationMs`, but also introduce `durationS`
  - and add JSDoc to indicate this to users of the component

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* use 2 significant figures

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 14:03:20 -04:00
Anton Gilgur 20b9acbbe1
fix(deps-dev): downgrade all Storybook breakage from dependabot et al (#567)
* fix(deps): downgrade all breakage from dependabot et al

- go back to Storybook v6 addons, matching the `storybook` dep
  - the addons were partially auto-upgraded to breaking versions by dependabot
- go back to Webpack v4, matching Storybook v6
  - this was also auto-upgraded to a breaking version by dependabot
  - go back to `ts-loader` v8, matching Webpack v4
    - and this too had a breaking dependabot upgrade

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* revert unrelated dep changes

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* revert the yarn.lock semver compatible changes as well

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* and once more

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* attempt to revert more unnecessary auto-made yarn.lock changes

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* some more

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* set all storybook deps to 6.5.14 and ensure yarn.lock follows it

- the latter took some manual editing and resolutions until it got it, and now it reproduces the minimal variant

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more yarn.lock diff reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more babel reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more babel reduction

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* more

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* couple more iterations on that

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* migrate from `@dump247/storybook-state` to `useState` hook

- as per its archived docs
- tried to make the diff as small as possible

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* import individual components from dir

- same as downstream in Workflows, in order to code split properly, can't use the `src/` or `src/components/` imports as they have side effects (and therefore can't be tree-shaken)
  - instead have to do individual component imports to tree shake properly

- this seems to substantially improve performance from lethargic minutes of loading on first page load to seconds
  - I believe Storybook tries to code split things itself, so maybe it was making a giant bundle for each story file?

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* remove not working CSS test

- it was tested with and without the comment, to be specific
  - as well as several other ways

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* downgrade to storybook 6.5.0-beta.1 to get around telemetry bug

- per, well, my own SO answer: https://stackoverflow.com/a/78770854/3431180

- also remove old, no longer unused `@types/storybook*` deps
  - Storybook has types built-in now (and is written in TS, not sure if it wasn't before or something)

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-08-22 13:57:26 -04:00
Jessie Teng 7246755f15
fix(notification): fit long words (#546)
* bugfix-512: error message layout

Signed-off-by: Jessie <yilin.teng@fmr.com>

* update to use overflow-wrap break-word

Signed-off-by: Jessie <yilin.teng@fmr.com>

* remove unused change

Signed-off-by: Jessie <yilin.teng@fmr.com>

* rename typo files

Signed-off-by: Jessie <yilin.teng@fmr.com>

* update to only change for notification component

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

* Add explanatory comment

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

---------

Signed-off-by: Jessie <yilin.teng@fmr.com>
Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Anton Gilgur <agilgur5@gmail.com>
2024-06-26 23:04:52 +00:00
Tianchu Zhao 6de6bfedc0
fix(select): right align arrow (#563)
Signed-off-by: Tianchu Zhao <evantczhao@gmail.com>
2024-06-11 13:27:47 -04:00
Tianchu Zhao 00a8b573b8
fix(select): vertically center arrow (#178)
* fix: center select arrow

Signed-off-by: Tianchu Zhao <evantczhao@gmail.com>

* add comment

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Tianchu Zhao <evantczhao@gmail.com>
Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
Co-authored-by: Anton Gilgur <4970083+agilgur5@users.noreply.github.com>
2024-06-10 21:32:56 -04:00
Adrien Delannoy ccb4ced7b1
fix(autocomplete): use JSDoc `@default` for `autoHighlight` prop (#561)
Co-authored-by: Anton Gilgur <agilgur5@gmail.com>
Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>
2024-06-10 12:25:21 -04:00
Adrien Delannoy 2c503a8814
feat(autocomplete): make `autoHighlight` configurable. Fixes #559 (#560)
* fix: remove autoHighlight on autocomplete by default

Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>

* update default to `true` with a comment about upstream

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>
Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
Co-authored-by: Anton Gilgur <4970083+agilgur5@users.noreply.github.com>
2024-06-08 04:36:15 -04:00
Anton Gilgur 4f102b14dd
chore(deps): remove unused `antd` directory and deps (#554)
* chore(deps): remove unused `antd` directory and deps

- there are no components, only stories in the `./antd` dir
  - and doubly confirmed that none of these are used in CD, Workflows, or Rollouts
  - so remove the `./antd` dir entirely as well as all related deps
    - `antd` ofc, but also all the `less` deps and the `gulp` build for `antd`'s styles
      - I'm not even sure what the `gulp` build was for exactly, nor why it used different tooling than already existed in this repo

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* fix extra trailing comma from merge conflict

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-06-08 04:14:17 -04:00
Adrien Delannoy 0bce165cc8
fix: copy logs text on Linux & Windows. Fixes #557 (#558)
fix: copy logs text on windows

Co-authored-by: Anton Gilgur <agilgur5@gmail.com>
Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>
2024-06-06 16:36:55 +00:00
Anton Gilgur af33af0030
chore(deps): upgrade to node v20 (#536)
- node v14 is EoL and has been [since April 2023](68840fae8f/README.md?plain=1#L7)
- node v20 is the [current LTS version](9cf9c6ed81/README.md?plain=1#L8)

- due to an old version of Storybook / Webpack, we have to run all Storybook scripts with `NODE_OPTIONS='--openssl-legacy-provider'`
  - this must be used if we use newer versions of node without upgrading Storybook + Webpack
    - unfortunately, upgrading Storybook is significantly easier said than done, especially since there are 3 different Storybook builds in this repo (v1, v2, and `antd`)
      - so put that off for now (or ever? since this repo is not maintained much anymore)
  - note that this is an insecure run-time configuration (which is why it was deprecated and is legacy), but since it is only used in development, it's not a significant vulnerability

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-06-03 12:55:21 -04:00
Anton Gilgur 4836620cfc
refactor(ci): standardize Stale Action config (#551)
- fix OpenSSF Scorecard issues
  - set top-level `permissions` to read-only
  - add comments for job-level `permissions`
  - pin action to a SHA

- use same settings as Workflows
  - with a dedicated `stale-issue-message` & `stale-pr-message`
  - same cron `schedule`
  - same formatting: indentionation and ordering etc

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-05-28 03:11:38 -04:00
Alexandre Gaudreault 96fbfd9f20
feat(popup): styles for list element in popup (#556)
feat(popup): support list element in popup

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-05-20 17:14:34 -04:00
Anton Gilgur 7288592d38
fix: `package.json:license` should be Apache (#555)
- it was listed as `MIT` for some reason (copy+paste?), while Argo, including this repo's own `LICENSE`, uses Apache
  - also CNCF uses Apache

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-05-11 21:46:15 -04:00
Anton Gilgur 2e93b71f9b
ci: only run Stale Action on specifically labeled issues and PRs (#549)
- only run on issues labeled with "problem/more information needed"
  - same as done in Workflows

- most issues and PRs are marked and closed as stale in this repo only because they've never been followed up on, not because they're missing information
  - for instance, a PR that never got a review or an issue with no maintainer response
  - we should only start the stale process for issues/PRs that need action from the contributor, not ones that need action from maintainers

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-05-11 21:46:04 -04:00
Anton Gilgur 20d0b31bf4
ci(deps): set labels and commit prefix for dependabot (#550)
- use categorized labels, same as Workflows
- follow our standard conventional commit prefixes for deps

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-05-11 21:42:51 -04:00
Anton Gilgur d1bd03e292
chore(deps): remove unused deps & `resolutions` (#534)
* chore(deps): remove unused deps

- these are all completely unused in the current codebase (search codebase, no references)
  - installs, builds, tests, etc still work without all these
  - maybe some of these were used at some point in the past, but none of them are currently used

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* chore(deps): remove unnecessary Yarn resolutions

- `lodash` resolution is no longer needed as all deps are compatible with `lodash` `^4`
  - 640ede9531 added it and it _may_ have been necessary for some of the `lodash` v3 deps there, but this codebase no longer has any `lodash` v3 deps

- `@types/history` is already using `^4.7.8` without the resolution
  - 546911a8aa added it while also upgrading the devDep; only upgrading the devDep was necessary

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-05-11 21:38:49 -04:00
instauro 741f07c28b
fix: Use type export for interface reexports (#552)
Signed-off-by: instauro <instauro@proton.me>
2024-05-11 11:57:40 -04:00
dependabot[bot] 4848ea1a2f
build(deps-dev): bump @storybook/addon-essentials from 6.5.14 to 7.6.14 (#541)
Bumps [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) from 6.5.14 to 7.6.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.6.14/code/addons/essentials)

---
updated-dependencies:
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 15:26:06 +00:00
Anton Gilgur 3ac11b188d
docs: improve README with links and updates (#538)
- Argo Rollouts also [uses this repo](db5e3b2a8f/ui/package.json (L11))

- update Yarn link to Yarn v1 / Classic, as those docs are quite different from the current v4 docs
- same for Storybook v6 vs current v7 / v8 beta
  - say "Storybook" with an in-line link, not just a link. it is referred to as "Storybook"
    - see also k8s style guide on [links](https://kubernetes.io/docs/contribute/style/style-guide/#links)

- simplify "Build & Run" section a bit
  - changing dirs to the repo you just cloned is implied. we don't say how to clone or fork, so leave this out too
  - also you don't have to name your local dir `argo-ui`
  - "`yarn install` to install dependencies" is redundant
  - a bit simpler and more direct, [per k8s style guide](https://kubernetes.io/docs/contribute/style/style-guide/#use-simple-and-direct-language)
    - could make it even simpler, but left it close to the same style for now

- fix some `markdownlint` etc issues in the "Local Development" section
  - specify syntax in code blocks
  - `yalc` should be in backticks as it's a command

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-02-13 10:20:53 -05:00
Anton Gilgur ce4b63db80
ci: disable dependabot non-security updates (#537)
- similar to Workflows, most of the automated updates from dependabot here cause problems, a lot of noise, and use up CI time, all without much benefit
  - most often are small patch updates of devDeps that don't affect our usage of them
    - and then subsequent PRs for each individual patch bump etc
    - the vast majority of PRs in this repo are these updates -- noise would be an understatement
  - some also cause a lot of breakage when they pass CI but break something in a way that doesn't have an automated test
    - given that this repo is not maintained much, no one is there to detect that or to ensure deps were properly updated
      - so instead this causes breakage that goes unnoticed or unmentioned for _months_
      - less frequent, manual updates are much, much safer than this as such
        - and since it isn't really maintained, leaving it in a consistent, working state is also much better than an unknown, potentially broken state
        - any dep updates should be _intentional_

- Note that this intentionally _does not_ impact security updates. Security updates will still happen automatically
  - per the [linked docs](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#open-pull-requests-limit):
    > This option has no impact on security updates, which have a separate, internal limit of ten open pull requests.
    - that is why I specifically used this configuration

- also re-order the package ecosystems and add some comments [equivalent to Workflows](66680f1c9b/.github/dependabot.yml (L3))
  - could potentially split NPM prod and devDeps in these two as well, but I think this is fine for now

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-02-13 10:19:30 -05:00
dependabot[bot] 8ed18cd2e5
build(deps-dev): bump @storybook/addon-controls from 6.5.14 to 7.6.14 (#539)
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/controls) from 6.5.14 to 7.6.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.6.14/code/addons/controls)

---
updated-dependencies:
- dependency-name: "@storybook/addon-controls"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 15:17:12 +00:00
Anton Gilgur a2c724cec0
chore: remove unused files (#519)
- `.dockerignore` is unused, there is no matching `Dockerfile`
- `CONTRIBUTING.md` is outdated
  - there is no `yarn storybook` command currently
  - the contributing docs are in the README as this is an internal argoproj library

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-02-13 10:17:07 -05:00
Anton Gilgur 7613888f79
fix(deps): remove incorrectly duplicated peerDeps (#511)
- these are all inside of prod `dependencies` already (choose one)

- notably, `antd` had a version mismatch between `dependencies` and `peerDependencies` (v5 vs v4)
  - `dependencies` supersede `peerDependencies` however, so the v5 dep was already used and the v4 dep was extraneous
  - see the [`yarn.lock` file](c65a952036/yarn.lock (L5124)) as evidence, as well as a downstream `yarn.lock`, such as [Argo Workflows's](93914261cf/ui/yarn.lock (L2812))
    - note how this commit has no changes to the `yarn.lock` file either
  - this mismatch did cause install warnings downstream as well, which were impossible to resolve given this mismatch in `argo-ui`'s own deps
    - so those should now be resolved as well

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-02-13 10:16:23 -05:00
Anton Gilgur 17d7a8be6a
refactor(deps): migrate from archived `tslint` to `eslint` (#509)
* Install ESLint

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Add `.eslintrc.json`

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Follow ESLint rules

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Remove tslint

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Remove tslint.json

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Remove tslint.json

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>

* Fix lint problem

Signed-off-by: Sosuke Suzuki <sosuke.suzuki@dr-ubie.com>

* Set `node-version-file` for `setup-node`

Signed-off-by: Sosuke Suzuki <sosuke.suzuki@dr-ubie.com>

* build(deps): update to latest node v14

- node v14 is EoL and has been since April 2023: 68840fae8f/README.md?plain=1#L7
  - but this is the least intrusive update for now that gets build passing
  - will further update node in a separate PR

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Sosuke Suzuki <aosukeke@gmail.com>
Signed-off-by: Sosuke Suzuki <sosuke.suzuki@dr-ubie.com>
Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
Co-authored-by: Sosuke Suzuki <aosukeke@gmail.com>
Co-authored-by: Sosuke Suzuki <sosuke.suzuki@dr-ubie.com>
2024-02-13 10:12:53 -05:00
Anton Gilgur 9933a5dfbc
chore(deps): remove no longer used `v2/yarn.lock` (#510)
- v2's deps were merged with v1 in c25c690af7
  - the `package.json` was removed there, but looks like the `yarn.lock` was left in

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-02-05 13:34:50 -05:00
dependabot[bot] c65a952036
build(deps): bump actions/stale from 8 to 9 (#490)
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-09 12:51:38 +00:00
dependabot[bot] 5ff344ac96
build(deps): bump actions/setup-node from 3 to 4 (#468)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-28 12:57:58 +00:00
Rafal 554c62086b
fix: dark mode improvements (#462)
Signed-off-by: Rafal Pelczar <rafal@akuity.io>
2023-10-11 14:50:05 +00:00
Lukas Grossar 76fa7c1ae6
Update fonts to include correct Helm icon (#363)
This is a follow-up to #287

Signed-off-by: Lukas Grossar <lukas.grossar@adfinis.com>
2023-09-13 11:48:08 -07:00
dependabot[bot] 002d01b18e
build(deps): bump actions/checkout from 3 to 4 (#443)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 12:21:00 +00:00
dependabot[bot] 44accf19a3
build(deps-dev): bump ts-loader from 9.4.3 to 9.4.4 (#441)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.4.3 to 9.4.4.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.4.3...v9.4.4)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-09 12:06:37 +00:00
dependabot[bot] fe55f81812
build(deps): bump rxjs from 7.5.6 to 7.8.1 (#440)
Bumps [rxjs](https://github.com/reactivex/rxjs) from 7.5.6 to 7.8.1.
- [Changelog](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/7.5.6...7.8.1)

---
updated-dependencies:
- dependency-name: rxjs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-02 13:03:26 +00:00
dependabot[bot] 3d5207b6f0
build(deps-dev): bump @storybook/addon-actions from 7.0.20 to 7.4.0 (#439)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) from 7.0.20 to 7.4.0.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.4.0/code/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-02 12:59:36 +00:00
dependabot[bot] 31c49ed727
build(deps-dev): bump @types/uuid from 9.0.1 to 9.0.3 (#435)
Bumps [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid) from 9.0.1 to 9.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/uuid"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-02 12:56:18 +00:00
dependabot[bot] 267f3548c6
build(deps-dev): bump @storybook/addon-links from 6.5.16 to 7.4.0 (#434)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) from 6.5.16 to 7.4.0.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.4.0/code/addons/links)

---
updated-dependencies:
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-02 12:53:01 +00:00
dependabot[bot] 7e6988ebd1
build(deps): bump core-js from 3.30.2 to 3.32.1 (#433)
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.30.2 to 3.32.1.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.32.1/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-02 12:48:58 +00:00
Keith Chong 25948bf2f1
fix: Revision drop down transparent, not visible to read (#13067) (#399)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2023-08-15 21:12:23 -07:00
Pete Davids 17d1a77284
[fix] make tooltip body persistent on hover (#423)
make tooltip body persistent

Signed-off-by: Pete Davids <pdavids@lightstep.com>
2023-08-15 21:09:56 -07:00
Yuan (Terry) Tang 87d27fb1cb
docs: Update link to argo-workflows in README.md (#419) 2023-08-10 15:54:27 -04:00
Adwitiya Mishra cdebc28fc5
modified buttons (#352)
Signed-off-by: 2022H1030042G <adwt.mishra@gmail.com>
2023-08-07 15:08:10 +00:00
Blessing Philips b2ecddd5b8
fix: add overflow to popup to make it scrollable (#418)
Signed-off-by: Blessing Philips <blessingadesina@gmail.com>
2023-08-02 16:56:14 +00:00
dependabot[bot] 1309287ce3
build(deps): bump dependabot/fetch-metadata from 1.5.1 to 1.6.0 (#404)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-01 12:51:57 +00:00
dependabot[bot] b2532d7cd3
build(deps-dev): bump webpack-merge from 5.8.0 to 5.9.0 (#393)
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.8.0 to 5.9.0.
- [Changelog](https://github.com/survivejs/webpack-merge/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/commits)

---
updated-dependencies:
- dependency-name: webpack-merge
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-24 13:03:49 +00:00
dependabot[bot] 47d8273583
build(deps): bump typescript from 4.8.3 to 4.9.5 (#392)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.9.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.9.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-24 13:00:27 +00:00
Alexander Matyushentsev 13cea62a4a
fix: fix broken tooltip component (#391)
* fix: fix broken tooltip component

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* restore animation property

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2023-06-22 21:08:59 +00:00
Yi Cai 17e9fce8b0
feat: Added mouse middle button click to app click event handler (#362)
Signed-off-by: Yi Cai <yicai@redhat.com>
2023-06-21 17:11:58 -04:00
dependabot[bot] 6ebdda58c3
build(deps-dev): bump webpack-bundle-analyzer from 4.6.1 to 4.9.0 (#388)
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.6.1 to 4.9.0.
- [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases)
- [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.6.1...v4.9.0)

---
updated-dependencies:
- dependency-name: webpack-bundle-analyzer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 13:38:45 +00:00
dependabot[bot] 858a326cbe
build(deps): bump antd from 4.21.3 to 5.6.1 (#387)
Bumps [antd](https://github.com/ant-design/ant-design) from 4.21.3 to 5.6.1.
- [Release notes](https://github.com/ant-design/ant-design/releases)
- [Changelog](https://github.com/ant-design/ant-design/blob/master/CHANGELOG.en-US.md)
- [Commits](https://github.com/ant-design/ant-design/compare/4.21.3...5.6.1)

---
updated-dependencies:
- dependency-name: antd
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 13:35:48 +00:00
dependabot[bot] 37960e2691
build(deps-dev): bump ts-loader from 9.4.1 to 9.4.3 (#386)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.4.1 to 9.4.3.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/9.4.1...v9.4.3)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-17 13:31:11 +00:00
dependabot[bot] 5abe822995
build(deps-dev): bump @storybook/addon-actions from 6.5.15 to 7.0.20 (#385)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) from 6.5.15 to 7.0.20.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v7.0.20/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.0.20/code/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-10 13:21:11 +00:00
dependabot[bot] 4c3841c5d0
build(deps): bump xterm from 4.18.0 to 4.19.0 (#384)
Bumps [xterm](https://github.com/xtermjs/xterm.js) from 4.18.0 to 4.19.0.
- [Release notes](https://github.com/xtermjs/xterm.js/releases)
- [Commits](https://github.com/xtermjs/xterm.js/compare/4.18.0...4.19.0)

---
updated-dependencies:
- dependency-name: xterm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-10 13:20:21 +00:00
dependabot[bot] e7b7fb276f
build(deps-dev): bump webpack-cli from 4.10.0 to 5.1.4 (#381)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.10.0 to 5.1.4.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.10.0...webpack-cli@5.1.4)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-10 13:16:42 +00:00
dependabot[bot] 84e6268305
build(deps-dev): bump @storybook/addons from 6.5.16 to 7.0.20 (#382)
Bumps [@storybook/addons](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/addons) from 6.5.16 to 7.0.20.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v7.0.20/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v7.0.20/code/lib/addons)

---
updated-dependencies:
- dependency-name: "@storybook/addons"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-10 13:16:35 +00:00
Blake Pettersson 25663b03b4
fix: pin react-toastify (#379)
It seems like from the time when #367 was initially created, a newer
version of react-toastify was released, which looks like it pulls in
DefinitelyTyped/DefinitelyTyped#64464, which is a pretty breaking
change. I haven't looked in depth, but I suspect if we were to upgrade
to the latest version we'd need to upgrade React...

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-06-02 09:58:10 -04:00
Blake Pettersson 06d0e88a09
chore: upgrade uuid (#367)
* chore: upgrade uuid

Upgrading uuid should solve the build issues in argo-cd#11006. As is
usual in JS land, a single upgrade has a bunch of follow-on effects,
the main one being that node needs to be upgraded to at least `14.15`
in order for this to build at all.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: typescript tweaks

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-05-30 11:31:21 -04:00
dependabot[bot] e918bac565
build(deps): bump core-js from 3.22.4 to 3.30.2 (#375)
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.22.4 to 3.30.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.30.2/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-27 13:18:59 +00:00
dependabot[bot] fb6a6af3ab
build(deps): bump dependabot/fetch-metadata from 1.4.0 to 1.5.1 (#374)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.4.0 to 1.5.1.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.4.0...v1.5.1)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-27 13:00:06 +00:00
dependabot[bot] 0c91168534
build(deps): bump dependabot/fetch-metadata from 1.3.6 to 1.4.0 (#355)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.6 to 1.4.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.6...v1.4.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-22 13:00:16 +00:00
Regina Scott 4438ded17b
fix for argocd issue 12798 (#341)
fixing issue for argocd issue 12798

Signed-off-by: Regina Scott <rescott@redhat.com>
2023-03-30 15:35:10 -07:00
dependabot[bot] 3dc899cae6
build(deps): bump actions/stale from 7 to 8 (#349)
Bumps [actions/stale](https://github.com/actions/stale) from 7 to 8.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-25 12:59:27 +00:00
dependabot[bot] a01cb98d17
build(deps-dev): bump @babel/core from 7.18.2 to 7.21.3 (#344)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.2 to 7.21.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.3/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-18 13:20:10 +00:00
dependabot[bot] 2ce38d3717
build(deps-dev): bump @types/node from 18.8.3 to 18.15.3 (#343)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.8.3 to 18.15.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-18 13:15:54 +00:00
dependabot[bot] 7f250948d3
build(deps-dev): bump webpack from 5.74.0 to 5.76.2 (#342)
Bumps [webpack](https://github.com/webpack/webpack) from 5.74.0 to 5.76.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.74.0...v5.76.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-18 13:08:48 +00:00
Lukas Grossar b9df4ce1bd
Update Helm icon (#287)
chore: update helm icon

Signed-off-by: Lukas Grossar <lukas.grossar@adfinis.com>
Co-authored-by: Remington Breeze <remington@breeze.software>
2023-02-02 09:07:58 -08:00
dependabot[bot] dca6a8660a
build(deps-dev): bump @types/react-helmet from 6.1.5 to 6.1.6 (#328)
Bumps [@types/react-helmet](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-helmet) from 6.1.5 to 6.1.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-helmet)

---
updated-dependencies:
- dependency-name: "@types/react-helmet"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 12:18:22 +00:00
dependabot[bot] 29d218cccf
build(deps-dev): bump @storybook/addon-links from 6.5.12 to 6.5.16 (#326)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 6.5.12 to 6.5.16.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.16/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.16/addons/links)

---
updated-dependencies:
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 12:13:54 +00:00
dependabot[bot] 48e2ede16a
build(deps): bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 (#325)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.5...v1.3.6)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 12:07:41 +00:00
dependabot[bot] 110a3edfb4
build(deps-dev): bump enzyme-adapter-react-16 from 1.15.6 to 1.15.7 (#319)
Bumps [enzyme-adapter-react-16](https://github.com/enzymejs/enzyme/tree/HEAD/packages/enzyme-adapter-react-16) from 1.15.6 to 1.15.7.
- [Release notes](https://github.com/enzymejs/enzyme/releases)
- [Changelog](https://github.com/enzymejs/enzyme/blob/master/CHANGELOG.md)
- [Commits](https://github.com/enzymejs/enzyme/commits/enzyme-adapter-react-16@1.15.7/packages/enzyme-adapter-react-16)

---
updated-dependencies:
- dependency-name: enzyme-adapter-react-16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-24 12:16:34 +00:00
dependabot[bot] f89705c941
build(deps-dev): bump @storybook/addon-actions from 6.5.14 to 6.5.15 (#317)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.5.14 to 6.5.15.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.15/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.15/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-24 12:13:12 +00:00
dependabot[bot] 34ead39630
build(deps): bump actions/stale from 6 to 7 (#316)
Bumps [actions/stale](https://github.com/actions/stale) from 6 to 7.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-24 12:03:54 +00:00
dependabot[bot] 7d3bfdae08
build(deps-dev): bump @storybook/addon-essentials from 6.5.12 to 6.5.14 (#313)
Bumps [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/addons/essentials) from 6.5.12 to 6.5.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.14/addons/essentials)

---
updated-dependencies:
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-10 12:12:24 +00:00
dependabot[bot] cf15daee1c
build(deps): bump @fortawesome/fontawesome-free from 6.1.1 to 6.2.1 (#311)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.1.1 to 6.2.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.1.1...6.2.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-10 12:07:45 +00:00
dependabot[bot] 8284079dd7
build(deps-dev): bump storybook from 6.5.9 to 6.5.14 (#310)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/lib/cli) from 6.5.9 to 6.5.14.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.14/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.14/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-03 12:17:21 +00:00
dependabot[bot] 3903c125c0
build(deps-dev): bump @types/yamljs from 0.2.30 to 0.2.31 (#308)
Bumps [@types/yamljs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yamljs) from 0.2.30 to 0.2.31.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yamljs)

---
updated-dependencies:
- dependency-name: "@types/yamljs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-03 12:09:56 +00:00
dependabot[bot] 044edcb573
build(deps-dev): bump chai and @types/chai (#307)
Bumps [chai](https://github.com/chaijs/chai) and [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai). These dependencies needed to be updated together.

Updates `chai` from 4.3.6 to 4.3.7
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/4.x.x/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v4.3.6...v4.3.7)

Updates `@types/chai` from 4.3.3 to 4.3.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-03 12:05:19 +00:00
dependabot[bot] 10a88bb808
build(deps-dev): bump html-webpack-plugin from 4.5.2 to 5.5.0 (#305)
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 4.5.2 to 5.5.0.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v4.5.2...v5.5.0)

---
updated-dependencies:
- dependency-name: html-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-05 12:17:48 +00:00
dependabot[bot] 1a31bbdef3
build(deps-dev): bump ts-loader from 9.3.1 to 9.4.1 (#302)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.3.1 to 9.4.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.3.1...9.4.1)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-05 12:13:18 +00:00
dependabot[bot] 56daa8c116
build(deps): bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 (#303)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.4...v1.3.5)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-05 12:03:14 +00:00
dependabot[bot] 157959bd69
build(deps-dev): bump @testing-library/user-event from 14.2.1 to 14.4.3 (#301)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.2.1 to 14.4.3.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.2.1...v14.4.3)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-15 12:11:54 +00:00
dependabot[bot] 72479cf83b
build(deps-dev): bump ts-node from 4.1.0 to 10.9.1 (#300)
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 4.1.0 to 10.9.1.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Changelog](https://github.com/TypeStrong/ts-node/blob/main/development-docs/release-template.md)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v4.1.0...v10.9.1)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-15 12:08:01 +00:00
dependabot[bot] 893f3a0598
build(deps-dev): bump @types/node from 18.0.0 to 18.8.3 (#298)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.0.0 to 18.8.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:21:30 +00:00
dependabot[bot] d726f6c529
build(deps): bump @tippy.js/react from 2.2.3 to 3.1.1 (#297)
Bumps [@tippy.js/react](https://github.com/atomiks/tippy.js-react) from 2.2.3 to 3.1.1.
- [Release notes](https://github.com/atomiks/tippy.js-react/releases)
- [Commits](https://github.com/atomiks/tippy.js-react/compare/v2.2.3...v3.1.1)

---
updated-dependencies:
- dependency-name: "@tippy.js/react"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:10:19 +00:00
dependabot[bot] 1743f1b9a2
build(deps-dev): bump webpack-dev-server from 4.9.3 to 4.11.1 (#295)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.3 to 4.11.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.3...v4.11.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-08 12:07:36 +00:00
dependabot[bot] 7367406dbc
build(deps): bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 (#293)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.3...v1.3.4)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-01 12:17:42 +00:00
dependabot[bot] d5279d7024
build(deps-dev): bump @types/storybook__addon-actions from 3.0.3 to 5.2.1 (#291)
build(deps-dev): bump @types/storybook__addon-actions

Bumps [@types/storybook__addon-actions](https://github.com/storybooks/storybook) from 3.0.3 to 5.2.1.
- [Release notes](https://github.com/storybooks/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.v1-5.md)
- [Commits](https://github.com/storybooks/storybook/commits/v5.2.1)

---
updated-dependencies:
- dependency-name: "@types/storybook__addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-01 12:10:01 +00:00
dependabot[bot] 96e7f47eec
build(deps-dev): bump webpack from 5.73.0 to 5.74.0 (#290)
Bumps [webpack](https://github.com/webpack/webpack) from 5.73.0 to 5.74.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.73.0...v5.74.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-01 12:09:17 +00:00
dependabot[bot] b177f9dc7f
build(deps-dev): bump enzyme-adapter-react-16 from 1.15.5 to 1.15.6 (#289)
Bumps [enzyme-adapter-react-16](https://github.com/enzymejs/enzyme/tree/HEAD/packages/enzyme-adapter-react-16) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/enzymejs/enzyme/releases)
- [Changelog](https://github.com/enzymejs/enzyme/blob/master/CHANGELOG.md)
- [Commits](https://github.com/enzymejs/enzyme/commits/enzyme-adapter-react-16@1.15.6/packages/enzyme-adapter-react-16)

---
updated-dependencies:
- dependency-name: enzyme-adapter-react-16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-01 12:06:40 +00:00
dependabot[bot] 053e4a994f
build(deps-dev): bump @types/enzyme from 3.10.8 to 3.10.12 (#288)
Bumps [@types/enzyme](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/enzyme) from 3.10.8 to 3.10.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/enzyme)

---
updated-dependencies:
- dependency-name: "@types/enzyme"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-01 12:05:27 +00:00
dependabot[bot] e6dde7f26e
build(deps): bump actions/stale from 5 to 6 (#285)
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:19:34 +00:00
dependabot[bot] 4bcf06d210
build(deps-dev): bump chai and @types/chai (#283)
Bumps [chai](https://github.com/chaijs/chai) and [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai). These dependencies needed to be updated together.

Updates `chai` from 4.1.2 to 4.3.6
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/4.x.x/History.md)
- [Commits](https://github.com/chaijs/chai/compare/4.1.2...v4.3.6)

Updates `@types/chai` from 4.1.4 to 4.3.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:12:37 +00:00
dependabot[bot] 3d753b45a8
build(deps-dev): bump webpack-bundle-analyzer from 4.4.2 to 4.6.1 (#282)
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.4.2 to 4.6.1.
- [Release notes](https://github.com/webpack-contrib/webpack-bundle-analyzer/releases)
- [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.4.2...v4.6.1)

---
updated-dependencies:
- dependency-name: webpack-bundle-analyzer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:10:12 +00:00
dependabot[bot] 4ef68e257b
build(deps): bump moment from 2.29.2 to 2.29.4 (#281)
Bumps [moment](https://github.com/moment/moment) from 2.29.2 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.2...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:09:05 +00:00
dependabot[bot] 17f15ba779
build(deps): bump rxjs from 7.5.5 to 7.5.6 (#280)
Bumps [rxjs](https://github.com/reactivex/rxjs) from 7.5.5 to 7.5.6.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/7.5.5...7.5.6)

---
updated-dependencies:
- dependency-name: rxjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:05:57 +00:00
dependabot[bot] d3f752b706
build(deps-dev): bump sass from 1.52.1 to 1.55.0 (#279)
Bumps [sass](https://github.com/sass/dart-sass) from 1.52.1 to 1.55.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.52.1...1.55.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 12:05:31 +00:00
dependabot[bot] 7849bcd279
build(deps-dev): bump @storybook/addon-links from 6.5.9 to 6.5.12 (#278)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 6.5.9 to 6.5.12.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.12/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.12/addons/links)

---
updated-dependencies:
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-17 12:33:03 +00:00
dependabot[bot] dedf2ab358
build(deps-dev): bump mini-css-extract-plugin from 1.6.2 to 2.6.1 (#277)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.6.2 to 2.6.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.6.2...v2.6.1)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-17 12:20:55 +00:00
dependabot[bot] ce6ee40a23
build(deps-dev): bump @testing-library/react from 11.2.7 to 12.1.5 (#275)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 11.2.7 to 12.1.5.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v11.2.7...v12.1.5)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-17 12:16:54 +00:00
dependabot[bot] 42e77f33b7
build(deps-dev): bump @storybook/addon-essentials from 6.3.8 to 6.5.12 (#274)
Bumps [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/addons/essentials) from 6.3.8 to 6.5.12.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.12/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.12/addons/essentials)

---
updated-dependencies:
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-17 12:14:37 +00:00
Saumeya Katyal 6107e270e7
fix: dark theme changes for argo-cd (#272)
Signed-off-by: saumeya <saumeyakatyal@gmail.com>

Signed-off-by: saumeya <saumeyakatyal@gmail.com>
2022-09-13 11:47:53 -04:00
dependabot[bot] 1c89d94ec2
build(deps): bump typescript from 4.7.3 to 4.8.3 (#271)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.3 to 4.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.3...v4.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 12:21:28 +00:00
dependabot[bot] 73d9e5bd46
build(deps): bump react-toastify from 5.0.1 to 9.0.8 (#270)
Bumps [react-toastify](https://github.com/fkhadra/react-toastify) from 5.0.1 to 9.0.8.
- [Release notes](https://github.com/fkhadra/react-toastify/releases)
- [Commits](https://github.com/fkhadra/react-toastify/compare/v5.0.1...v9.0.8)

---
updated-dependencies:
- dependency-name: react-toastify
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 12:10:29 +00:00
dependabot[bot] c08d7fdd9c
build(deps-dev): bump @types/react-helmet from 6.1.0 to 6.1.5 (#269)
Bumps [@types/react-helmet](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-helmet) from 6.1.0 to 6.1.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-helmet)

---
updated-dependencies:
- dependency-name: "@types/react-helmet"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 12:09:42 +00:00
dependabot[bot] 12fe135b36
build(deps-dev): bump ts-loader from 9.2.1 to 9.3.1 (#268)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.1 to 9.3.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.1...v9.3.1)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 12:07:32 +00:00
dependabot[bot] d64c8e7a65
build(deps-dev): bump @storybook/addon-actions from 6.5.6 to 6.5.10 (#267)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.5.6 to 6.5.10.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.10/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.10/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-10 12:06:13 +00:00
Saumeya Katyal 9b4bec66a9
feat: Add theme for argocd (#245)
* feat: add theme for argocd

Signed-off-by: saumeya <saumeyakatyal@gmail.com>

* add more theme colors

Signed-off-by: saumeya <saumeyakatyal@gmail.com>

* improvements

Signed-off-by: saumeya <saumeyakatyal@gmail.com>

* improvements

Signed-off-by: saumeya <saumeyakatyal@gmail.com>

Signed-off-by: saumeya <saumeyakatyal@gmail.com>
Co-authored-by: Remington Breeze <remington@breeze.software>
2022-09-07 09:07:34 -04:00
dependabot[bot] 8aa863adea
build(deps-dev): bump @storybook/addon-links from 6.3.8 to 6.5.9 (#261)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 6.3.8 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/addons/links)

---
updated-dependencies:
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-02 18:21:09 +00:00
dependabot[bot] 6a30744a6c
build(deps-dev): bump webpack from 4.46.0 to 5.73.0 (#260)
Bumps [webpack](https://github.com/webpack/webpack) from 4.46.0 to 5.73.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.46.0...v5.73.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 12:27:12 +00:00
dependabot[bot] 8c60e270b9
build(deps): bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 (#259)
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.1 to 1.3.3.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.1...v1.3.3)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 12:15:18 +00:00
dependabot[bot] 470e2564ad
build(deps): bump @fortawesome/fontawesome-free from 5.15.4 to 6.1.1 (#257)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.15.4 to 6.1.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.4...6.1.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 12:11:00 +00:00
dependabot[bot] cc8cdd4804
build(deps-dev): bump webpack-dev-server from 3.11.2 to 4.9.3 (#256)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.11.2 to 4.9.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.11.2...v4.9.3)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-02 12:08:22 +00:00
dependabot[bot] ec27c59974
build(deps-dev): bump tslint from 5.14.0 to 5.20.1 (#254)
Bumps [tslint](https://github.com/palantir/tslint) from 5.14.0 to 5.20.1.
- [Release notes](https://github.com/palantir/tslint/releases)
- [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palantir/tslint/compare/5.14.0...5.20.1)

---
updated-dependencies:
- dependency-name: tslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-25 12:20:00 +00:00
dependabot[bot] e852a1302b
build(deps-dev): bump enzyme-to-json from 3.6.1 to 3.6.2 (#255)
Bumps [enzyme-to-json](https://github.com/adriantoine/enzyme-to-json) from 3.6.1 to 3.6.2.
- [Release notes](https://github.com/adriantoine/enzyme-to-json/releases)
- [Changelog](https://github.com/adriantoine/enzyme-to-json/blob/master/CHANGELOG.md)
- [Commits](https://github.com/adriantoine/enzyme-to-json/compare/v3.6.1...v3.6.2)

---
updated-dependencies:
- dependency-name: enzyme-to-json
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-25 12:16:53 +00:00
dependabot[bot] 4e74ab5261
build(deps-dev): bump storybook from 6.5.8 to 6.5.9 (#253)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/lib/cli) from 6.5.8 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-25 12:10:24 +00:00
dependabot[bot] 445a07dd6f
build(deps-dev): bump webpack-cli from 4.9.2 to 4.10.0 (#252)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.9.2 to 4.10.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.9.2...webpack-cli@4.10.0)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-25 12:09:03 +00:00
dependabot[bot] a9cb6a03e0
build(deps): bump rxjs from 6.6.7 to 7.5.5 (#251)
Bumps [rxjs](https://github.com/reactivex/rxjs) from 6.6.7 to 7.5.5.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/6.6.7...7.5.5)

---
updated-dependencies:
- dependency-name: rxjs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-25 12:07:32 +00:00
dependabot[bot] 28e1ac1746
build(deps): bump antd from 4.20.6 to 4.21.3 (#250)
Bumps [antd](https://github.com/ant-design/ant-design) from 4.20.6 to 4.21.3.
- [Release notes](https://github.com/ant-design/ant-design/releases)
- [Changelog](https://github.com/ant-design/ant-design/blob/master/CHANGELOG.en-US.md)
- [Commits](https://github.com/ant-design/ant-design/compare/4.20.6...4.21.3)

---
updated-dependencies:
- dependency-name: antd
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 12:22:23 +00:00
dependabot[bot] 01902d3b0a
build(deps-dev): bump @types/node from 12.20.27 to 18.0.0 (#249)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.20.27 to 18.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 12:21:39 +00:00
dependabot[bot] 9301226bf4
build(deps-dev): bump source-map-loader from 0.2.3 to 1.1.3 (#248)
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 0.2.3 to 1.1.3.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v0.2.3...v1.1.3)

---
updated-dependencies:
- dependency-name: source-map-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 12:18:40 +00:00
dependabot[bot] e0bea68d9d
build(deps-dev): bump @storybook/addon-controls from 6.5.3 to 6.5.9 (#247)
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/addons/controls) from 6.5.3 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/addons/controls)

---
updated-dependencies:
- dependency-name: "@storybook/addon-controls"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 12:16:22 +00:00
dependabot[bot] f4bc6b6234
build(deps-dev): bump @testing-library/user-event from 14.2.0 to 14.2.1 (#246)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.2.0 to 14.2.1.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.2...v14.2.1)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 12:15:05 +00:00
dependabot[bot] 8a0032955e
build(deps-dev): bump storybook from 6.3.8 to 6.5.8 (#244)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/lib/cli) from 6.3.8 to 6.5.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.8/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-11 12:32:43 +00:00
dependabot[bot] 3d9aab76bb
build(deps-dev): bump @types/prop-types from 15.5.4 to 15.7.5 (#242)
Bumps [@types/prop-types](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/prop-types) from 15.5.4 to 15.7.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/prop-types)

---
updated-dependencies:
- dependency-name: "@types/prop-types"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-11 12:19:36 +00:00
dependabot[bot] 0136155f0b
build(deps-dev): bump webpack-cli from 3.3.12 to 4.9.2 (#241)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.12 to 4.9.2.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.12...webpack-cli@4.9.2)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-11 12:17:38 +00:00
dependabot[bot] 4cda612e11
build(deps-dev): bump glob from 8.0.1 to 8.0.3 (#240)
Bumps [glob](https://github.com/isaacs/node-glob) from 8.0.1 to 8.0.3.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v8.0.1...v8.0.3)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-11 12:16:46 +00:00
dependabot[bot] a5f7fa7197
build(deps-dev): bump @storybook/addon-actions from 6.3.8 to 6.5.6 (#238)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.3.8 to 6.5.6.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.6/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.6/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 12:22:45 +00:00
dependabot[bot] 71856dbfbc
build(deps): bump typescript from 4.6.4 to 4.7.3 (#239)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.4 to 4.7.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.4...v4.7.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 12:22:23 +00:00
dependabot[bot] 059e09600c
build(deps-dev): bump @babel/core from 7.15.5 to 7.18.2 (#237)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.15.5 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 12:21:10 +00:00
dependabot[bot] 52c0fee960
build(deps-dev): bump babel-loader from 8.2.2 to 8.2.5 (#236)
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.2 to 8.2.5.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.2...v8.2.5)

---
updated-dependencies:
- dependency-name: babel-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 12:18:22 +00:00
dependabot[bot] e786d24188
build(deps-dev): bump copyfiles from 1.2.0 to 2.4.1 (#235)
Bumps [copyfiles](https://github.com/calvinmetcalf/copyfiles) from 1.2.0 to 2.4.1.
- [Release notes](https://github.com/calvinmetcalf/copyfiles/releases)
- [Commits](https://github.com/calvinmetcalf/copyfiles/compare/v1.2.0...v2.4.1)

---
updated-dependencies:
- dependency-name: copyfiles
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 12:16:45 +00:00
dependabot[bot] e9cfe2f8af
build(deps-dev): bump @storybook/addons from 6.5.3 to 6.5.5 (#231)
Bumps [@storybook/addons](https://github.com/storybookjs/storybook/tree/HEAD/lib/addons) from 6.5.3 to 6.5.5.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.5/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.5/lib/addons)

---
updated-dependencies:
- dependency-name: "@storybook/addons"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 12:20:55 +00:00
dependabot[bot] 5452edad43
build(deps-dev): bump @types/classnames from 2.2.9 to 2.3.1 (#233)
Bumps [@types/classnames](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/classnames) from 2.2.9 to 2.3.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/classnames)

---
updated-dependencies:
- dependency-name: "@types/classnames"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 12:13:39 +00:00
dependabot[bot] 97cf3d2ea9
build(deps-dev): bump dtslint from 4.1.6 to 4.2.1 (#232)
Bumps [dtslint](https://github.com/Microsoft/dtslint) from 4.1.6 to 4.2.1.
- [Release notes](https://github.com/Microsoft/dtslint/releases)
- [Commits](https://github.com/Microsoft/dtslint/commits)

---
updated-dependencies:
- dependency-name: dtslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 12:12:47 +00:00
dependabot[bot] 12736533e6
build(deps): bump antd from 4.19.5 to 4.20.6 (#229)
Bumps [antd](https://github.com/ant-design/ant-design) from 4.19.5 to 4.20.6.
- [Release notes](https://github.com/ant-design/ant-design/releases)
- [Changelog](https://github.com/ant-design/ant-design/blob/master/CHANGELOG.en-US.md)
- [Commits](https://github.com/ant-design/ant-design/compare/4.19.5...4.20.6)

---
updated-dependencies:
- dependency-name: antd
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 12:10:00 +00:00
dependabot[bot] 5a67b16e13
build(deps-dev): bump ts-loader from 8.3.0 to 9.2.1 (#227)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.3.0 to 9.2.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.3.0...v9.2.1)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:32:17 +00:00
dependabot[bot] e09f352762
build(deps-dev): bump @storybook/addon-controls from 6.3.8 to 6.5.3 (#228)
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/addons/controls) from 6.3.8 to 6.5.3.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.3/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.3/addons/controls)

---
updated-dependencies:
- dependency-name: "@storybook/addon-controls"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:23:25 +00:00
dependabot[bot] 7b24d23db3
build(deps-dev): bump raw-loader from 0.5.1 to 4.0.2 (#226)
Bumps [raw-loader](https://github.com/webpack-contrib/raw-loader) from 0.5.1 to 4.0.2.
- [Release notes](https://github.com/webpack-contrib/raw-loader/releases)
- [Changelog](https://github.com/webpack-contrib/raw-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/raw-loader/commits/v4.0.2)

---
updated-dependencies:
- dependency-name: raw-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:21:16 +00:00
dependabot[bot] 4b14b71847
build(deps-dev): bump sass from 1.39.0 to 1.52.1 (#225)
Bumps [sass](https://github.com/sass/dart-sass) from 1.39.0 to 1.52.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.39.0...1.52.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:19:55 +00:00
dependabot[bot] 8770e22dbf
build(deps): bump typescript from 4.6.3 to 4.6.4 (#224)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.3 to 4.6.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.3...v4.6.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:16:57 +00:00
dependabot[bot] 80002b81d5
build(deps-dev): bump ts-jest from 26.4.3 to 26.5.6 (#223)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 26.4.3 to 26.5.6.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v26.4.3...v26.5.6)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 12:14:49 +00:00
dependabot[bot] 1e23727941
build(deps-dev): bump webpack from 4.44.2 to 4.46.0 (#215)
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.2 to 4.46.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.2...v4.46.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-14 12:27:11 +00:00
dependabot[bot] 1bd8d69789
build(deps-dev): bump @testing-library/user-event from 12.8.3 to 14.2.0 (#216)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 12.8.3 to 14.2.0.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v12.8.3...v14.2)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-14 12:14:31 +00:00
dependabot[bot] 615fee6242
build(deps-dev): bump html-webpack-plugin from 3.2.0 to 4.5.2 (#212)
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 3.2.0 to 4.5.2.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/v4.5.2/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v3.2.0...v4.5.2)

---
updated-dependencies:
- dependency-name: html-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-14 12:12:45 +00:00
Alex Collins ba72b482c9
build: Upgrade to classnames@2.3.1 (#211)
Signed-off-by: Alex Collins <alex_collins@intuit.com>
2022-05-13 03:48:32 +00:00
dependabot[bot] 0d745a23c2
build(deps-dev): bump glob from 7.1.2 to 8.0.1 (#210)
Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.2 to 8.0.1.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.1.2...v8.0.1)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:34:47 +00:00
dependabot[bot] 84e99bfc33
build(deps-dev): bump less-loader from 6.2.0 to 7.3.0 (#209)
Bumps [less-loader](https://github.com/webpack-contrib/less-loader) from 6.2.0 to 7.3.0.
- [Release notes](https://github.com/webpack-contrib/less-loader/releases)
- [Changelog](https://github.com/webpack-contrib/less-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/less-loader/compare/v6.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: less-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:32:22 +00:00
dependabot[bot] 0acd01aa88
build(deps): bump actions/setup-node from 1 to 3 (#204)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:25:50 +00:00
dependabot[bot] 9a2a85c6e1
build(deps-dev): bump react-hot-loader from 3.1.3 to 4.13.0 (#208)
Bumps [react-hot-loader](https://github.com/gaearon/react-hot-loader) from 3.1.3 to 4.13.0.
- [Release notes](https://github.com/gaearon/react-hot-loader/releases)
- [Changelog](https://github.com/gaearon/react-hot-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gaearon/react-hot-loader/compare/v3.1.3...v4.13.0)

---
updated-dependencies:
- dependency-name: react-hot-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:18:56 +00:00
dependabot[bot] 5b68376a1b
build(deps-dev): bump style-loader from 0.20.3 to 2.0.0 (#207)
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 0.20.3 to 2.0.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v0.20.3...v2.0.0)

---
updated-dependencies:
- dependency-name: style-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:16:26 +00:00
dependabot[bot] 5bd9b935f3
build(deps-dev): bump jest from 26.6.2 to 26.6.3 (#206)
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 26.6.2 to 26.6.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v26.6.3/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:12:54 +00:00
dependabot[bot] 9ddaa40bf0
build(deps): bump actions/stale from 3 to 5 (#205)
Bumps [actions/stale](https://github.com/actions/stale) from 3 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:11:06 +00:00
dependabot[bot] 2bdee8592b
build(deps): bump actions/checkout from 2 to 3 (#203)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 21:07:02 +00:00
Alex Collins 42d38feafd
chore: Enabled dependabot (#202)
Signed-off-by: Alex Collins <alex_collins@intuit.com>
2022-05-11 13:59:18 -07:00
Snyk bot 32bd40742f
fix: upgrade core-js from 3.21.1 to 3.22.0 (#200)
Snyk has created this PR to upgrade core-js from 3.21.1 to 3.22.0.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-05-06 20:00:31 -07:00
Snyk bot f151370d97
fix: upgrade moment-timezone from 0.5.33 to 0.5.34 (#199)
Snyk has created this PR to upgrade moment-timezone from 0.5.33 to 0.5.34.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-04-21 16:32:15 -07:00
Snyk bot 5cc690ed53
fix: upgrade @tippy.js/react from 2.1.2 to 2.2.3 (#197)
Snyk has created this PR to upgrade @tippy.js/react from 2.1.2 to 2.2.3.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-04-20 10:39:35 -07:00
Snyk bot b7ce0f5842
fix: upgrade prop-types from 15.6.2 to 15.8.1 (#196)
Snyk has created this PR to upgrade prop-types from 15.6.2 to 15.8.1.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-04-20 10:39:22 -07:00
Snyk bot 72daa60c55
fix: upgrade history from 4.7.2 to 4.10.1 (#190)
Snyk has created this PR to upgrade history from 4.7.2 to 4.10.1.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: Alex Collins <alexec@users.noreply.github.com>
2022-04-19 14:44:22 +00:00
Snyk bot 2a8ad74e3c
fix: upgrade core-js from 3.18.1 to 3.21.1 (#189)
Snyk has created this PR to upgrade core-js from 3.18.1 to 3.21.1.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: Alex Collins <alexec@users.noreply.github.com>
2022-04-19 07:43:59 -07:00
Snyk bot 877cdbf549
fix: upgrade typescript from 4.4.3 to 4.6.2 (#188)
Snyk has created this PR to upgrade typescript from 4.4.3 to 4.6.2.

See this package in npm:


See this project in Snyk:
https://app.snyk.io/org/argoproj/project/20fef74c-bb24-4a08-9abb-d583ff425c56?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-04-19 07:38:48 -07:00
Michael Crenshaw 09ec869ffb
fix: remove unnecessary dependency on portable-fetch (#181) (#182)
Signed-off-by: Michael Crenshaw <michael_crenshaw@intuit.com>

Co-authored-by: Michael Crenshaw <michael_crenshaw@intuit.com>
2022-04-19 07:37:49 -07:00
Saumeya Katyal 8637aa8709
feat: add regular font awesome icons (#191) 2022-04-15 08:47:00 -07:00
Keith Chong f632fe4451
feat: Escape key should close sliding window in UI (#8225) (#184)
Signed-off-by: Keith Chong <kykchong@redhat.com>

Co-authored-by: Remington Breeze <remington@breeze.software>
2022-04-11 15:16:16 -07:00
Snyk bot 3314721c88
fix: package.json & yarn.lock to reduce vulnerabilities (#186)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-ASYNCVALIDATOR-2311201
- https://snyk.io/vuln/SNYK-JS-MOMENT-2440688

Co-authored-by: Alex Collins <alexec@users.noreply.github.com>
2022-04-07 14:57:39 +00:00
Michael Crenshaw 9b85a49220
chore: update moment to avoid CVE-2022-24785 (#185)
Signed-off-by: Michael Crenshaw <michael_crenshaw@intuit.com>
2022-04-07 07:52:17 -07:00
plakyda-codefresh 5e5c7cf57e
Switch Antd Component redesign (#177)
* Switch Antd Component redesign
Design - https://www.figma.com/file/IIlsFqqmM5UhqMVul9fQNq/Argo-CD?node-id=190%3A6048
Docs - https://ant.design/components/switch/#header

Signed-off-by: viktorplakida <plakyda1@gmail.com>

* feat: styles for antd:checkbox (#172)

* added new component styles for antd-checkbox

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>

* trigger check

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>
Signed-off-by: viktorplakida <plakyda1@gmail.com>

* refactor: upgrade xterm version (#183)

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: viktorplakida <plakyda1@gmail.com>

* Update switch.stories.tsx

Signed-off-by: viktorplakida <plakyda1@gmail.com>

Co-authored-by: viktorplakida <plakyda1@gmail.com>
Co-authored-by: Oleksandr Saulyak <oleksandr.saulyak@codefresh.io>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-03-28 21:52:20 +03:00
Alexander Matyushentsev 97d60381c7
refactor: upgrade xterm version (#183)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-03-22 20:28:38 +02:00
Oleksandr Saulyak f9e8e88467
feat: styles for antd:checkbox (#172)
* added new component styles for antd-checkbox

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>

* trigger check

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>
2022-03-18 20:11:13 +02:00
Ken Kaizu b7a057c465
feat: customize nav bar background color style (#167)
Signed-off-by: krrrr38 <k.kaizu38@gmail.com>
2022-01-19 07:33:12 -08:00
Alexander Matyushentsev 4336822c14
fix: change incorrect element key in Topbar component (#176)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-01-14 17:39:15 -08:00
Alexander Matyushentsev 74a7ecfb72
feat: customizable page breadcrumbs (#175)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-01-14 14:52:09 -08:00
Yi Cai 2da0b48fba
fix: Trailing line in Filter Dropdown Menus #7821 (#171) 2021-12-19 21:29:58 -08:00
Yi Cai 44a1a7f22a
fix: Nested Refresh dropdown does not work on Application Details page #1524 (#125)
Signed-off-by: ciiay <yicai@redhat.com>

Co-authored-by: Remington Breeze <remington@breeze.software>
2021-12-15 15:40:48 -08:00
Keith Chong 49f2577945
feat: Allow customized Page and TopBar titles (#164) (#165)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2021-12-01 15:03:17 -08:00
plakyda-codefresh 8152ba70c5
Antd redesign (#161)
Antd redesign (#161)

Signed-off-by: viktorplakida <plakyda1@gmail.com>

Co-authored-by: Oleksandr Saulyak <89578063+oleksandr-codefresh@users.noreply.github.com>
Co-authored-by: viktorplakida <plakyda1@gmail.com>
Co-authored-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>
2021-12-01 14:19:47 -08:00
Saumeya Katyal eeac356bff
fix: change prop type for abbreviations to map (#163)
Signed-off-by: saumeya <saumeyakatyal@gmail.com>
2021-11-01 09:37:05 -07:00
Saumeya Katyal e1a1cc127d
feat: add abbreviations to autocomplete component (#160)
Signed-off-by: saumeya <saumeyakatyal@gmail.com>
2021-10-27 09:38:10 -07:00
Oleksandr Saulyak 6a9aa66d91
fix: [NavigationManager]: Cmd+Click on multiple applications opens each application in the same browser tab (#156)
Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>
2021-10-01 14:23:50 -07:00
Oleksandr Saulyak 3e310dff72
fix: Application details view performance issue #7262 (#155)
* [components/Tabs]: fixed endless rerendering componentDidUpdate->refreshIndicatorPosition->setState, added comparing of 'indicatorPosition' to prevent rerendering

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>

* code formatting

Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@codefresh.io>
2021-10-01 14:23:03 -07:00
Andrii Shaforostov 960bef38eb
feat: GitHub workflows and linter for new project structure (#154)
feat: GitHub workflows and linter for new project structure (#154)

Signed-off-by: andrii-codefresh <andrii@codefresh.io>
2021-09-29 09:20:44 -07:00
Andrii Shaforostov c25c690af7
feat: merge v1 and v2 (#153)
feat: merge v1 and v2 (#153)

Signed-off-by: andrii-codefresh <andrii@codefresh.io>
2021-09-28 13:52:29 -07:00
Jef LeCompte 9f563cabb5
docs: fix image (#99)
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2021-09-07 14:09:41 -07:00
Alex Collins 640ede9531
fix: upgrade high-sev dependencies (#141)
Signed-off-by: Alex Collins <alex_collins@intuit.com>
2021-09-07 12:12:13 -07:00
Alex Collins fca9ee337f
build: build v1 on Github Actions (#139)
Signed-off-by: Alex Collins <alex_collins@intuit.com>
2021-09-07 10:06:26 -07:00
Alex Collins f73a323f7e
ci: Create stale.yml (#140) 2021-09-07 09:24:42 -07:00
Remington Breeze d707cacad1
Revert localstorage check (#138)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-09-01 15:14:06 -07:00
Remington Breeze bdc418c7b4
fix: Fail gracefully when window and / or localstorage are undefined (#137)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-09-01 13:10:13 -07:00
Yi Cai 270fe1a236
fix: add suspended color for pie chart improvement (#135)
Signed-off-by: ciiay <yicai@redhat.com>
2021-08-26 14:10:32 -07:00
Remington Breeze fc988c449a
chore: Move date helper functions from Argo Workflows to Argo UI (#134)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-23 08:39:13 -07:00
Remington Breeze ff0ebf7b41
fix: Info item row crashes when item is undefined (#132)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-23 08:32:01 -07:00
Alexander Matyushentsev a7be8b3208
fix: autocomplete should expand into right direction (#131)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

Co-authored-by: Remington Breeze <remington@breeze.software>
2021-08-17 11:45:06 -07:00
Remington Breeze f931a5add0
fix: Autocomplete keyboard shortcuts did not work (#129)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-17 08:46:37 -07:00
Remington Breeze f4bf34dad0
chore: Remove checkbox row (#128)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-13 16:26:07 -07:00
Remington Breeze a2152a3770
fix: Add option to give target to keybinding to avoid multiple actions at the same time (#124)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-13 13:47:52 -07:00
Remington Breeze 1743b4246c
fix: Adjust spacing of multiple info items in an info item row (#115)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-13 10:41:16 -07:00
Alexander Matyushentsev e81faeb971
fix: autocomplete items should be hidden using display: none (#123)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-08-10 15:44:14 -07:00
Alexander Matyushentsev 9ebea339e3
fix: autocomplete shuold be possible to use inside 'small' scrollable components (#122)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-08-10 13:47:28 -07:00
Remington Breeze be4673f138
fix: Insource react-keyhooks package (#120)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-10 11:08:00 -07:00
Remington Breeze 672a3a329e
fix: Hide autocomplete suggestions on Enter but show on typing (#119)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-08-02 15:30:10 -07:00
Remington Breeze e72b3655ab
fix: Autocomplete enhancements (#118)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-07-28 13:10:44 -07:00
Remington Breeze 847bb52d8b
fix: prevent crash when autocomplete is fed array of nulls (#117)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-07-19 10:37:44 -07:00
Remington Breeze b6f721070f
Fix: prevent crash when Checkbox onChange is null (#116)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-07-16 10:54:26 -07:00
Remington Breeze 74cc589ed1
fix: Change direction of autocomplete dropdown if there is no room for it (#113)
Signed-off-by: Remington Breeze <remington@breeze.software>
2021-07-02 15:15:49 -07:00
Alexander Matyushentsev d5e374b6a9
refactor: remove unused v2 components (#112)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-02 13:34:55 -07:00
121 changed files with 6742 additions and 20359 deletions

View File

@ -1,29 +0,0 @@
version: 2
jobs:
build:
docker:
- image: node:12.18.4
steps:
- checkout
- restore_cache:
keys:
- yarn-packages-v4-{{ checksum "yarn.lock" }}
- run: yarn install --frozen-lockfile --ignore-optional --non-interactive
- save_cache:
key: yarn-packages-v4-{{ checksum "yarn.lock" }}
paths: [~/.cache/yarn, node_modules]
- run: yarn build
- run: yarn lint
- run: yarn tsc -p src/tsconfig.json
- run:
name: Install JUnit coverage reporter
command: yarn add --dev jest-junit
- run:
name: Run tests with JUnit as reporter
command: yarn test --ci --runInBand --reporters=default --reporters=jest-junit
environment:
JEST_JUNIT_OUTPUT_DIR: ./reports/junit/
- store_test_results:
path: ./reports/junit/
- store_artifacts:
path: ./reports/junit

View File

@ -1,3 +0,0 @@
node_modules
.git
Dockerfile

31
.eslintrc.json Normal file
View File

@ -0,0 +1,31 @@
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "react"],
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-non-null-assertion": "off"
},
"overrides": [
{
"files": "./stories/*.tsx",
"rules": {
"react/display-name": "off",
"@typescript-eslint/no-unused-vars": "off"
}
}
],
"settings": {
"react": {
"version": "detect"
}
}
}

30
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,30 @@
version: 2
updates:
# prod dependencies
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
day: "saturday"
# ignore all non-security updates: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#open-pull-requests-limit
open-pull-requests-limit: 0
labels:
- type/dependencies
- javascript
commit-message:
prefix: chore(deps)
prefix-development: chore(deps-dev)
# build / CI dependencies
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "saturday"
# ignore all non-security updates: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#open-pull-requests-limit
open-pull-requests-limit: 0
labels:
- type/dependencies
- github_actions
commit-message:
prefix: chore(deps)

View File

@ -1,4 +1,4 @@
name: Build Storybook Docs
name: Build Storybook Docs v2
on:
push:
@ -7,9 +7,9 @@ jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 12
- run: yarn --cwd v2 install
- run: yarn --cwd v2 build-storybook-docs
node-version-file: ".nvmrc"
- run: yarn install
- run: yarn build-v2

22
.github/workflows/build-v1.yml vendored Normal file
View File

@ -0,0 +1,22 @@
name: Build v1
on:
push:
pull_request:
branches:
- "master"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- run: yarn install
- run: yarn deduplicate
- run: yarn build
- run: yarn lint
- run: yarn tsc -p tsconfig.json
- run: yarn test --ci --runInBand

View File

@ -0,0 +1,28 @@
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions
name: Approve and enable auto-merge for dependabot
on: pull_request
permissions:
pull-requests: write
contents: write
jobs:
review:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1.6.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve PR
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

18
.github/workflows/npm-publish-v1.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Release NPM package v1
on:
push:
tags:
- v1.*
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

View File

@ -1,4 +1,4 @@
name: Release NPM package
name: Release NPM package v2
on:
workflow_dispatch:
@ -11,12 +11,12 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag }}
- uses: actions/setup-node@v1
- uses: actions/setup-node@v4
with:
node-version: 12
node-version-file: ".nvmrc"
- run: cd v2 && npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

41
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,41 @@
# https://github.com/actions/stale
name: Mark stale issues and pull requests
on:
schedule:
- cron: '0 2 * * *' # once a day at 2am
permissions:
contents: read
jobs:
stale:
permissions:
issues: write # for commenting on an issue and editing labels
pull-requests: write # for commenting on a PR and editing labels
runs-on: ubuntu-latest
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# timing
days-before-stale: 14 # 2 weeks of inactivity
days-before-close: 14 # 2 more weeks of inactivity
# labels to watch for, add, and remove
only-labels: 'problem/more information needed' # only mark issues/PRs as stale if they have this label
labels-to-remove-when-unstale: 'problem/more information needed' # remove label when unstale -- should be manually added back if information is insufficient
stale-issue-label: 'problem/stale'
stale-pr-label: 'problem/stale'
# automated messages to issue/PR authors
stale-issue-message: >
This issue has been automatically marked as stale because it has not had recent activity and needs more information.
It will be closed if no further activity occurs.
stale-pr-message: >
This PR has been automatically marked as stale because it has not had recent activity and needs further changes.
It will be closed if no further activity occurs.
close-issue-message: >
This issue has been closed due to inactivity and lack of information.
If you still encounter this issue, please add the requested information and re-open.
close-pr-message:
This PR has been closed due to inactivity and lack of changes.
If you would like to still work on this PR, please address the review comments and re-open.

2
.gitignore vendored
View File

@ -2,6 +2,8 @@ node_modules
dist
bundle
.vscode
.idea
*.log
coverage/
.DS_STORE
docs/

View File

@ -1,3 +0,0 @@
{
"esversion": 6
}

2
.nvmrc
View File

@ -1 +1 @@
v12.18.4
v20

View File

@ -1,9 +0,0 @@
import { configure } from '@storybook/react';
// automatically import all files ending in *.stories.js
const req = require.context('../stories', true, /.stories.tsx$/);
function loadStories() {
req.keys().forEach((filename) => req(filename));
}
configure(loadStories, module);

21
.storybook/main.js Normal file
View File

@ -0,0 +1,21 @@
const path = require('path');
module.exports = {
stories: ['../stories/*.stories.tsx'],
addons: ['@storybook/addon-essentials'],
typescript: {
check: false, // typecheck separately
reactDocgen: false, // substantially improves performance: https://github.com/storybookjs/storybook/issues/22164#issuecomment-1603627308
},
webpackFinal: async (config, {configType}) => {
config.devtool = false; // perf per: https://github.com/storybookjs/storybook/issues/19736#issuecomment-1478103817
config.module.rules.push({
test: /\.scss$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../'),
sideEffects: true, // get side-effect styles to load per: https://github.com/storybookjs/storybook/issues/4690#issuecomment-435909433
loader: 'style-loader!raw-loader!sass-loader'
});
return config;
},
};

1
.storybook/preview.js Normal file
View File

@ -0,0 +1 @@
// import '../src/styles/main.scss'; -- this seems to not work and also makes the Storybook freeze for multiple minutes 😕

View File

@ -1,26 +0,0 @@
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = ({config}) => {
config.module.rules = [{
test: /\.(ts|tsx)$/,
loader: `ts-loader?configFile=${path.resolve('./stories/tsconfig.json')}`
}, {
test: /\.scss$/,
exclude: /node_modules/,
loader: 'style-loader!raw-loader!sass-loader'
}, {
test: /\.css$/,
loader: 'style-loader!raw-loader'
}];
config.resolve = {
extensions: ['.ts', '.tsx', '.js', '.json']
};
config.plugins.push(new CopyWebpackPlugin([{
from: 'src/assets', to: 'assets'
}, {
from: 'node_modules/@fortawesome/fontawesome-free/webfonts', to: 'assets/fonts'
}]));
return config;
};

View File

@ -1,6 +0,0 @@
Use the storybook to test components:
~~~
yarn storybook
~~~

View File

@ -1,11 +1,35 @@
# Argo UI Components
![Argo Image](https://github.com/argoproj/argo/blob/master/argo.png?raw=true)
<img src="https://github.com/argoproj/argo-ui/blob/master/src/assets/images/logo.png?raw=true" alt="Argo Image" height="200px">
Set of React components used by https://github.com/argoproj/argo and https://github.com/argoproj/argo-cd
Set of React components used by [Argo Workflows](https://github.com/argoproj/argo-workflows), [Argo CD](https://github.com/argoproj/argo-cd), and [Argo Rollouts](https://github.com/argoproj/argo-rollouts).
## Build & Run
1. Install Toolset: [NodeJS](https://nodejs.org/en/download/) and [Yarn](https://yarnpkg.com)
2. Install Dependencies: From your command line, navigate to the argo-ui directory and run `yarn install` to install dependencies.
3. Run: `yarn start` - starts https://storybook.js.org/ dev server
1. Install Toolset: [NodeJS](https://nodejs.org/en/download/) and [Yarn v1](https://classic.yarnpkg.com/en/docs)
1. Install Dependencies: run `yarn install`
1. Run: `yarn start` - starts the [Storybook v6](https://storybook.js.org/docs/6.5/get-started/install) dev server
## Local Development
To test your changes locally against Argo CD or another Argo project, we recommend using [`yalc`](https://github.com/wclr/yalc).
First, install `yalc`:
```sh
npm i -g yalc
```
Next, in your local `argo-ui` directory, run
```sh
yalc publish
```
Finally, in your local `argo-cd/ui` directory, run
```sh
yalc add argo-ui
```
Your local changes to the `argo-ui` package will now be seen by your local `argo-cd`.

View File

@ -11,7 +11,7 @@ module.exports = {
setupFilesAfterEnv: ['<rootDir>src/setupTests.ts'],
globals: {
'ts-jest': {
tsconfig: '<rootDir>/src/tsconfig.json'
tsconfig: '<rootDir>/tsconfig.json'
}
}
};

View File

@ -3,98 +3,96 @@
"version": "1.0.0",
"main": "./src/index.ts",
"types": "./src/index.ts",
"license": "MIT",
"license": "Apache-2.0",
"files": [
"src"
"src",
"v2"
],
"scripts": {
"build": "build-storybook -o ./dist/storybook",
"lint": "tslint -p ./src",
"lint": "eslint --ext .tsx .",
"deduplicate": "yarn-deduplicate -s fewer yarn.lock",
"test": "jest",
"utils:icons": "rm -f src/assets/fonts/* && node ./scripts/icons/generator.js",
"start": "start-storybook -p 6006"
"start": "NODE_OPTIONS='--openssl-legacy-provider' start-storybook -p 6006",
"build": "NODE_OPTIONS='--openssl-legacy-provider' build-storybook -o ./dist/storybook",
"start-v2": "NODE_OPTIONS='--openssl-legacy-provider' start-storybook -c ./v2/.storybook -s ./v2/.storybook/images -p 6006",
"build-v2": "NODE_OPTIONS='--openssl-legacy-provider' build-storybook -o ./dist/storybook-v2 -c ./v2/.storybook"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.8.1",
"@tippy.js/react": "^2.1.2",
"@types/react-autocomplete": "^1.8.5",
"@types/react-form": "^2.16.1",
"@types/react-helmet": "^6.1.0",
"classnames": "^2.2.5",
"@fortawesome/fontawesome-free": "^6.2.1",
"@tippy.js/react": "^3.1.1",
"classnames": "^2.2.6",
"core-js": "^3.32.1",
"foundation-sites": "^6.4.3",
"history": "^4.7.2",
"moment": "^2.20.1",
"prop-types": "^15.6.0",
"react-autocomplete": "^1.8.1",
"history": "^4.10.1",
"prop-types": "^15.8.1",
"react-autocomplete": "1.8.1",
"react-form": "^2.16.0",
"react-helmet": "^6.1.0",
"react-router-dom": "^4.2.2",
"react-toastify": "^5.0.1",
"rxjs": "^6.6.6",
"typescript": "^4.0.3",
"xterm": "2.4.0"
"react-toastify": "9.0.3",
"rxjs": "^7.8.1",
"typescript": "^4.9.5",
"uuid": "^9.0.0",
"xterm": "^4.19.0",
"xterm-addon-fit": "^0.5.0"
},
"peerDependencies": {
"@types/react": "^16.8.5",
"react": "^16.9.3",
"react-dom": "^16.9.3"
},
"devDependencies": {
"@babel/core": "^7.11.6",
"@dump247/storybook-state": "^1.5.0",
"@storybook/addon-actions": "^6.0.22",
"@storybook/addon-links": "^6.0.22",
"@storybook/addons": "^6.0.22",
"@storybook/react": "^6.0.22",
"@types/chai": "^4.1.2",
"@types/classnames": "^2.2.3",
"@babel/core": "^7.21.3",
"@storybook/addon-actions": "6.5.0-beta.1",
"@storybook/addon-controls": "6.5.0-beta.1",
"@storybook/addon-essentials": "6.5.0-beta.1",
"@storybook/addon-links": "6.5.0-beta.1",
"@storybook/addons": "6.5.0-beta.1",
"@storybook/react": "6.5.0-beta.1",
"@types/classnames": "^2.3.1",
"@types/deep-equal": "^1.0.1",
"@types/enzyme": "^3.10.8",
"@types/enzyme": "^3.10.12",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/history": "^4.7.8",
"@types/prop-types": "^15.5.2",
"@types/react": "^16.9.3",
"@types/jest": "^26.0.15",
"@types/node": "^18.15.3",
"@types/prop-types": "^15.7.5",
"@types/react": "^16.8.5",
"@types/react-autocomplete": "^1.8.4",
"@types/react-dom": "^16.9.3",
"@types/react-router-dom": "^4.2.3",
"@types/react-test-renderer": "^16.9.3",
"@types/storybook__addon-actions": "^3.0.2",
"@types/storybook__addon-links": "^3.3.0",
"@types/storybook__react": "^3.0.7",
"@types/yamljs": "^0.2.30",
"chai": "^4.1.2",
"@types/react-form": "^2.16.1",
"@types/react-helmet": "^6.1.6",
"@types/react-router-dom": "^4.2.2",
"@types/uuid": "^9.0.3",
"@typescript-eslint/eslint-plugin": "^5.36.1",
"@typescript-eslint/parser": "^5.36.1",
"babel-loader": "^8.2.5",
"copy-webpack-plugin": "^4.3.1",
"copyfiles": "^1.2.0",
"css-loader": "^3.6.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"enzyme-to-json": "^3.6.1",
"foreman": "^3.0.1",
"glob": "^7.1.2",
"html-webpack-plugin": "^3.2.0",
"enzyme-adapter-react-16": "^1.15.7",
"enzyme-to-json": "^3.6.2",
"eslint": "^8.23.0",
"eslint-plugin-react": "^7.31.1",
"glob": "^8.0.3",
"identity-obj-proxy": "^3.0.0",
"jest": "^26.6.2",
"jscs": "^3.0.7",
"node-sass": "^4.12.0",
"nodemon": "^1.14.11",
"raw-loader": "^0.5.1",
"jest": "^26.6.3",
"raw-loader": "^4.0.2",
"react": "^16.9.3",
"react-dom": "^16.9.3",
"react-hot-loader": "^3.1.3",
"react-test-renderer": "^16.9.3",
"sass-loader": "^6.0.6",
"source-map-loader": "^0.2.3",
"style-loader": "^0.20.1",
"ts-jest": "^26.4.3",
"ts-loader": "^8.0.4",
"ts-node": "^4.1.0",
"tslint": "^5.9.1",
"tslint-react": "^3.4.0",
"sass": "^1.55.0",
"sass-loader": "^v10.1.0",
"storybook": "6.5.0-beta.1",
"style-loader": "^2.0.0",
"ts-jest": "^26.5.6",
"ts-node": "^10.9.1",
"webfonts-generator": "^0.4.0",
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"
"webpack": "^4.46.0",
"yarn-deduplicate": "^6.0.2"
},
"resolutions": {
"@types/react": "16.9.3",
"@types/node": "14.11.2",
"@types/history": "4.7.8"
"@types/react": "^16.8.5",
"@types/node": "14.11.2"
}
}

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import * as ReactForm from 'react-form';
@ -18,7 +18,7 @@ export const AutocompleteField = ReactForm.FormField((props: AutocompleteProps &
}}
inputProps={{
className: props.className,
style: {borderBottom: 'none'},
style: {borderBottom: 'none', position: 'unset'},
}}
value={value}
renderInput={(inputProps) => (

View File

@ -0,0 +1,7 @@
.autocomplete {
&__items__item {
&:last-child {
border-bottom: none;
}
}
}

View File

@ -1,7 +1,9 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import {CSSProperties, ReactNode} from 'react';
import * as React from 'react';
import * as ReactAutocomplete from 'react-autocomplete';
import ReactAutocomplete from 'react-autocomplete';
require('./autocomplete.scss');
export interface AutocompleteApi {
refresh(): any;
}
@ -23,6 +25,8 @@ export interface AutocompleteProps {
autoCompleteRef?: (api: AutocompleteApi) => any;
filterSuggestions?: boolean;
qeid?: string;
/** @default true */ // per https://github.com/reactjs/react-autocomplete/blob/41388f7d7760bf6cf38e7946e43d4fddd9c7c176/lib/Autocomplete.js#L188
autoHighlight?: ReactAutocomplete.Props['autoHighlight'];
}
export const Autocomplete = (props: AutocompleteProps) => {
@ -55,7 +59,7 @@ export const Autocomplete = (props: AutocompleteProps) => {
wrapperProps.className = classNames('select', wrapperProps.className);
return (
<ReactAutocomplete
autoHighlight={true}
autoHighlight={props.autoHighlight}
ref={(el: any) => {
if (el) {
if (el.refs.input) {
@ -105,16 +109,16 @@ export const Autocomplete = (props: AutocompleteProps) => {
shouldItemRender={(item: AutocompleteOption, val: string) => {
return !props.filterSuggestions || item.label.toLowerCase().includes(val.toLowerCase());
}}
renderMenu={function(menuItems, _, style) {
renderMenu={function(menuItems: ReactNode[], _: string, style: CSSProperties) {
if (menuItems.length === 0) {
return <div style={{display: 'none'}} />;
}
return <div style={{...style, ...this.menuStyle, background: 'white', zIndex: 10, maxHeight: '20em'}} children={menuItems} />;
return <div style={{...style, ...this.menuStyle, background: 'white', zIndex: 20, maxHeight: '20em'}}>{menuItems}</div>;
}}
getItemValue={(item) => item.label}
getItemValue={(item: any) => item.label}
items={items}
value={props.value}
renderItem={(item, isSelected) => (
renderItem={(item: any, isSelected: boolean) => (
<div className={classNames('select__option', {selected: isSelected})} key={item.label}>
{(props.renderItem && props.renderItem(item)) || item.label}
</div>

View File

@ -31,7 +31,7 @@ interface LoaderState<TInput, TResult> {
inputChanged: boolean;
}
export class DataLoader<D = {}, I = undefined> extends React.Component<LoaderProps<I, D> | LoaderPropsNoInput<D>, LoaderState<I, D>> {
export class DataLoader<D = any, I = undefined> extends React.Component<LoaderProps<I, D> | LoaderPropsNoInput<D>, LoaderState<I, D>> {
public static contextTypes = {
router: PropTypes.object,
apis: PropTypes.object,

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { BehaviorSubject, fromEvent, merge, Subscription } from 'rxjs';
@ -9,6 +9,7 @@ export interface DropDownProps {
anchor: React.ComponentType;
children: React.ReactNode | (() => React.ReactNode);
qeId?: string;
onOpenStateChange?: (open: boolean) => void;
}
export interface DropDownState {
@ -58,11 +59,12 @@ export class DropDown extends React.Component<DropDownProps, DropDownState> {
);
}
public componentWillMount() {
public UNSAFE_componentWillMount() {
this.subscriptions = [merge(
dropDownOpened.pipe(filter((dropdown) => dropdown !== this)),
fromEvent(document, 'click').pipe(filter((event: Event) => {
return this.content && this.state.opened && !this.content.contains(event.target as Node) && !this.el.contains(event.target as Node);
const targetAttached = (event.target as Node).parentElement;
return targetAttached && this.content && this.state.opened && !this.content.contains(event.target as Node) && !this.el.contains(event.target as Node);
})),
).subscribe(() => {
this.close();
@ -80,6 +82,9 @@ export class DropDown extends React.Component<DropDownProps, DropDownState> {
public close() {
this.setState({ opened: false });
if (this.props.onOpenStateChange) {
this.props.onOpenStateChange(false);
}
}
private refreshState() {
@ -112,6 +117,8 @@ export class DropDown extends React.Component<DropDownProps, DropDownState> {
const newState = this.refreshState();
newState.opened = true;
this.setState(newState);
dropDownOpened.next(this);
if (this.props.onOpenStateChange) {
this.props.onOpenStateChange(true);
}
}
}

View File

@ -1,20 +1,12 @@
import * as moment from 'moment';
import * as React from 'react';
export const Duration = (props: {durationMs: number, allowNewLines?: boolean}) => {
const momentTimeStart = moment.utc(0);
const momentTime = moment.utc(props.durationMs * 1000);
const duration = moment.duration(momentTime.diff(momentTimeStart));
let formattedTime = '';
import { formatDuration } from '../../v2';
if (momentTime.diff(momentTimeStart, 'hours') === 0) {
formattedTime = ('0' + duration.minutes()).slice(-2) + ':' + ('0' + duration.seconds()).slice(-2) + ' min';
} else {
if (momentTime.diff(momentTimeStart, 'days') > 0) {
formattedTime += momentTime.diff(momentTimeStart, 'days') + ' days' + (props.allowNewLines ? '<br>' : ' ');
/**
* Output a string duration from a number of seconds
*
* @param {number} props.durationS - The number of seconds.
*/
export function Duration(props: {durationS: number}) {
return <span>{formatDuration(props.durationS, 2)}</span>;
}
formattedTime += ('0' + duration.hours()).slice(-2) + ':' + ('0' + duration.minutes()).slice(-2) + ' hours';
}
return <span dangerouslySetInnerHTML={{__html: formattedTime}}/>;
};

View File

@ -1,10 +1,10 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import * as ReactForm from 'react-form';
import { Select as ArgoSelect, SelectOption, SelectProps } from '../select/select';
const uuid = require('uuid/v1');
import { v1 as uuid } from 'uuid';
require('./form-field.scss');

View File

@ -2,13 +2,13 @@ require('../styles/main.scss');
export { Utils } from './utils';
export { Layout } from './layout/layout';
export { Page, PageContext, PageContextProps } from './page/page';
export { Page, PageContext, type PageContextProps } from './page/page';
export { MockupList } from './mockup-list/mockup-list';
export { DropDown } from './dropdown/dropdown';
export { DropDownMenu, DropDownMenuProps, MenuItem } from './dropdown-menu';
export { DropDownMenu, type DropDownMenuProps, type MenuItem } from './dropdown-menu';
export { Checkbox } from './checkbox';
export { TopBarProps, Toolbar, TopBarFilter } from './top-bar/top-bar';
export { Tab, Tabs } from './tabs/tabs';
export { type TopBarProps, type Toolbar, type TopBarFilter } from './top-bar/top-bar';
export { type Tab, Tabs } from './tabs/tabs';
export { Duration } from './duration';
export { SlidingPanel } from './sliding-panel/sliding-panel';
export { LogsViewer } from './logs-viewer/logs-viewer';
@ -16,7 +16,7 @@ export * from './notifications/notifications';
export * from './notifications/notification-manager';
export * from './popup/popup';
export * from './popup/popup-manager';
export { Select, SelectOption, SelectProps } from './select/select';
export { Select, type SelectOption, type SelectProps } from './select/select';
export { HelpIcon } from './help-icon/help-icon';
export { Tooltip } from './tooltip/tooltip';
export * from './ticker';

View File

@ -1,9 +1,15 @@
@import '../../styles/config';
@import '../../styles/theme';
.layout {
overflow: hidden;
@include themify($themes) {
background-color: themed('background-1');
}
&__loader {
background-color: rgba($argo-color-gray-7, 0.4);
@include themify($themes) {
background-color: themed('layout-loader-bg');
}
position: fixed;
left: 0;
top: 0;

View File

@ -1,17 +1,21 @@
import * as React from 'react';
import { NavBar } from '../nav-bar/nav-bar';
import {NavBar, NavBarStyle} from '../nav-bar/nav-bar';
require('./layout.scss');
export interface LayoutProps {
navItems: Array<{ path: string; iconClassName: string; title: string; }>;
version?: () => React.ReactElement;
navBarStyle?: NavBarStyle;
theme?: string;
children?: React.ReactNode;
}
export const Layout = (props: LayoutProps) => (
<div className={props.theme ? 'theme-' + props.theme : 'theme-light'}>
<div className='layout'>
<NavBar items={props.navItems} version={props.version}/>
<NavBar items={props.navItems} version={props.version} style={props.navBarStyle} />
{props.children}
</div>
</div>
);

View File

@ -1,5 +1,5 @@
@import '../../styles/config';
@import 'node_modules/xterm/dist/xterm';
@import 'node_modules/xterm/css/xterm';
.logs-viewer {
font: normal 13px/1.2 'Courier', sans-serif;
@ -11,16 +11,3 @@
height: 100%;
}
}
.xterm-theme-ax {
background-color: transparent;
color: $argo-color-gray-7;
.xterm-viewport {
background-color: transparent;
}
.terminal-cursor {
background-color: transparent !important;
}
}

View File

@ -1,8 +1,7 @@
import * as React from 'react';
import { Observable, Subscription } from 'rxjs';
const Terminal = require('xterm');
Terminal.loadAddon('fit');
import { Terminal } from 'xterm';
import { FitAddon } from 'xterm-addon-fit';
require('./logs-viewer.scss');
@ -17,27 +16,43 @@ export interface LogsViewerProps {
}
export class LogsViewer extends React.Component<LogsViewerProps> {
private terminal: any;
private terminal: Terminal;
private fitAddon: FitAddon;
private subscription: Subscription | null = null;
constructor(props: LogsViewerProps) {
super(props);
}
public componentWillReceiveProps(nextProps: LogsViewerProps) {
public UNSAFE_componentWillReceiveProps(nextProps: LogsViewerProps) {
if (this.props.source.key !== nextProps.source.key) {
this.refresh(nextProps.source);
}
}
public initTerminal(container: HTMLElement) {
this.fitAddon = new FitAddon();
this.terminal = new Terminal({
scrollback: 99999,
theme: 'ax',
allowTransparency: true,
theme: {
background: 'transparent',
foreground: '#495763',
},
});
this.terminal.loadAddon(this.fitAddon);
this.terminal.open(container);
this.terminal.fit();
this.fitAddon.fit();
// handle Ctrl+C for copying logs
this.terminal.attachCustomKeyEventHandler((ev) => {
if (ev.ctrlKey && ev.code === "KeyC" && ev.type === "keydown") {
const selection = this.terminal.getSelection();
if (!selection) return true;
navigator.clipboard?.writeText(selection);
return false
}
});
}
public componentDidMount() {
@ -56,12 +71,14 @@ export class LogsViewer extends React.Component<LogsViewerProps> {
);
}
public shouldComponentUpdate(prevProps: LogsViewerProps) {
public shouldComponentUpdate() {
return false;
}
private refresh(source: LogsSource) {
if (this.terminal) {
this.terminal.reset();
}
this.ensureUnsubscribed();
const onLoadComplete = () => {
if (source.shouldRepeat()) {

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as PropTypes from 'prop-types';
import * as React from 'react';
@ -10,6 +10,11 @@ require('./nav-bar.scss');
export interface NavBarProps {
items: Array<{ path: string; iconClassName: string; title: string; }>;
version?: () => React.ReactElement;
style?: NavBarStyle;
}
export interface NavBarStyle {
backgroundColor?: string;
}
export function isActiveRoute(locationPath: string, path: string) {
@ -18,10 +23,13 @@ export function isActiveRoute(locationPath: string, path: string) {
export const NavBar: React.FunctionComponent<NavBarProps> = (props: NavBarProps, context: AppContext) => {
const locationPath = context.router.route.location.pathname;
const navBarStyle = {
...(props.style?.backgroundColor && {background: `linear-gradient(to bottom, ${props.style?.backgroundColor}, #999`}),
};
return (
<div className={classNames('nav-bar', {
'nav-bar--compact': (props.items || []).length >= 10,
})}>
})} style={navBarStyle}>
<div className='nav-bar__logo'>
<img src='assets/images/logo.png' alt='Argo'/>
<div className='nav-bar__version'>{props.version && props.version()}</div>

View File

@ -37,9 +37,7 @@ export class NavigationManager implements NavigationApi {
path = `${path}?${urlQuery}`;
}
options = options || {};
if (options.event && options.event.metaKey) {
window.open(path, '__target');
} else if (options.event && options.event.ctrlKey) {
if (options.event && (options.event.metaKey || options.event.ctrlKey || options.event.button === 1)) {
window.open(path, '_blank');
} else {
if (options.replace) {

View File

@ -47,6 +47,10 @@ export class Notifications extends React.Component<NotificationsProps> {
sel.removeAllRanges();
sel.addRange(range);
}
}} style={{
// fit long words by wrapping them instead of overflowing past the width
overflowWrap: 'break-word',
maxWidth: '240px'
}}>
{next.content}
</div>

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import { Helmet } from 'react-helmet';
import { Observable } from 'rxjs';
@ -12,6 +12,8 @@ require('./page.scss');
interface PageProps extends React.Props<any> {
title: string;
toolbar?: Toolbar | Observable<Toolbar>;
topBarTitle?: string;
useTitleOnly?: boolean;
}
export interface PageContextProps {
@ -32,7 +34,7 @@ export const Page = (props: PageProps) => {
<PageContext.Consumer>
{(ctx) => {
let titleParts = [ctx.title];
if (toolbar && toolbar.breadcrumbs && toolbar.breadcrumbs.length > 0) {
if (!props.useTitleOnly && toolbar && toolbar.breadcrumbs && toolbar.breadcrumbs.length > 0) {
titleParts = [toolbar.breadcrumbs.map((item) => item.title).reverse().join(' / ')].concat(titleParts);
} else if (props.title) {
titleParts = [props.title].concat(titleParts);
@ -45,7 +47,7 @@ export const Page = (props: PageProps) => {
}}
</PageContext.Consumer>
<div className='page__top-bar'>
<TopBar title={props.title} toolbar={toolbar}/>
<TopBar title={props.topBarTitle ? props.topBarTitle : props.title} toolbar={toolbar}/>
</div>
</React.Fragment>
)}

View File

@ -14,7 +14,7 @@ export interface PopupApi {
},
customIcon?: {name: string, color: string},
titleColor?: string,
defaultValues?: {},
defaultValues?: FormValues,
): Promise<FormValues | null>;
}
@ -41,8 +41,8 @@ export class PopupManager implements PopupApi {
content,
footer: (
<div>
<button qe-id='argo-popup-ok-button' className='argo-button argo-button--base' onClick={() => closeAndResolve(true)}>OK</button> <button
qe-id='argo-popup-cancel-button' className='argo-button argo-button--base-o' onClick={() => closeAndResolve(false)}>Cancel</button>
<button qe-id='argo-popup-ok-button' className='argo-button argo-button--base' onClick={() => closeAndResolve(true)}>OK</button>
<button qe-id='argo-popup-cancel-button' className='argo-button argo-button--base-o' onClick={() => closeAndResolve(false)}>Cancel</button>
</div>
),
});
@ -58,7 +58,7 @@ export class PopupManager implements PopupApi {
},
customIcon?: { name: string, color: string },
titleColor?: string,
defaultValues?: {},
defaultValues?: FormValues,
): Promise<FormValues | null> {
return new Promise((resolve) => {
const closeAndResolve = (result: FormValues | null) => {
@ -98,8 +98,8 @@ export class PopupManager implements PopupApi {
),
footer: (
<div>
<button qe-id='prompt-popup-ok-button' className='argo-button argo-button--base' onClick={(e) => formApi.submitForm(e)}>OK</button> <button
qe-id='prompt-popup-cancel-button' className='argo-button argo-button--base-o' onClick={() => closeAndResolve(null)}>Cancel</button>
<button qe-id='prompt-popup-ok-button' className='argo-button argo-button--base' onClick={(e) => formApi.submitForm(e)}>OK</button>
<button qe-id='prompt-popup-cancel-button' className='argo-button argo-button--base-o' onClick={() => closeAndResolve(null)}>Cancel</button>
</div>
),
});

View File

@ -1,4 +1,5 @@
@import '../../styles/config';
@import '../../styles/theme';
$popup-border-radius: 8px;
@ -9,12 +10,17 @@ $popup-border-radius: 8px;
width: 100%;
height: 100%;
z-index: 200;
// Just in case the theme class is not added
background-color: rgba(222, 222, 222, 0.62); /*dim the background*/
border: 1px solid $argo-color-gray-4;
@include themify($themes) {
background-color: themed('overlay');
}
.popup-container {
position: relative;
box-shadow: 3px 3px 20px #888888;
@include themify($themes) {
box-shadow: 3px 3px 20px themed('shadow');
}
margin: 0 auto;
top: 50%;
transform: translateY(-50%);
@ -23,6 +29,7 @@ $popup-border-radius: 8px;
max-height: 600px;
z-index: 20;
border-radius: $popup-border-radius;
overflow: auto;
&__header {
line-height: 60px;
@ -41,12 +48,16 @@ $popup-border-radius: 8px;
float: right;
position: absolute;
right: 20px;
top: 20px;
top: 5px;
cursor: pointer;
}
&__normal {
// Just in case the theme class is not added
background-color: $argo-color-gray-2;
@include themify($themes) {
background-color: themed('light-argo-gray-2');
}
}
&__red {
@ -60,7 +71,11 @@ $popup-border-radius: 8px;
}
&__footer {
// Just in case the theme class is not added
background-color: $argo-color-gray-1;
@include themify($themes) {
background-color: themed('background-2');
}
bottom: 0;
padding-top: 20px;
padding-left: 30px;
@ -79,28 +94,41 @@ $popup-border-radius: 8px;
}
&__body {
// Just in case the theme class is not added
background-color: $argo-color-gray-1;
@include themify($themes) {
background-color: themed('background-2');
}
&__hasNoIcon {
padding-left: 30px;
}
h4, p {
h4, p, ul {
margin-right: 10px;
font-size: 15px;
word-wrap: break-word;
// Just in case the theme class is not added
color: $argo-color-gray-6;
@include themify($themes) {
color: themed('light-argo-gray-6');
}
}
h4 {
margin-top: 40px;
font-size: 15px;
font-weight: bold;
}
p {
font-size: 15px;
margin-top: 10px;
margin-bottom: 10px;
color: $argo-color-gray-6;
}
ul {
margin-top: 0px;
margin-bottom: 10px;
}
}

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
export interface BasePopupProps {

View File

@ -1,4 +1,5 @@
@import '../../styles/config';
@import '../../styles/theme';
.select {
position: relative;
@ -15,18 +16,22 @@
position: relative;
padding: 8px 20px 8px 0;
font-size: 15px;
border-bottom: 2px solid #ccc;
transition: border .2s;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@include themify($themes) {
border-bottom: 2px solid themed('border');;
}
}
&__value-arrow {
// right most, vertically centered
position: absolute;
top: 8px;
top: 50%;
right: 0;
transform: translateY(-50%);
}
&__options {

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import { fromEvent, Subscription } from 'rxjs';
import { filter } from 'rxjs/operators';

View File

@ -1,6 +1,7 @@
@import 'node_modules/foundation-sites/scss/util/util';
@import '../../styles/config';
@import '../../styles/theme';
$sliding-panel-header-height: 50px;
$sliding-panel-footer-height: 64px;
@ -50,7 +51,10 @@ $sliding-panel-middle-width: 600px;
right: 0;
bottom: 0;
width: 80%;
background-color: #fff;
@include themify($themes) {
background-color: themed('background-2');
color: themed('text-2');
}
transition: right .5s;
@include breakpoint(medium down) {
@ -97,13 +101,17 @@ $sliding-panel-middle-width: 600px;
padding: 0 30px;
line-height: $sliding-panel-header-height;
color: $argo-color-gray-5;
background-color: $argo-color-gray-2;
border-bottom: 1px solid #c6cfd1;
@include themify($themes) {
background-color: themed('light-argo-gray-2');
border-bottom: 1px solid themed('border');
}
font-weight: 500;
font-size: .925em;
.sliding-panel--off-canvas & {
background-color: $argo-color-gray-2;
@include themify($themes) {
background-color: themed('light-argo-gray-2');
}
}
strong {
@ -120,8 +128,9 @@ $sliding-panel-middle-width: 600px;
position: relative;
height: 100%;
overflow: auto;
background-color: $argo-color-gray-2;
@include themify($themes) {
background-color: themed('light-argo-gray-2');
}
.sliding-panel:not(.sliding-panel--no-padding) & {
padding: 30px;
}

View File

@ -1,5 +1,6 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import { Key, KeybindingContext, KeybindingProvider } from '../../../v2';
export interface SlidingPanelProps extends React.Props<any> {
isShown?: boolean;
@ -15,7 +16,43 @@ export interface SlidingPanelProps extends React.Props<any> {
require('./sliding-panel.scss');
export const SlidingPanel = (props: SlidingPanelProps) => (
export const SlidingPanel = (props: SlidingPanelProps) => {
return (
<KeybindingProvider>
<RenderSlidingPanel {...props} />
</KeybindingProvider>
);
};
const RenderSlidingPanel = (props: SlidingPanelProps) => {
const {useKeybinding} = React.useContext(KeybindingContext);
const closeButtonRef = React.useRef(null);
const bodyDivRef = React.useRef(null);
const panelHeaderDivRef = React.useRef(null);
const panelFooterDivRef = React.useRef(null);
React.useEffect(() => {
if (closeButtonRef && closeButtonRef.current) {
closeButtonRef.current.focus();
}
}, []);
useKeybinding({
keys: Key.ESCAPE,
action: () => {
if (props.isShown && props.onClose) {
props.onClose();
return true;
}
return false;
},
combo: false,
target: [closeButtonRef, bodyDivRef, panelHeaderDivRef, panelFooterDivRef],
});
return (
<div className={classNames('sliding-panel', {
'sliding-panel--has-header': !!props.header,
'sliding-panel--has-footer': !!props.footer,
@ -26,21 +63,24 @@ export const SlidingPanel = (props: SlidingPanelProps) => (
'sliding-panel--off-canvas': props.offCanvas,
})}>
<div className='sliding-panel__wrapper'>
<button className='sliding-panel__close' aria-hidden='true' onClick={() => props.onClose && props.onClose()}>
{props.isShown && (
<button autoFocus={true} className='sliding-panel__close' aria-hidden='true' onClick={() => props.onClose && props.onClose()} ref={closeButtonRef}>
<span>
<i className='argo-icon-close' aria-hidden='true'/>
</span>
</button>
)}
{props.header && (
<div className={classNames('sliding-panel__header', {'sliding-panel__header--close-btn-right-padding': props.hasCloseButton})}>
<div className={classNames('sliding-panel__header', {'sliding-panel__header--close-btn-right-padding': props.hasCloseButton})}
ref={panelHeaderDivRef} tabIndex={-1}>
{props.header}
</div>
)}
<div className='sliding-panel__body'>
<div className='sliding-panel__body' ref={bodyDivRef} tabIndex={-1}>
{props.children}
</div>
{props.footer && (
<div className='sliding-panel__footer'>
<div className='sliding-panel__footer' ref={panelFooterDivRef} tabIndex={-1}>
{props.footer}
</div>
)}
@ -48,3 +88,4 @@ export const SlidingPanel = (props: SlidingPanelProps) => (
<div className='sliding-panel__outside' onClick={() => props.onClose && props.onClose()}/>
</div>
);
};

View File

@ -1,4 +1,6 @@
@import '../../styles/config';
@import '../../styles/theme';
.tabs {
.fixed-width {
@ -11,7 +13,9 @@
position: relative;
z-index: 1;
padding: 15px 20px 0;
background-color: $white-color;
@include themify($themes) {
background-color: themed('background-2');
}
overflow: hidden;
list-style: none;
box-shadow: 0 1px 3px rgba(143,164,177,.3);
@ -24,7 +28,9 @@
display: inline-block;
margin: 0 16px;
padding: 12px 36px;
color: $argo-color-gray-6;
@include themify($themes) {
color: themed('light-argo-gray-6');
}
font-size: 13px;
font-weight: 500;
text-transform: uppercase;
@ -51,11 +57,17 @@
box-shadow: none;
border-bottom: 1px solid $argo-color-gray-4;
.theme-dark & {
border-color: $argo-color-gray-7;
}
a {
color: $argo-color-teal-5;
&.active {
color: $argo-color-gray-8;
@include themify($themes) {
color: themed('text-2');
}
}
}
}

View File

@ -1,6 +1,6 @@
import * as React from 'react';
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
export interface Tab {
title: string;
@ -114,7 +114,13 @@ export class Tabs extends React.Component<TabsProps, TabsState> {
const el = parentEl.querySelector<HTMLElement>('.active');
if (el) {
this.setState({ indicatorPosition: this.getIndicatorPosition(parentEl, el) });
const newIndicatorPosition = this.getIndicatorPosition(parentEl, el);
if (JSON.stringify(this.state.indicatorPosition) !== JSON.stringify(newIndicatorPosition)) {
this.setState({
indicatorPosition: this.getIndicatorPosition(parentEl, el),
});
}
}
}
}

View File

@ -1,14 +1,13 @@
import * as moment from 'moment';
import * as React from 'react';
import {interval, Subscription} from 'rxjs';
export class Ticker extends React.Component<{intervalMs?: number, disabled?: boolean, children?: ((time: moment.Moment) => React.ReactNode)}, {time: moment.Moment}> {
export class Ticker extends React.Component<{intervalMs?: number, disabled?: boolean, children?: ((time: Date) => React.ReactNode)}, {time: Date}> {
private subscription: Subscription | null = null;
constructor(props: {intervalMs?: number, children?: ((time: moment.Moment) => React.ReactNode)}) {
constructor(props: {intervalMs?: number, children?: ((time: Date) => React.ReactNode)}) {
super(props);
this.state = { time: moment() };
this.state = { time: new Date() };
this.ensureSubscribed();
}
@ -28,7 +27,7 @@ export class Ticker extends React.Component<{intervalMs?: number, disabled?: boo
if (this.props.disabled) {
this.ensureUnsubscribed();
} else if (!this.subscription) {
this.subscription = interval(this.props.intervalMs || 1000).subscribe(() => this.setState({ time: moment() }));
this.subscription = interval(this.props.intervalMs || 1000).subscribe(() => this.setState({ time: new Date() }));
}
}

View File

@ -1,4 +1,8 @@
import Tippy from '@tippy.js/react';
import Tippy, { TippyProps } from '@tippy.js/react';
import * as React from 'react';
import 'tippy.js/dist/tippy.css';
import 'tippy.js/themes/light.css';
export const Tooltip = ( props: any ) => <Tippy animation='fade' arrow='true' {...props} />;
export const Tooltip = ( props: TippyProps ) => (
<Tippy animation='fade' appendTo={document.body} theme='light' interactive={true} {...props} />
);

View File

@ -1,12 +1,19 @@
@import '../../styles/config';
@import 'node_modules/foundation-sites/scss/util/util';
@import '../../styles/theme';
.top-bar {
line-height: $top-bar-height;
background: $white-color;
@include themify($themes) {
background: themed('background-2');
}
transition: right .5s;
border-bottom: 1px solid $argo-color-gray-2;
.theme-dark & {
border-color: $argo-color-gray-7;
}
&__left-side {
padding-left: 20px;
white-space: nowrap;
@ -21,7 +28,9 @@
float: left;
font-weight: 500;
font-size: .925em;
color: $argo-color-teal-7;
@include themify($themes) {
color: themed('light-argo-teal-7');
}
text-transform: uppercase;
}
@ -52,7 +61,9 @@
height: $top-bar-height;
font-weight: 500;
font-size: .8em;
color: $argo-color-gray-8;
@include themify($themes) {
color: themed('text-2');
}
a {
display: inline-block;

View File

@ -1,4 +1,4 @@
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
import { Link } from 'react-router-dom';
@ -27,7 +27,7 @@ export interface ActionMenu {
export interface Toolbar {
filter?: TopBarFilter<any>;
breadcrumbs?: { title: string, path?: string; }[];
breadcrumbs?: { title: string | React.ReactNode, path?: string; }[];
tools?: React.ReactNode;
actionMenu?: ActionMenu;
}
@ -68,17 +68,17 @@ const renderFilter = (filter: TopBarFilter<any>) => (
</DropDown>
);
const renderBreadcrumbs = (breadcrumbs: { title: string, path?: string; }[]) => (
const renderBreadcrumbs = (breadcrumbs: { title: string | React.ReactNode, path?: string; }[]) => (
<div className='top-bar__breadcrumbs'>
{(breadcrumbs || []).map((breadcrumb, i) => {
const nodes = [];
if (i === breadcrumbs.length - 1) {
nodes.push(<span key={breadcrumb.title} className='top-bar__breadcrumbs-last-item'>{breadcrumb.title}</span>);
nodes.push(<span key={i} className='top-bar__breadcrumbs-last-item'>{breadcrumb.title}</span>);
} else {
nodes.push(<Link key={breadcrumb.title} to={breadcrumb.path}> {breadcrumb.title} </Link>);
nodes.push(<Link key={i} to={breadcrumb.path}> {breadcrumb.title} </Link>);
}
if (i < breadcrumbs.length - 1) {
nodes.push(<span key={`${breadcrumb.title}_sep`} className='top-bar__sep'/>);
nodes.push(<span key={`${i}_sep`} className='top-bar__sep'/>);
}
return nodes;
})}

View File

@ -5,45 +5,6 @@ export function isPromise<T>(obj: any): obj is PromiseLike<T> {
}
export const Utils = {
getScrollParent(el: HTMLElement): HTMLElement {
const regex = /(auto|scroll)/;
while (el.parentNode) {
el = el.parentNode as HTMLElement;
const overflow = getComputedStyle(el, null).getPropertyValue('overflow') +
getComputedStyle(el, null).getPropertyValue('overflow-y') +
getComputedStyle(el, null).getPropertyValue('overflow-x');
if (regex.test(overflow)) {
return el;
}
}
return document.body;
},
scrollTo(element: HTMLElement, to: number, duration = 1000) {
function easeInOutQuad(t: number, b: number, c: number, d: number) {
t /= d / 2;
if (t < 1) {
return c / 2 * t * t + b;
}
t--;
return -c / 2 * ( t * ( t - 2 ) - 1) + b;
}
const start = element.scrollTop;
const change = to - start;
let currentTime = 0;
const increment = 20;
const animateScroll = () => {
currentTime += increment;
element.scrollTop = easeInOutQuad(currentTime, start, change, duration);
if (currentTime < duration) {
setTimeout(animateScroll, increment);
}
};
animateScroll();
},
toObservable<T>(val: T | Observable<T> | Promise<T>): Observable<T> {
const observable = val as Observable<T>;
if (observable && observable.subscribe && observable.forEach) {

View File

@ -1,6 +1,8 @@
import * as H from 'history';
import { match } from 'react-router';
import { NotificationsApi, PopupApi } from './components';
import { NotificationsApi } from './components/notifications/notification-manager';
import { PopupApi } from './components/popup/popup-manager';
export interface AppContext {
router: {

View File

@ -1,4 +1,4 @@
import {configure } from 'enzyme';
import * as Adapter from 'enzyme-adapter-react-16';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });

View File

@ -14,10 +14,10 @@ $argo-icon-fonts-root: '/' !default;
@font-face {
font-family: "argo-icon";
src: url($argo-icon-fonts-root + "argo-icon.eot?af0f627a6b22b6f9f7b649206eee4263?#iefix") format("embedded-opentype"),
url($argo-icon-fonts-root + "argo-icon.woff?af0f627a6b22b6f9f7b649206eee4263") format("woff"),
url($argo-icon-fonts-root + "argo-icon.ttf?af0f627a6b22b6f9f7b649206eee4263") format("truetype"),
url($argo-icon-fonts-root + "argo-icon.svg?af0f627a6b22b6f9f7b649206eee4263#argo-icon") format("svg");
src: url($argo-icon-fonts-root + "argo-icon.eot?73a3124f147facf3e90960528bdfae73?#iefix") format("embedded-opentype"),
url($argo-icon-fonts-root + "argo-icon.woff?73a3124f147facf3e90960528bdfae73") format("woff"),
url($argo-icon-fonts-root + "argo-icon.ttf?73a3124f147facf3e90960528bdfae73") format("truetype"),
url($argo-icon-fonts-root + "argo-icon.svg?73a3124f147facf3e90960528bdfae73#argo-icon") format("svg");
}
i {
@ -300,114 +300,117 @@ i {
.argo-icon-notification:before {
content: "\f14f";
}
.argo-icon-pencil:before {
.argo-icon-oci:before {
content: "\f150";
}
.argo-icon-play-2:before {
.argo-icon-pencil:before {
content: "\f151";
}
.argo-icon-play:before {
.argo-icon-play-2:before {
content: "\f152";
}
.argo-icon-pod:before {
.argo-icon-play:before {
content: "\f153";
}
.argo-icon-policies:before {
.argo-icon-pod:before {
content: "\f154";
}
.argo-icon-policy:before {
.argo-icon-policies:before {
content: "\f155";
}
.argo-icon-profile:before {
.argo-icon-policy:before {
content: "\f156";
}
.argo-icon-push:before {
.argo-icon-profile:before {
content: "\f157";
}
.argo-icon-report-card:before {
.argo-icon-push:before {
content: "\f158";
}
.argo-icon-resubmit-failed:before {
.argo-icon-report-card:before {
content: "\f159";
}
.argo-icon-retry:before {
.argo-icon-resubmit-failed:before {
content: "\f15a";
}
.argo-icon-right-navigation-toolbar:before {
.argo-icon-retry:before {
content: "\f15b";
}
.argo-icon-safe:before {
.argo-icon-right-navigation-toolbar:before {
content: "\f15c";
}
.argo-icon-sales-channels:before {
.argo-icon-safe:before {
content: "\f15d";
}
.argo-icon-sample:before {
.argo-icon-sales-channels:before {
content: "\f15e";
}
.argo-icon-scale:before {
.argo-icon-sample:before {
content: "\f15f";
}
.argo-icon-search:before {
.argo-icon-scale:before {
content: "\f160";
}
.argo-icon-settings:before {
.argo-icon-search:before {
content: "\f161";
}
.argo-icon-slack-02:before {
.argo-icon-settings:before {
content: "\f162";
}
.argo-icon-stop-property:before {
.argo-icon-slack-02:before {
content: "\f163";
}
.argo-icon-stop:before {
.argo-icon-stop-property:before {
content: "\f164";
}
.argo-icon-storageclass:before {
.argo-icon-stop:before {
content: "\f165";
}
.argo-icon-storageprovider:before {
.argo-icon-storageclass:before {
content: "\f166";
}
.argo-icon-tag:before {
.argo-icon-storageprovider:before {
content: "\f167";
}
.argo-icon-template:before {
.argo-icon-tag:before {
content: "\f168";
}
.argo-icon-terminate:before {
.argo-icon-template:before {
content: "\f169";
}
.argo-icon-test:before {
.argo-icon-terminate:before {
content: "\f16a";
}
.argo-icon-timeline:before {
.argo-icon-test:before {
content: "\f16b";
}
.argo-icon-tools:before {
.argo-icon-timeline:before {
content: "\f16c";
}
.argo-icon-user-groups:before {
.argo-icon-tools:before {
content: "\f16d";
}
.argo-icon-user-profile:before {
.argo-icon-user-groups:before {
content: "\f16e";
}
.argo-icon-user:before {
.argo-icon-user-profile:before {
content: "\f16f";
}
.argo-icon-users:before {
.argo-icon-user:before {
content: "\f170";
}
.argo-icon-volume:before {
.argo-icon-users:before {
content: "\f171";
}
.argo-icon-warning:before {
.argo-icon-volume:before {
content: "\f172";
}
.argo-icon-workflow:before {
.argo-icon-warning:before {
content: "\f173";
}
.argo-icon-yaml:before {
.argo-icon-workflow:before {
content: "\f174";
}
.argo-icon-yaml:before {
content: "\f175";
}

View File

@ -30,7 +30,9 @@ $argo-color-teal-7: #006F8A;
$argo-color-teal-8: #004C67;
$white-color: #ffffff;
$dark-theme-background-1: #100f0f;
$dark-theme-background-2: #303237;
$dark-theme-sliding-panel: #28292a;
// Status colors
$argo-failed-color: #E96D76;
$argo-failed-color-dark: #c04b4f;
@ -50,6 +52,7 @@ $argo-color-yellow: #FFD100;
$argo-running-color-dark: #378398;
$argo-running-color-light: #02C4D3;
$argo-running-color: #0DADEA;
$argo-suspended-color: #766F94;
$argo-waiting-color-dark: $argo-color-gray-6;
$argo-waiting-color-light: $argo-color-gray-5;

View File

@ -236,8 +236,7 @@
&--special {
color: #fff;
background: linear-gradient(-58deg, #49505c 0%, #3f51b5 36%, #00c7d6 100%);
background: $argo-color-teal-7;
&:not(.disabled) {
&:hover {
color: #fff;

View File

@ -1,3 +1,5 @@
@import '../theme';
.argo-container {
position: relative;
width: $basePageWidth + 160;
@ -35,8 +37,10 @@
position: relative;
padding: 30px;
font-size: 0.8125rem;
color: $argo-color-gray-6;
background-color: #fff;
@include themify($themes) {
background-color: themed('background-2');
color: themed('light-argo-gray-6');
}
border-radius: 4px;
box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1);
@ -87,15 +91,19 @@
}
&-row {
color: $argo-color-gray-8;
@include themify($themes) {
color: themed('text-2');
}
.columns {
border-bottom: 1px solid $argo-color-gray-3;
padding: 0;
vertical-align: middle;
line-height: 50px;
overflow-wrap: break-word;
@include themify($themes) {
border-bottom: 1px solid themed('border');
}
&--narrower-height {
line-height: 20px;
padding: 14px 0;

View File

@ -1,4 +1,5 @@
@import '../config';
@import '../theme';
.argo-form-row {
position: relative;
@ -8,7 +9,9 @@
label {
font-size: .9em;
color: $argo-color-gray-6;
@include themify($themes) {
color: themed('light-argo-gray-6');
}
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
@ -69,8 +72,11 @@
padding: 8px 0;
font-size: 15px;
background-color: transparent;
@include themify($themes) {
color: themed('text-2');
border-bottom: 2px solid themed('border');;
}
border: 0;
border-bottom: 2px solid #ccc;
transition: border .2s;
.error & {

View File

@ -1,4 +1,5 @@
@import '../config';
@import '../theme';
.argo-table-list {
&__head {
@ -14,8 +15,10 @@
margin: 8px 0;
line-height: 60px;
font-size: .8125em;
color: $argo-color-gray-6;
background-color: #fff;
@include themify($themes) {
background: themed('background-2');
color: themed('text-1');
}
border-radius: 4px;
box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1);

View File

@ -1,43 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 620 645.6" style="enable-background:new 0 0 620 645.6;" xml:space="preserve">
<style type="text/css">
.st0{fill:#277A9F;}
.st1{fill:none;stroke:#277A9F;stroke-width:30;}
</style>
<title>logo</title>
<desc>Created with Sketch.</desc>
<g id="Page-1">
<g id="logo_x40_2x" transform="translate(-152.000000, -162.000000)">
<g id="logo" transform="translate(149.000000, 162.000000)">
<g id="helm" transform="translate(22.377622, 0.000000)">
<g id="rungs-bottom" transform="translate(41.500000, 108.500000) scale(1, -1) translate(-41.500000, -108.500000) translate(0.000000, 91.000000)">
<path id="Oval-1" class="st0" d="M417.2-357.5c10.4,7.3,34.3-8.7,53.2-35.8s25.9-55,15.4-62.3c-10.4-7.3-34.3,8.7-53.2,35.8
C413.7-392.7,406.8-364.8,417.2-357.5z"/>
<path id="Oval-1-Copy" class="st0" d="M167.6-357.5c-10.4,7.3-34.3-8.7-53.2-35.8c-19-27.1-25.9-55-15.4-62.3
s34.3,8.7,53.2,35.8S178.1-364.8,167.6-357.5z"/>
<path id="Oval-1-Copy-4" class="st0" d="M292.3-399.9c-12.7,0-23.1-26.8-23.1-59.9s10.3-59.9,23.1-59.9s23.1,26.8,23.1,59.9
S305-399.9,292.3-399.9z"/>
</g>
<g id="rungs-top">
<path id="Oval-1_1_" class="st0" d="M417.2,162.5c10.4,7.3,34.3-8.7,53.2-35.8s25.9-55,15.4-62.3c-10.4-7.3-34.3,8.7-53.2,35.8
S406.8,155.2,417.2,162.5z"/>
<path id="Oval-1-Copy_1_" class="st0" d="M167.6,162.5c-10.4,7.3-34.3-8.7-53.2-35.8S88.5,71.8,99,64.4s34.3,8.7,53.2,35.8
S178.1,155.2,167.6,162.5z"/>
<path id="Oval-1-Copy-4_1_" class="st0" d="M292.3,120.1c-12.7,0-23.1-26.8-23.1-59.9s10.3-59.9,23.1-59.9s23.1,26.8,23.1,59.9
S305,120.1,292.3,120.1z"/>
</g>
<path id="Oval-1_2_" class="st1" d="M470.2,215.6C433,154.4,365.6,113.5,288.7,113.5c-74.9,0-140.7,38.7-178.4,97.2 M114.3,446
c38.3,55.1,102.1,91.1,174.4,91.1c72.4,0,136.3-36.2,174.6-91.4"/>
</g>
<path id="HELM" class="st0" d="M3.6,244.1H48v62.5h50.1v-62.5h44.4V412H98.1v-66.6H48V412H3.6V244.1z M179.8,244.1h108.5v37.2
h-64.1v26.3H279v37.2h-54.8v30h66.6V412H179.8V244.1z M323.4,244.1h44.4v130.7h63.5V412h-108V244.1z M460.3,244.1h46l26.3,69.7
l9.3,27.4h1l9.3-27.4l25.3-69.7h46V412h-41.3v-49.6c0-4.3,0.2-9,0.6-14.2c0.4-5.2,0.9-10.5,1.4-15.9c0.5-5.4,1.1-10.7,1.8-15.9
c0.7-5.2,1.3-9.8,1.8-13.9h-1l-13.9,39.3l-23.2,56.6h-16.5l-23.2-56.6l-13.4-39.3h-1c0.5,4.1,1.1,8.8,1.8,13.9
c0.7,5.2,1.3,10.5,1.8,15.9c0.5,5.4,1,10.7,1.4,15.9c0.4,5.2,0.6,9.9,0.6,14.2V412h-40.8V244.1z"/>
</g>
</g>
</g>
<?xml version="1.0" encoding="UTF-8"?>
<svg data-name="Layer 1" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
<path d="m254.28 303.41c-0.50074-2.8223-0.39948-103.6 0.0975-105.52h27.162v77.765c1.1717 0.0608 2.0912 0.14921 3.0108 0.15005q16.128 0.0147 32.256 7e-3h2.9073v27.596zm-96.707-0.04025v-105.17c1.617-0.52913 61.545-0.73586 65.462-0.20457v22.414c-0.87869 0.063-1.7857 0.18341-2.6928 0.18454q-16.009 0.0199-32.017 9e-3h-2.9677v17.434h33.347v23.192h-33.048c-0.55339 1.9851-0.70531 15.817-0.25622 19.646 0.84488 0.0568 1.75 0.16952 2.6553 0.17059q16.009 0.0186 32.017 8e-3h2.9694v22.321zm-59.941-105.49h27.263c0.55054 1.7525 0.65821 102.97 0.0947 105.52h-27.288c-0.15021-6.7034-0.04736-13.384-0.06622-20.061-0.01871-6.6226-0.0041-13.245-0.0041-20.04h-33.788v39.741c-2.0595 0.61518-25.334 0.67417-27.648 0.123v-105.28h27.538v37.189c1.9679 0.56844 30.923 0.67339 33.872 0.12942 0.0082-2.9771 0.02-6.0265 0.024-9.0758q0.0063-4.7433 9.4e-4 -9.4866 0-4.625 0-9.25c1e-5 -3.0784 0-6.1567 0-9.5178zm253.1-0.12062c2.7871 0 5.4704 0.18919 8.1149-0.0501 2.9951-0.271 5.139 0.8001 7.3235 2.8131 12.613 11.622 25.357 23.101 38.059 34.627 0.63855 0.57948 1.2904 1.1443 2.1101 1.8701 0.76445-0.65718 1.4812-1.2432 2.1648-1.8655q19.639-17.877 39.248-35.787a5.4477 5.4477 0 0 1 4.2036-1.6458c3.2189 0.13038 6.4467 0.0375 9.8412 0.0375v105.37c-1.7231 0.50368-24.876 0.60366-27.639 0.0611v-53.362l-0.53656-0.25427c-9.0108 8.2178-18.022 16.436-27.238 24.841-9.2258-8.3112-18.342-16.523-27.458-24.736l-0.52449 0.19192c-0.023 4.4536-8e-3 8.9083-0.0105 13.362q-4e-3 6.6394-5.8e-4 13.279v26.872h-27.428c-0.51411-1.773-0.75283-99.662-0.22996-105.62zm43.794 150.15a176.64 176.64 0 0 1-23.973 27.163c0.70941 0.59068 1.2859 1.0704 1.8621 1.5506a108.31 108.31 0 0 1 33.683 48.146 34.618 34.618 0 0 1 2.202 14.42 14.885 14.885 0 0 1-0.74786 3.6921 7.2076 7.2076 0 0 1-8.1579 5.0231 22.233 22.233 0 0 1-6.7628-2.0063 51.232 51.232 0 0 1-9.1815-5.8151 107.59 107.59 0 0 1-32.936-46.707c-0.18746-0.51334-0.39218-1.0204-0.72243-1.8769a194.65 194.65 0 0 1-25.012 14.008 181.67 181.67 0 0 1-26.687 9.7244 187.56 187.56 0 0 1-28.304 5.388c0.16807 0.84015 0.26446 1.5098 0.43745 2.1591a109.17 109.17 0 0 1 2.9708 36.443 80.804 80.804 0 0 1-4.4229 22.477 78.25 78.25 0 0 1-4.1648 8.7447 13.39 13.39 0 0 1-2.3386 2.9708c-3.9801 4.109-8.7322 4.144-12.612-0.0737a27.28 27.28 0 0 1-3.907-5.6178c-3.0768-5.7757-4.6604-12.056-5.791-18.46a116.86 116.86 0 0 1-1.3589-26.465 94.48 94.48 0 0 1 2.8847-19.185c0.14009-0.53269 0.268-1.0696 0.37134-1.6103 0.0263-0.13754-0.0634-0.2973-0.17067-0.73825a176.12 176.12 0 0 1-80.969-24.994c-0.40992 0.90921-0.76206 1.6747-1.1017 2.4458a110.48 110.48 0 0 1-30.901 41.42 38.161 38.161 0 0 1-12.047 6.9591 12.09 12.09 0 0 1-6.5152 0.70023 7.1186 7.1186 0 0 1-5.4033-4.4892c-1.4161-3.424-1.1653-6.985-0.68438-10.517a55.453 55.453 0 0 1 4.3077-14.25 112.5 112.5 0 0 1 26.511-37.763c0.459-0.43461 0.92981-0.857 1.3809-1.2995a3.7603 3.7603 0 0 0 0.36534-0.65529 178.9 178.9 0 0 1-28.469-31.317c0.98458-0.0802 1.6433-0.18 2.302-0.1806 10.514-0.01 21.029 0.0274 31.543-0.0436a4.7055 4.7055 0 0 1 3.7034 1.6262 146.95 146.95 0 0 0 39.403 28.885 139.95 139.95 0 0 0 49.704 14.774q70.68 6.8707 121.6-42.855a7.6457 7.6457 0 0 1 5.9926-2.4435c9.8014 0.12121 19.605 0.0499 29.408 0.0499h2.5335zm-258-226.78c-0.572-0.54252-1.1946-1.1264-1.81-1.7176-12.617-12.121-22.381-26.136-28.279-42.702-1.6507-4.6364-2.8969-9.3652-2.6759-14.359 0.021-0.4739 0.0196-0.94915 0.0523-1.4221 0.445-6.4459 4.7591-9.7032 11.058-8.1767a27.325 27.325 0 0 1 5.7315 2.1965c6.8902 3.4554 12.506 8.5636 17.671 14.166a112.53 112.53 0 0 1 21.722 33.43 8.2964 8.2964 0 0 0 0.38946 0.861c0.0712 0.12855 0.22232 0.21282 0.55927 0.51883a176.36 176.36 0 0 1 81.02-24.861c-0.17651-0.8761-0.28195-1.5457-0.44772-2.2a112.49 112.49 0 0 1-2.6529-36.956 84.075 84.075 0 0 1 4.4444-21.764 31.326 31.326 0 0 1 5.4765-10.171 15.687 15.687 0 0 1 3.1634-2.8215 7.026 7.026 0 0 1 8.0326-0.056 17.279 17.279 0 0 1 5.8402 6.7318 53.054 53.054 0 0 1 5.2622 14.677 112.5 112.5 0 0 1 2.1226 33.004 95.598 95.598 0 0 1-3.4905 19.911c7.1217 1.3119 14.21 2.3287 21.147 3.9771a186.38 186.38 0 0 1 20.441 6.0033 188.32 188.32 0 0 1 19.77 8.5693c6.3454 3.1643 12.386 6.9407 18.718 10.538 0.20571-0.433 0.50439-0.94982 0.706-1.5021a108.66 108.66 0 0 1 32.901-46.762 37.758 37.758 0 0 1 11.822-6.883 17.246 17.246 0 0 1 3.6783-0.84512c6.264-0.71729 8.8935 3.2244 9.3565 7.9318a29.944 29.944 0 0 1-0.77381 10.355 87.906 87.906 0 0 1-10.73 24.688c-6.7902 10.972-14.85 20.855-25.093 28.83-0.30234 0.2354-0.56784 0.51814-1.0799 0.99029a177.78 177.78 0 0 1 26.593 30.882 10.962 10.962 0 0 1-1.689 0.29762c-10.595 0.015-21.191-0.0183-31.786 0.0461a4.004 4.004 0 0 1-3.1725-1.69 147.88 147.88 0 0 0-88.178-46.548 143.36 143.36 0 0 0-30.28-1.1692 146.41 146.41 0 0 0-82.537 31.811 140.07 140.07 0 0 0-16.976 15.842 4.7284 4.7284 0 0 1-3.8633 1.7574c-10.121-0.0703-20.242-0.035-30.363-0.0349h-2.1521c0.618-2.408 6.8403-10.938 13.884-18.553 5.2525-5.6788 10.817-11.069 16.468-16.818z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

22
src/styles/icons/oci.svg Normal file
View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#808184;}
.st1{fill:#262261;}
</style>
<g>
<g>
<g>
<polygon class="st0" points="326.6,212.6 326.6,132.6 128.6,132.6 128.6,444.6 326.6,444.6 326.6,364.6 208.6,364.6 208.6,212.6
"/>
<g>
<rect x="366.5" y="132.6" class="st1" width="79.9" height="79.9"/>
<rect x="366.5" y="252.6" class="st1" width="79.9" height="192"/>
</g>
</g>
<path class="st1" d="M8.5,9.5v558.2h558.2V9.5H8.5z M486.4,484.7H88.7V92.6h397.8V484.7z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 852 B

View File

@ -5,6 +5,7 @@
@import 'node_modules/@fortawesome/fontawesome-free/scss/fontawesome';
@import 'node_modules/@fortawesome/fontawesome-free/scss/solid';
@import 'node_modules/@fortawesome/fontawesome-free/scss/brands';
@import 'node_modules/@fortawesome/fontawesome-free/scss/regular';
@include foundation-global-styles;
@include foundation-flex-classes;

56
src/styles/theme.scss Normal file
View File

@ -0,0 +1,56 @@
@import './config.scss';
$themes: (
light: (
background-1: $argo-color-gray-3,
text-1: $argo-color-gray-7,
background-2: $white-color,
text-2: $argo-color-gray-8,
light-argo-gray-6: $argo-color-gray-6,
light-argo-gray-2: $argo-color-gray-2,
light-argo-teal-1: $argo-color-teal-1,
light-argo-teal-7: $argo-color-teal-7,
light-argo-teal-5: $argo-color-teal-5,
pod-cyan: lightcyan,
layout-loader-bg: rgba($argo-color-gray-7, 0.4),
overlay: rgba(222, 222, 222, 0.62),
shadow: $argo-color-gray-5,
border: $argo-color-gray-3
),
dark: (
background-1: $dark-theme-background-1,
text-1: $argo-color-gray-3,
background-2: $dark-theme-background-2,
text-2: $white-color,
light-argo-gray-6: $argo-color-gray-2,
light-argo-gray-2: $dark-theme-sliding-panel,
light-argo-teal-1: $argo-color-gray-6,
light-argo-teal-7: $argo-color-teal-5,
light-argo-teal-5: $argo-color-teal-4,
pod-cyan: $argo-color-teal-8,
layout-loader-bg: rgba($argo-color-gray-3, 0.4),
overlay: rgba(70, 70, 70, 0.62),
shadow: $dark-theme-background-1,
border: $argo-color-gray-7
)
);
@mixin themify($themes) {
@each $theme, $map in $themes {
.theme-#{$theme} & {
$theme-map: () !global;
@each $key, $submap in $map {
$value: map-get(map-get($themes, $theme), '#{$key}');
$theme-map: map-merge($theme-map, ($key: $value)) !global;
}
@content;
$theme-map: null !global;
}
}
}
@function themed($key) {
@return map-get($theme-map, $key);
}

View File

@ -1,22 +0,0 @@
'use strict;';
const config = require('../app/webpack.config');
const webpack = require('webpack');
module.exports = Object.assign({}, config, {
entry: './src/index.ts',
output: {
filename: 'bundle.js',
path: __dirname + '/../../bundle',
library: 'argo-ui',
libraryTarget: 'umd',
umdNamedDefine: true,
},
plugins: [
new webpack.DefinePlugin({
SYSTEM_INFO: JSON.stringify({
version: process.env.ARGO_VERSION || 'latest',
}),
}),
],
});

View File

@ -1,5 +1,3 @@
import { Store, withState } from '@dump247/storybook-state';
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { App } from './utils';
@ -10,13 +8,18 @@ function loadData(input: string): Promise<string> {
return new Promise((resolve) => window.setTimeout(() => resolve(`hello ${input}`), 50));
}
storiesOf('Data Loader', module)
.add('loading data asynchronously', withState({ input: 'world' })(({store}: { store: Store<any> }) => (
export default {
title: 'Data Loader',
};
export const LoadingDataAsynchronously = () => {
const [input, setInput] = React.useState('world');
return (
<App>
{() => (
<React.Fragment>
<input value={store.state.input} onChange={(e) => store.set({ input: e.target.value })}/>
<DataLoader input={store.state.input} load={(input) => loadData(input)}>
<input value={input} onChange={(e) => setInput(e.target.value)}/>
<DataLoader input={input} load={loadData}>
{(data) => (
<div>
{data}
@ -26,4 +29,6 @@ storiesOf('Data Loader', module)
</React.Fragment>
)}
</App>
)));
);
};
LoadingDataAsynchronously.storyName = 'loading data asynchronously';

View File

@ -0,0 +1,33 @@
import * as React from 'react';
import { DropDown } from '../src/components/dropdown/dropdown';
import { DropDownMenu } from '../src/components/dropdown-menu';
export default {
title: 'Dropdown',
};
export const Default = () => (<DropDown anchor={() => <a>Click me</a>}><p>Dropdown content here</p></DropDown>);
Default.storyName = 'default';
export const Menu = () => {
return (
<DropDown isMenu={true} anchor={() => <a>Click me</a>}>
<ul>
<li><a>menu item 1</a></li>
<li><a>menu item 2</a></li>
</ul>
</DropDown>
);
}
Menu.storyName = 'menu';
export const MenuWrapper = () => {
return (
<DropDownMenu anchor={() => <a>Click me</a>} items={[{
title: 'menu item 1',
action: () => window.alert('Clicked!'),
}]} />
);
}
MenuWrapper.storyName = 'menu wrapper';

View File

@ -1,20 +0,0 @@
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { DropDown, DropDownMenu } from '../src/components';
storiesOf('Dropdown', module)
.add('default', () => <DropDown anchor={() => <a>Click me</a>}><p>Dropdown content here</p></DropDown>)
.add('menu', () => (
<DropDown isMenu={true} anchor={() => <a>Click me</a>}>
<ul>
<li><a>menu item 1</a></li>
<li><a>menu item 2</a></li>
</ul>
</DropDown>
)).add('menu wrapper', () => (
<DropDownMenu anchor={() => <a>Click me</a>} items={[{
title: 'menu item 1',
action: () => window.alert('Clicked!'),
}]} />
));

View File

@ -1,10 +1,14 @@
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { Form, Text } from 'react-form';
import { FormField, FormSelect } from '../src/components';
storiesOf('Forms', module)
.add('default', () => (
import { FormField, FormSelect } from '../src/components/form-field/form-field';
export default {
title: 'Forms',
};
export const Default = () => {
return (
<Form>
{(api) => (
<form style={{padding: '1em'}}>
@ -20,4 +24,6 @@ storiesOf('Forms', module)
</form>
)}
</Form>
));
);
}
Default.storyName = 'default';

View File

@ -1,9 +0,0 @@
import './data-loader';
import './dropdown';
import './forms';
import './notifications';
import './page';
import './popup';
import './select';
import './table';
import './tabs';

View File

@ -0,0 +1,22 @@
import * as React from 'react';
import { Observable } from 'rxjs';
import { LogsViewer } from '../src/components/logs-viewer/logs-viewer';
export default {
title: 'LogsViewer',
};
export const Default = () => (
<div>
<LogsViewer source={{
key: 'test',
loadLogs: () => new Observable<string>((observer) => {
const interval = setInterval(() => observer.next('test\n'), 1000);
return () => clearInterval(interval);
}),
shouldRepeat: () => false,
}}/>
</div>
);
Default.storyName = 'default';

View File

@ -0,0 +1,38 @@
import * as React from 'react';
import { NotificationType } from '../src/components/notifications/notifications';
import { App } from './utils';
const messages = [
'Mist enveloped the ship three hours out from port. The recorded voice scratched in the speaker. Silver mist suffused the deck of the ship.',
'Then came the night of the first falling star. A red flare silhouetted the jagged edge of a wing. She stared through the window at the stars.',
'The spectacle before us was indeed sublime. A shining crescent far beneath the flying vessel. She stared through the window at the stars.',
];
function getMessage() {
return messages[Math.floor(Math.random() * messages.length)];
}
export default {
title: 'Notifications',
};
export const Default = () => {
return (
<App>
{(apis) => [
{type: NotificationType.Success, title: 'Success'},
{type: NotificationType.Warning, title: 'Warning'},
{type: NotificationType.Error, title: 'Error'},
].map((item) => (
<button key={item.type} className='argo-button argo-button--base' onClick={() =>
apis.notifications.show({type: item.type, content: <div>{getMessage()}</div>})
}>
{item.title}
</button>
))}
</App>
);
}
Default.storyName = 'default';

View File

@ -1,34 +0,0 @@
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { NotificationType} from '../src/components';
import { App } from './utils';
const messages = [
'Mist enveloped the ship three hours out from port. The recorded voice scratched in the speaker. Silver mist suffused the deck of the ship.',
'Then came the night of the first falling star. A red flare silhouetted the jagged edge of a wing. She stared through the window at the stars.',
'The spectacle before us was indeed sublime. A shining crescent far beneath the flying vessel. She stared through the window at the stars.',
];
function getMessage() {
return messages[Math.floor(Math.random() * messages.length)];
}
storiesOf('Notifications', module)
.add('default', () => (
<App>
{(apis) => (
[
{type: NotificationType.Success, title: 'Success'},
{type: NotificationType.Warning, title: 'Warning'},
{type: NotificationType.Error, title: 'Error'},
].map((item) => (
<button key={item.type} className='argo-button argo-button--base'
onClick={() => apis.notifications.show({type: item.type, content: <div>{getMessage()}</div>})}>
{item.title}
</button>
))
)}
</App>
));

186
stories/page.stories.tsx Normal file
View File

@ -0,0 +1,186 @@
import { createBrowserHistory } from 'history';
import * as React from 'react';
import { Route, Router } from 'react-router';
import { timer } from 'rxjs';
import { map } from 'rxjs/operators';
import { Layout } from '../src/components/layout/layout';
import { Page } from '../src/components/page/page';
const navItems = [{ path: location.pathname, title: 'Sample', iconClassName: 'argo-icon-docs' }];
const breadcrumbs = [{
title: 'breadcrumb parent',
path: location.pathname,
}, {
title: 'this page breadcrumb',
}];
const actionMenu = {
items: [{
title: 'New Item 1',
iconClassName: 'fa fa-history',
action: () => {
// do nothing
},
}, {
title: 'New Item 2',
iconClassName: 'icon argo-icon-deploy',
action: () => {
// do nothing
},
},
{
title: 'New Item 3',
action: () => {
// do nothing
},
},
{
title: 'New Item 4',
iconClassName: 'fa fa-times-circle',
disabled: true,
action: () => {
// do nothing
},
}],
};
const history = createBrowserHistory();
function ensureSelected(vals: string[], selected: string[]): string[] {
const res = new Set(selected);
vals.forEach((item) => res.add(item));
return Array.from(res);
}
export default {
title: 'Page',
};
export const Default = () => {
const [selectedFilter, setSelectedFilter] = React.useState<string[]>([]);
return (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems}>
<Page title='Hello world!' toolbar={{breadcrumbs, actionMenu, filter: {
items: [
{
content: (changeSelection) => (
<React.Fragment>
Filter type one: <a onClick={() => changeSelection(ensureSelected(['1', '2'], selectedFilter))}>all</a>
</React.Fragment>
),
},
{ label: 'filter 1', value: '1' },
{ label: 'filter 2', value: '2' },
{
content: (changeSelection) => (
<React.Fragment>
Filter type two: <a onClick={() => changeSelection(ensureSelected(['3', '4'], selectedFilter))}>all</a>
</React.Fragment>
),
},
{ label: 'filter 3', value: '3' },
{ label: 'filter 4', value: '4' },
],
selectedValues: selectedFilter,
selectionChanged: setSelectedFilter,
}}}>
<div style={{ padding: '1em' }}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
)
};
Default.storyName = 'default';
export const DynamicToolbar = () => {
return (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems}>
<Page title='Hello world!' toolbar={timer(0, 1000).pipe(map(() => ({breadcrumbs: [
{ title: 'hello ' + new Date().toLocaleTimeString() },
]})))}>
<div style={{ padding: '1em' }}>
<div className='white-box'>Hello world!</div>
</div>
</Page>
</Layout>
</Route>
</Router>
);
}
DynamicToolbar.storyName = 'dynamic toolbar';
export const CompactNavBar = () => {
const manyNavItems = [];
for (let i = 0; i < 10; i++) {
manyNavItems.push({path: location.pathname + '/' + i, title: 'Sample', iconClassName: 'argo-icon-docs'});
}
return (
(
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={manyNavItems}>
<Page title='Hello world!'>
<div style={{ padding: '1em' }}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
)
);
};
CompactNavBar.storyName = 'compact nav bar';
export const CustomTopBarTitle = () => {
return (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems}>
<Page title='helmet title' topBarTitle='Top Bar Title' toolbar={{breadcrumbs: [
{ title: 'Apps ', path: '/applications' },
{ title: 'app name' },
]}}>
<div style={{ padding: '1em' }}>
<div className='white-box'>
Test
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
);
}
CustomTopBarTitle.storyName = 'custom top bar title';
export const BackgroundColor = () => {
return (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems} navBarStyle={{ backgroundColor: 'red' }}>
<Page title='Hello world!'>
<div style={{ padding: '1em' }}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
);
}
BackgroundColor.storyName = 'background color';

View File

@ -1,127 +0,0 @@
import { Store, withState } from '@dump247/storybook-state';
import { storiesOf } from '@storybook/react';
import createHistory from 'history/createBrowserHistory';
import * as React from 'react';
import { Route, Router } from 'react-router';
import { timer } from 'rxjs';
import { map } from 'rxjs/operators';
import { Layout, Page } from '../src/components';
const navItems = [{ path: location.pathname, title: 'Sample', iconClassName: 'argo-icon-docs' }];
const breadcrumbs = [{
title: 'breadcrumb parent',
path: location.pathname,
}, {
title: 'this page breadcrumb',
}];
const actionMenu = {
items: [{
title: 'New Item 1',
iconClassName: 'fa fa-history',
action: () => {
// do nothing
},
}, {
title: 'New Item 2',
iconClassName: 'icon argo-icon-deploy',
action: () => {
// do nothing
},
},
{
title: 'New Item 3',
action: () => {
// do nothing
},
},
{
title: 'New Item 4',
iconClassName: 'fa fa-times-circle',
disabled: true,
action: () => {
// do nothing
},
}]
};
const history = createHistory();
function ensureSelected(vals: string[], selected: string[]): string[] {
const res = new Set(selected);
vals.forEach((item) => res.add(item));
return Array.from(res);
}
storiesOf('Page', module)
.add('default', withState({ selectedFilter: [] })(({store}: { store: Store<any> }) => (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems}>
<Page title='Hello world!' toolbar={{ breadcrumbs, actionMenu, filter: {
items: [
{ content: (changeSelection) => (
<React.Fragment>
Filter type one: <a onClick={() => changeSelection(ensureSelected(['1', '2'], store.state.selectedFilter))}>all</a>
</React.Fragment>
)},
{label: 'filter 1', value: '1' },
{label: 'filter 2', value: '2' },
{ content: (changeSelection) => (
<React.Fragment>
Filter type two: <a onClick={() => changeSelection(ensureSelected(['3', '4'], store.state.selectedFilter))}>all</a>
</React.Fragment>
)},
{label: 'filter 3', value: '3' },
{label: 'filter 4', value: '4' },
],
selectedValues: store.state.selectedFilter,
selectionChanged: (vals) => {
store.set({ selectedFilter: vals });
},
}}}>
<div style={{padding: '1em'}}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
))).add('dynamic toolbar', () => (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={navItems}>
<Page title='Hello world!' toolbar={timer(0, 1000).pipe(map(() => ({ breadcrumbs: [{title: 'hello ' + new Date().toLocaleTimeString()}] })))}>
<div style={{padding: '1em'}}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
)).add('compact nav bar', () => {
const manyNavItems = [];
for (let i = 0; i < 10; i++) {
manyNavItems.push({ path: location.pathname + '/' + i, title: 'Sample', iconClassName: 'argo-icon-docs' });
}
return (
<Router history={history}>
<Route path={location.pathname}>
<Layout navItems={manyNavItems}>
<Page title='Hello world!'>
<div style={{padding: '1em'}}>
<div className='white-box'>
Hello world!
</div>
</div>
</Page>
</Layout>
</Route>
</Router>
);
});

View File

@ -1,15 +1,18 @@
import { Store, withState } from '@dump247/storybook-state';
import { action } from '@storybook/addon-actions';
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { Checkbox as ReactCheckbox } from 'react-form';
import { Text } from 'react-form';
import { Checkbox, FormField } from '../src/components';
import { Checkbox } from '../src/components/checkbox';
import { FormField } from '../src/components/form-field/form-field';
import { App } from './utils';
storiesOf('Popup', module)
.add('confirmation', () => (
export default {
title: 'Popup',
};
export const Confirmation = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={async () => {
@ -18,24 +21,36 @@ storiesOf('Popup', module)
}}>Click me</button>
)}
</App>
)).add('confirmation with custom form inside', withState({ checked: false })(({store}: { store: Store<any> }) => (
);
}
Confirmation.storyName = 'confirmation';
export const ConfirmationWithCustomFormInside = () => {
const [checked, setChecked] = React.useState(false);
return (
(
<App>
{(apis) => (
<div>
<button className='argo-button argo-button--base' onClick={async () => {
const confirmed = await apis.popup.confirm('Do it!', () => (
<div>
Click checkbox and confirm <Checkbox checked={store.state.checked} onChange={(val) => store.set({ checked: val })} />
Click checkbox and confirm <Checkbox checked={checked} onChange={setChecked} />
</div>
));
action('Confirmed')(confirmed);
}}>Click me</button>
<p>Checked?: {JSON.stringify(store.state.checked)}</p>
<p>Checked?: {JSON.stringify(checked)}</p>
</div>
)}
</App>
),
)).add('prompt', () => (
)
);
}
ConfirmationWithCustomFormInside.storyName = 'confirmation with custom form inside';
export const Prompt = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={async () => {
@ -48,16 +63,23 @@ storiesOf('Popup', module)
<FormField label='Last Name' formApi={api} field='lastName' component={Text} />
</div>
</React.Fragment>
), { validate: (vals) => ({
), {
validate: (vals) => ({
firstName: !vals.firstName && 'First Name is required',
lastName: !vals.lastName && 'Last Name is required',
})});
})
});
action('Prompt values')(values);
}}>Click me</button>
)}
</App>
)).add('prompt with custom submit', () => (
);
}
Prompt.storyName = 'prompt';
export const PromptWithCustomSubmit = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={() => {
@ -87,7 +109,12 @@ storiesOf('Popup', module)
}}>Click me</button>
)}
</App>
)).add('prompt with red title and icon, with custom submit', () => (
);
}
PromptWithCustomSubmit.storyName = 'prompt with custom submit';
export const PromptWithRedTitleAndIconWithCustomSubmit = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={() => {
@ -119,7 +146,12 @@ storiesOf('Popup', module)
}}>Click me</button>
)}
</App>
)).add('prompt with yellow title and icon, three fields and custom submit. Vertical center layout of icon', () => (
);
}
PromptWithRedTitleAndIconWithCustomSubmit.storyName = 'prompt with red title and icon, with custom submit';
export const PromptWithYellowTitleAndIconThreeFieldsAndCustomSubmitVerticalCenterLayoutOfIcon = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={() => {
@ -158,7 +190,12 @@ storiesOf('Popup', module)
}}>Click me</button>
)}
</App>
)).add('prompt with green clock icon and custom submit', () => (
);
}
PromptWithYellowTitleAndIconThreeFieldsAndCustomSubmitVerticalCenterLayoutOfIcon.storyName = 'prompt with yellow title and icon, three fields and custom submit. Vertical center layout of icon';
export const PromptWithGreenClockIconAndCustomSubmit = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={() => {
@ -185,12 +222,16 @@ storiesOf('Popup', module)
}
},
},
{ name: 'argo-icon-clock', color: 'success'}
);
{ name: 'argo-icon-clock', color: 'success' });
}}>Click me</button>
)}
</App>
)).add('prompt with just headers and paragraphs', () => (
);
}
PromptWithGreenClockIconAndCustomSubmit.storyName = 'prompt with green clock icon and custom submit';
export const PromptWithJustHeadersAndParagraphs = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={async () => {
@ -201,13 +242,17 @@ storiesOf('Popup', module)
<h4>This is another h4 header</h4>
<p>This is a paragraph</p>
</div>
)
);
));
action('Prompt values')(values);
}}>Click me</button>
)}
</App>
)).add('prompt with only paragraphs. Additional top padding is optional for the first paragraph', () => (
);
}
PromptWithJustHeadersAndParagraphs.storyName = 'prompt with just headers and paragraphs';
export const PromptWithOnlyParagraphsAdditionalTopPaddingIsOptionalForTheFirstParagraph = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={async () => {
@ -216,13 +261,17 @@ storiesOf('Popup', module)
<p style={{paddingTop: '20px'}}>This is a paragraph</p>
<p>This is another paragraph</p>
</div>
)
);
));
action('Prompt values')(values);
}}>Click me</button>
)}
</App>
)).add('prompt with React Checkbox that is checked by default; Username default set to admin', () => (
);
}
PromptWithOnlyParagraphsAdditionalTopPaddingIsOptionalForTheFirstParagraph.storyName = 'prompt with only paragraphs. Additional top padding is optional for the first paragraph';
export const PromptWithReactCheckboxThatIsCheckedByDefaultUsernameDefaultSetToAdmin = () => {
return (
<App>
{(apis) => (
<button className='argo-button argo-button--base' onClick={async () => {
@ -236,11 +285,11 @@ storiesOf('Popup', module)
<FormField label='Password' formApi={api} field='password' component={Text} componentProps={{type: 'password'}} />
</div>
<div className='argo-form-row'>
<ReactCheckbox id='popup-react-checkbox' field='checkboxField'/> <label htmlFor='popup-react-checkbox'>This is a React Checkbox</label>
<ReactCheckbox id='popup-react-checkbox' field='checkboxField' />{' '}
<label htmlFor='popup-react-checkbox'>This is a React Checkbox</label>
</div>
</React.Fragment>
),
{
), {
validate: (vals) => ({
username: !vals.username && 'Username is required',
password: !vals.password && 'Password is required',
@ -262,4 +311,6 @@ storiesOf('Popup', module)
}}>Click me</button>
)}
</App>
))
);
}
PromptWithReactCheckboxThatIsCheckedByDefaultUsernameDefaultSetToAdmin.storyName = 'prompt with React Checkbox that is checked by default; Username default set to admin';

View File

@ -0,0 +1,42 @@
import * as React from 'react';
import { Select } from '../src/components/select/select';
export default {
title: 'Select',
};
export const Default = () => {
const [selected, setSelected] = React.useState('option1');
return (
<div>
<h4>
Selected option value: {selected}
<button className='argo-button argo-button--base' onClick={() => setSelected('option2')} >Select option 2</button>
</h4>
<Select
value={selected}
placeholder='Select something'
options={['option1', { value: 'option2', title: 'Option 2' }]}
onChange={(option) => setSelected(option.value)}
/>
</div>
)
};
Default.storyName = 'default';
export const MultiSelect = () => {
const [selected, setSelected] = React.useState(['option1']);
return (
<div>
<Select
value={selected}
multiSelect={true}
placeholder='Select something'
options={['option1', { value: 'option2', title: 'Option 2' }]}
onMultiChange={(options) => setSelected(options.map((item) => item.value))}
/>
</div>
)
};
MultiSelect.storyName = 'multi-select';

View File

@ -1,35 +0,0 @@
import { Store, withState } from '@dump247/storybook-state';
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { Select } from '../src/components';
storiesOf('Select', module)
.add('default', withState({ selected: 'option1' })(({store}: { store: Store<any> }) => (
() => (
<div>
<h4>
Selected option value: {store.state.selected}
<button className='argo-button argo-button--base' onClick={() => store.set({ selected: 'option2' })} >Select option 2</button>
</h4>
<Select
value={store.state.selected}
placeholder='Select something'
options={['option1', { value: 'option2', title: 'Option 2' }]}
onChange={(option) => store.set({ selected: option.value })}
/>
</div>
))),
).add('multi-select', withState({ selected: 'option1' })(({store}: { store: Store<any> }) => (
() => (
<div>
<Select
value={store.state.selected}
multiSelect={true}
placeholder='Select something'
options={['option1', { value: 'option2', title: 'Option 2' }]}
onMultiChange={(options) => store.set({ selected: options.map((item) => item.value) })}
/>
</div>
))),
);

View File

@ -1,8 +1,11 @@
import { storiesOf } from '@storybook/react';
import * as classNames from 'classnames';
import {default as classNames} from 'classnames';
import * as React from 'react';
class TableExample extends React.Component<{}, {selectedIndex: number}> {
export default {
title: 'Table',
};
class TableExample extends React.Component<any, {selectedIndex: number}> {
constructor(props: any) {
super(props);
@ -34,5 +37,5 @@ class TableExample extends React.Component<{}, {selectedIndex: number}> {
}
}
storiesOf('Table', module)
.add('default', () => <TableExample/>);
export const Default = () => <TableExample />;
Default.storyName = 'default';

View File

@ -1,10 +1,14 @@
import { storiesOf } from '@storybook/react';
import * as React from 'react';
import { Tabs } from '../src/components';
storiesOf('Tabs', module)
.add('basic tabs', () => (
<Tabs tabs={[{
import { Tabs } from '../src/components/tabs/tabs';
export default {
title: 'Tabs',
};
export const BasicTabs = () => (
<Tabs
tabs={[{
title: 'Tab 1',
content: <p>Tab 1 content</p>,
key: 'tab1',
@ -14,4 +18,5 @@ storiesOf('Tabs', module)
key: 'tab2',
badge: '5',
}]}/>
));
);
BasicTabs.storyName = 'basic tabs';

View File

@ -1,20 +0,0 @@
{
"compilerOptions": {
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"jsx": "react",
"experimentalDecorators": true,
"noUnusedLocals": true,
"declaration": false,
"lib": [
"es2017",
"dom"
]
},
"include": [
"./**/*",
"../src/**/*"
]
}

View File

@ -1,7 +1,10 @@
import * as PropTypes from 'prop-types';
import * as React from 'react';
import { Notifications, NotificationsApi, NotificationsManager, Popup, PopupApi, PopupManager, PopupProps} from '../src/components';
import { Notifications } from '../src/components/notifications/notifications';
import { NotificationsApi, NotificationsManager } from '../src/components/notifications/notification-manager';
import { Popup, PopupProps } from '../src/components/popup/popup';
import { PopupApi, PopupManager } from '../src/components/popup/popup-manager';
export class App extends React.Component<{ children: (apis: {
notifications: NotificationsApi,

View File

@ -1,23 +1,24 @@
{
"compilerOptions": {
"outDir": "./../../bundle",
"outDir": "./../bundle",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"target": "es6",
"jsx": "react",
"esModuleInterop": true,
"experimentalDecorators": true,
"noUnusedLocals": true,
"declaration": true,
"skipLibCheck": true,
"lib": [
"es2017",
"dom"
],
"typeRoots": [
"../node_modules/@types"
"./node_modules/@types"
]
},
"include": [
"./**/*"
]
"include": ["./**/*"],
"exclude": ["node_modules", "./**/*.test.ts", "./**/*.test.tsx", "./**/*.stories.tsx"]
}

View File

@ -1,19 +0,0 @@
{
"extends": [
"tslint:recommended", "tslint-react"
],
"jsRules": {},
"rules": {
"quotemark": [true, "single"],
"no-var-requires": false,
"interface-name": false,
"jsx-no-multiline-js": false,
"object-literal-sort-keys": false,
"jsx-alignment": false,
"max-line-length": [true, 180],
"jsx-no-lambda": false,
"array-type": false,
"max-classes-per-file": false
},
"rulesDirectory": []
}

1
v2/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

View File

@ -1,13 +1,14 @@
import {Key, useKeyListener} from 'react-keyhooks';
import * as React from 'react';
import {Key, useKeyListener} from '../../shared';
import {useClickOutside, useTimeout} from '../../utils/utils';
import {EffectDiv} from '../effect-div/effect-div';
import {Tooltip} from '../tooltip/tooltip';
import './action-button.scss';
import {Theme} from '../theme-div/theme-div';
import './action-button.scss';
export interface ActionButtonProps {
// eslint-disable-next-line @typescript-eslint/ban-types
action?: Function;
label?: string;
icon?: string;

View File

@ -8,7 +8,7 @@
&__items {
z-index: 3;
position: absolute;
position: fixed;
white-space: nowrap;
max-height: 12em;
overflow-y: auto;
@ -20,10 +20,6 @@
box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.05);
line-height: 0.5em;
&--inverted {
bottom: 50px;
}
&__item {
z-index: 2;
padding: 0.75em 0;

View File

@ -14,7 +14,7 @@ export default {
export const Primary = (args: any) => (
<div style={{width: '50%', paddingBottom: '6em'}}>
<Autocomplete items={['hello', 'world']} {...args} />
<Autocomplete {...args} items={['hello', 'world']} />
</div>
);

View File

@ -1,5 +1,6 @@
import {Key, KeybindingContext, KeybindingProvider, useNav} from 'react-keyhooks';
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import {Key, KeybindingContext, KeybindingProvider, useNav} from '../../shared';
import {Input, InputProps, SetInputFxn, useDebounce, useInput} from '../input/input';
import ThemeDiv from '../theme-div/theme-div';
@ -9,23 +10,28 @@ interface AutocompleteProps extends InputProps {
inputref?: React.MutableRefObject<HTMLInputElement>;
}
export const useAutocomplete = (init: string, callback?: (val: string) => void): [string, SetInputFxn, AutocompleteProps] => {
const [state, setState, Input] = useInput(init);
const Autocomplete = Input as AutocompleteProps;
if (Autocomplete.ref) {
Autocomplete.inputref = Input.ref;
delete Autocomplete.ref;
export const useAutocomplete = (init: string): [string, SetInputFxn, AutocompleteProps] => {
const [state, setState, input] = useInput(init);
const autocomplete = input as AutocompleteProps;
if (autocomplete.ref) {
autocomplete.inputref = input.ref;
delete autocomplete.ref;
}
return [state, setState, Autocomplete];
return [state, setState, autocomplete];
};
export const Autocomplete = (
props: React.InputHTMLAttributes<HTMLInputElement> & {
items: string[];
abbreviations?: Map<string, string>;
inputStyle?: React.CSSProperties;
onItemClick?: (item: string) => void;
icon?: string;
inputref?: React.MutableRefObject<HTMLInputElement>;
value: string;
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
className?: string;
style?: React.CSSProperties;
}
) => {
return (
@ -38,10 +44,15 @@ export const Autocomplete = (
export const RenderAutocomplete = (
props: React.InputHTMLAttributes<HTMLInputElement> & {
items: string[];
abbreviations?: Map<string, string>;
inputStyle?: React.CSSProperties;
onItemClick?: (item: string) => void;
icon?: string;
inputref?: React.MutableRefObject<HTMLInputElement>;
value: string;
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
className?: string;
style?: React.CSSProperties;
}
) => {
const [curItems, setCurItems] = React.useState(props.items || []);
@ -49,12 +60,12 @@ export const RenderAutocomplete = (
const inputRef = props.inputref || nullInputRef;
const autocompleteRef = React.useRef(null);
const [showSuggestions, setShowSuggestions] = React.useState(false);
const [pos, nav, reset] = useNav(props.items.length);
const [pos, nav, reset] = useNav(props.items?.length);
const menuRef = React.useRef(null);
React.useEffect(() => {
function unfocus(e: any) {
if (autocompleteRef.current && !autocompleteRef.current.contains(e.target)) {
if (autocompleteRef.current && !autocompleteRef.current.contains(e.target) && menuRef.current && !menuRef.current.contains(e.target)) {
setShowSuggestions(false);
reset();
}
@ -68,13 +79,32 @@ export const RenderAutocomplete = (
React.useEffect(() => {
const filtered = (props.items || []).filter((i) => {
return i.includes(debouncedVal);
if (i) {
return props.abbreviations !== undefined
? i.toLowerCase().includes(debouncedVal?.toLowerCase()) || props.abbreviations.get(i)?.includes(debouncedVal?.toLowerCase())
: i.toLowerCase().includes(debouncedVal?.toLowerCase());
}
return false;
});
setCurItems(filtered.length > 0 ? filtered : props.items);
}, [debouncedVal, props.items]);
React.useEffect(() => {
if (props.value !== null && props.value !== '') {
setShowSuggestions(true);
}
}, [props.value]);
const {useKeybinding} = React.useContext(KeybindingContext);
useKeybinding(Key.TAB, (e) => {
const target = {
combo: false,
target: inputRef,
};
useKeybinding({
keys: Key.TAB,
action: () => {
if (showSuggestions) {
if (pos === curItems.length - 1) {
reset();
@ -83,9 +113,13 @@ export const RenderAutocomplete = (
return true;
}
return false;
},
...target,
});
useKeybinding(Key.ESCAPE, (e) => {
useKeybinding({
keys: Key.ESCAPE,
action: () => {
if (showSuggestions) {
reset();
setShowSuggestions(false);
@ -95,31 +129,45 @@ export const RenderAutocomplete = (
return true;
}
return false;
},
...target,
});
useKeybinding(Key.ENTER, () => {
useKeybinding({
keys: Key.ENTER,
action: () => {
if (showSuggestions && props.onItemClick) {
props.onItemClick(curItems[pos]);
setShowSuggestions(false);
return true;
}
return false;
},
...target,
});
useKeybinding(Key.UP, () => {
useKeybinding({
keys: Key.UP,
action: () => {
if (showSuggestions) {
nav(-1);
return false;
}
return true;
},
...target,
});
useKeybinding(Key.DOWN, () => {
useKeybinding({
keys: Key.DOWN,
action: () => {
if (showSuggestions) {
nav(1);
return false;
}
return true;
},
...target,
});
const style = props.style;
@ -128,37 +176,42 @@ export const RenderAutocomplete = (
delete trimmedProps.inputStyle;
delete trimmedProps.onItemClick;
const [inverted, setInverted] = React.useState(false);
const [position, setPosition] = React.useState({top: 0, left: 0});
const checkDirection = () => {
if (autocompleteRef && autocompleteRef.current && menuRef.current && !(event.target === menuRef.current)) {
const node = inputRef.current;
if (node && menuRef.current) {
const rect = node.getBoundingClientRect();
const computedStyle = window.getComputedStyle(node);
const marginBottom = parseInt(computedStyle.marginBottom, 10) || 0;
let menuTop = rect.bottom + marginBottom;
if (window.innerHeight - (menuTop + menuRef.current.offsetHeight) < 30) {
if (!inverted) {
setInverted(true);
}
} else {
if (inverted) {
setInverted(false);
}
if (autocompleteRef && autocompleteRef.current && menuRef.current) {
if (inputRef.current && menuRef.current) {
const rect = inputRef.current.getBoundingClientRect();
const menuHeight = menuRef.current.clientHeight;
const offset = window.innerHeight - rect.bottom;
const inverted = offset < menuHeight;
const newPos = {
top: inverted ? rect.top - menuRef.current.clientHeight : rect.top + rect.height,
left: rect.left,
};
if (position.left !== newPos.left || position.top !== newPos.top) {
setPosition(newPos);
}
}
}
};
React.useEffect(() => {
checkDirection();
document.addEventListener('scroll', checkDirection, true);
document.addEventListener('resize', checkDirection, true);
return () => {
document.removeEventListener('scroll', checkDirection);
document.removeEventListener('resize', checkDirection);
};
});
}, []);
const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
if (props.onChange) {
props.onChange(e);
}
};
return (
<div className='autocomplete' ref={autocompleteRef} style={style as any}>
@ -167,23 +220,28 @@ export const RenderAutocomplete = (
style={props.inputStyle}
innerref={inputRef}
className={(props.className || '') + ' autocomplete__input'}
onChange={(e) => {
if (props.onChange) {
props.onChange(e);
}
}}
onChange={onChange}
onFocus={() => {
checkDirection();
setShowSuggestions(true);
checkDirection();
}}
/>
<div ref={menuRef}>
<ThemeDiv className={`autocomplete__items ${inverted ? 'autocomplete__items--inverted' : ''}`} hidden={!showSuggestions || (props.items || []).length < 1}>
{ReactDOM.createPortal(
<ThemeDiv
className='autocomplete__items'
style={{
visibility: !showSuggestions || (props.items || []).length < 1 ? 'hidden' : 'visible',
overflow: !showSuggestions || (props.items || []).length < 1 ? 'hidden' : null,
top: position.top,
left: position.left,
}}
innerref={menuRef}>
{(curItems || []).map((i, n) => (
<div
key={i}
onClick={() => {
props.onChange({target: {value: i}} as React.ChangeEvent<HTMLInputElement>);
onChange({target: {value: i}} as React.ChangeEvent<HTMLInputElement>);
setShowSuggestions(false);
if (props.onItemClick) {
props.onItemClick(i);
@ -193,8 +251,9 @@ export const RenderAutocomplete = (
{i}
</div>
))}
</ThemeDiv>
</div>
</ThemeDiv>,
document.body
)}
</div>
);
};

View File

@ -17,30 +17,4 @@
background-color: $argo-color-teal-6;
color: white;
}
&__item {
height: 2em;
padding: 0 5px;
border-radius: 5px;
display: flex;
align-items: center;
background-color: white;
transition: background-color 200ms ease;
margin: 0.25em 0;
cursor: pointer;
flex-wrap: nowrap;
&__label {
text-overflow: ellipsis;
flex-grow: 0;
overflow: hidden;
white-space: nowrap;
}
&--selected {
background-color: $argo-color-teal-3;
color: $argo-color-teal-8;
font-weight: 500;
}
}
}

View File

@ -28,35 +28,3 @@ export const Checkbox = (props: {value?: boolean; onChange?: (value: boolean) =>
</div>
);
};
export interface CheckboxOption {
label: string;
count?: number;
icon?: React.ReactNode;
}
export const CheckboxRow = (props: {value: boolean; onChange?: (value: boolean) => void; option: CheckboxOption}) => {
const [value, setValue] = React.useState(props.value);
React.useEffect(() => {
setValue(props.value);
}, [props.value]);
return (
<div className={`checkbox__item ${value ? 'checkbox__item--selected' : ''}`} onClick={() => setValue(!value)}>
<Checkbox
onChange={(val) => {
setValue(val);
props.onChange(val);
}}
value={value}
style={{
marginRight: '8px',
}}
/>
{props.option.icon && <div style={{marginRight: '5px'}}>{props.option.icon}</div>}
<div className='checkbox__item__label'>{props.option.label}</div>
<div style={{marginLeft: 'auto'}}>{props.option.count}</div>
</div>
);
};

View File

@ -1,20 +0,0 @@
@import '../../styles/colors.scss';
.code-editor {
height: 100%;
&--editor {
box-sizing: border-box;
padding: 10px 0;
font-family: monospace;
appearance: none;
resize: none;
width: 100%;
height: 100%;
border-radius: 5px;
border: 1px solid $argo-color-gray-4;
&:focus {
outline: none;
box-shadow: none;
}
}
}

View File

@ -1,58 +0,0 @@
import * as React from 'react';
import ThemeDiv from '../theme-div/theme-div';
import {Controlled as ReactCodeMirror} from 'react-codemirror2';
import {Editor as CMEditor, EditorConfiguration} from 'codemirror';
import 'codemirror/lib/codemirror.css';
import 'codemirror/mode/jsx/jsx';
import 'codemirror/theme/neo.css';
import './code-editor.scss';
export const Editor = (props: {setCode: (code: string) => void; init?: string}) => {
const [code, setCode] = React.useState(props.init || '');
const editorRef = React.useRef<CMEditor | null>(null);
React.useEffect(() => {
setCode(props.init);
}, [props.init]);
return (
<ThemeDiv className='code-editor'>
<ReactCodeMirror
className='code-editor--editor'
editorDidMount={(editorInstance) => {
editorRef.current = editorInstance;
}}
onBeforeChange={(editorInstance, data, newCode) => {
if (editorInstance.hasFocus()) {
setCode(newCode);
props.setCode(newCode);
}
}}
options={
{
mode: 'jsx',
autoCloseTags: true,
autoCloseBrackets: true,
theme: 'neo',
viewportMargin: 50,
lineNumbers: true,
extraKeys: {
Tab: (cm: any) => {
if (cm.somethingSelected()) {
cm.indentSelection('add');
} else {
const indent = cm.getOption('indentUnit') as number;
const spaces = Array(indent + 1).join(' ');
cm.replaceSelection(spaces);
}
},
},
} as EditorConfiguration
}
value={code}
/>
</ThemeDiv>
);
};
export default Editor;

View File

@ -11,13 +11,13 @@ interface EffectDivProps extends React.DetailedHTMLProps<React.HTMLAttributes<HT
/**
* EffectDiv is a component that attaches a background to a div, that can be animated with CSS transitions or otherwise.
It was designed to avoid text artifacts when scaling a div; an EffectDiv allows you to easily scale JUST its background, and not its contents.
You can drop in replace a div with an EffectDiv, but to add a background effect, you need to:
- Remove background styles from the main div (including border and border-radius)
- Add the styles you removed to the `&__background` selector
- Add transitions to the `&__background` selector
* It was designed to avoid text artifacts when scaling a div; an EffectDiv allows you to easily scale JUST its background, and not its contents.
*
* You can drop in replace a div with an EffectDiv, but to add a background effect, you need to:
*
* - Remove background styles from the main div (including border and border-radius)
* - Add the styles you removed to the `&__background` selector
* - Add transitions to the `&__background` selector
*/
export const EffectDiv = (props: EffectDivProps) => {
const backgroundCl = appendSuffixToClasses(props.className, '__background');

View File

@ -10,8 +10,6 @@ export * from './header/header';
export * from './info-item/info-item';
export * from './input/input';
export * from './menu/menu';
export * from './pod/pod';
export * from './replica-set/replica-set';
export * from './row/row';
export * from './text/text';
export {ThemeDiv} from './theme-div/theme-div';

View File

@ -58,17 +58,23 @@
&--row {
display: flex;
align-items: center;
margin: 0.5em 0;
flex-grow: 1;
label {
margin-right: auto;
padding-right: 5px;
}
.info-item {
margin: 0.25em 0;
margin-left: 5px;
}
&__container {
margin-left: auto;
&:last-child {
margin-right: 0;
}
display: flex;
min-width: 0;
padding-left: 25px;
flex-wrap: wrap;
justify-content: flex-end;
}
}
}

View File

@ -43,12 +43,13 @@ export const InfoItem = (props: InfoItemProps) => {
* Displays a right justified InfoItem (or multiple InfoItems) and a left justfied label
*/
export const InfoItemRow = (props: {label: string | React.ReactNode; items?: InfoItemProps | InfoItemProps[]; lightweight?: boolean}) => {
let {label, items} = props;
let {items} = props;
const {label} = props;
let itemComponents = null;
if (!Array.isArray(items)) {
items = [items];
}
itemComponents = items.map((c, i) => <InfoItem key={`${c} ${i}`} {...c} lightweight={c.lightweight === undefined ? props.lightweight : c.lightweight} />);
itemComponents = items?.map((c, i) => <InfoItem key={`${c} ${i}`} {...c} lightweight={c?.lightweight === undefined ? props.lightweight : c?.lightweight} />);
return (
<div className='info-item--row'>
@ -57,7 +58,7 @@ export const InfoItemRow = (props: {label: string | React.ReactNode; items?: Inf
<label>{label}</label>
</Text>
)}
{props.items && <div style={{marginLeft: 'auto', display: 'flex', minWidth: 0, paddingLeft: '25px'}}>{itemComponents}</div>}
{props.items && <div className='info-item--row__container'>{itemComponents}</div>}
</div>
);
};

Some files were not shown because too many files have changed in this diff Show More