@keeper-security/keeper-js-ui 0.25.1 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +31 -21
- package/dist/index.cjs +6 -6
- package/dist/index.js +3395 -3382
- package/dist/style.css +1 -1
- package/dist/types/components/layout/box.d.ts +17 -3
- package/dist/types/components/layout/box.d.ts.map +1 -1
- package/dist/types/components/layout/flex.d.ts +22 -7
- package/dist/types/components/layout/flex.d.ts.map +1 -1
- package/dist/types/components/ui/button.d.ts +1 -1
- package/dist/types/components/ui/button.d.ts.map +1 -1
- package/dist/types/components/ui/collapsible.d.ts +6 -0
- package/dist/types/components/ui/collapsible.d.ts.map +1 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +1 -1
- package/dist/types/components/ui/icon.d.ts +8 -2
- package/dist/types/components/ui/icon.d.ts.map +1 -1
- package/dist/types/components/ui/list.d.ts +1 -1
- package/dist/types/components/ui/loader.d.ts +1 -1
- package/dist/types/components/ui/tabs.d.ts +8 -0
- package/dist/types/components/ui/tabs.d.ts.map +1 -0
- package/dist/types/components/ui/typography.d.ts +9 -3
- package/dist/types/components/ui/typography.d.ts.map +1 -1
- package/dist/types/icons/app-window-2-x.d.ts +3 -0
- package/dist/types/icons/app-window-2-x.d.ts.map +1 -0
- package/dist/types/icons/docker-brand.d.ts +3 -0
- package/dist/types/icons/docker-brand.d.ts.map +1 -0
- package/dist/types/icons/docker-logo.d.ts.map +1 -1
- package/dist/types/icons/index.d.ts +6 -0
- package/dist/types/icons/index.d.ts.map +1 -1
- package/dist/types/icons/kubernetes-brand.d.ts +3 -0
- package/dist/types/icons/kubernetes-brand.d.ts.map +1 -0
- package/dist/types/icons/mysql-brand.d.ts +3 -0
- package/dist/types/icons/mysql-brand.d.ts.map +1 -0
- package/dist/types/icons/mysql-logo.d.ts.map +1 -1
- package/dist/types/icons/postgres-brand.d.ts +3 -0
- package/dist/types/icons/postgres-brand.d.ts.map +1 -0
- package/dist/types/icons/vnc-brand.d.ts +3 -0
- package/dist/types/icons/vnc-brand.d.ts.map +1 -0
- package/dist/types/lib/types.d.ts +1 -3
- package/dist/types/lib/types.d.ts.map +1 -1
- package/dist/types/lib/utils.d.ts +3 -2
- package/dist/types/lib/utils.d.ts.map +1 -1
- package/dist/types/tokens/color.d.ts +37 -91
- package/dist/types/tokens/color.d.ts.map +1 -1
- package/dist/types/tokens/color.fixtures.d.ts +138 -0
- package/dist/types/tokens/color.fixtures.d.ts.map +1 -0
- package/dist/types/tokens/typography.d.ts +7 -0
- package/dist/types/tokens/typography.d.ts.map +1 -1
- package/package.json +34 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.26.0](https://github.com/Keeper-Security/keeper-js-ui/compare/v0.25.2...v0.26.0) (2026-06-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **Box:** accept any element type via `as` ([#588](https://github.com/Keeper-Security/keeper-js-ui/issues/588)) ([72d2881](https://github.com/Keeper-Security/keeper-js-ui/commit/72d2881e44fba7aa517b15154fbe316834ebf928))
|
|
9
|
+
* **Icon:** add AppWindow2XIcon to library ([#587](https://github.com/Keeper-Security/keeper-js-ui/issues/587)) ([7316bc4](https://github.com/Keeper-Security/keeper-js-ui/commit/7316bc4503b1be3a2d94543baea87c50ce25ad47))
|
|
10
|
+
* **Typography:** deprecate "default" size, add "md" alias ([#573](https://github.com/Keeper-Security/keeper-js-ui/issues/573)) ([c760368](https://github.com/Keeper-Security/keeper-js-ui/commit/c760368d7d887bd1ac083d1fb7e87bdbf13a0b7a))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **Button:** apply consistent 8px padding across all sizes ([#590](https://github.com/Keeper-Security/keeper-js-ui/issues/590)) ([c948488](https://github.com/Keeper-Security/keeper-js-ui/commit/c94848827ce24a0b8cd478bc6039de23cf77989f)), closes [#589](https://github.com/Keeper-Security/keeper-js-ui/issues/589)
|
|
16
|
+
* **deps:** move react/react-dom from dependencies to devDependencies ([f5c047b](https://github.com/Keeper-Security/keeper-js-ui/commit/f5c047b8683a18ee0411daded706b55e70d0dc11)), closes [#594](https://github.com/Keeper-Security/keeper-js-ui/issues/594)
|
|
17
|
+
|
|
18
|
+
## [0.25.2](https://github.com/Keeper-Security/keeper-js-ui/compare/v0.25.1...v0.25.2) (2026-05-18)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* **Icon:** distinguish between brand and logo icons ([#562](https://github.com/Keeper-Security/keeper-js-ui/issues/562)) ([ecf7e75](https://github.com/Keeper-Security/keeper-js-ui/commit/ecf7e75c8e44cef580e95ca1cd03986dc49db3fb))
|
|
24
|
+
* **Icon:** include Typography color mapping ([#557](https://github.com/Keeper-Security/keeper-js-ui/issues/557)) ([7e11965](https://github.com/Keeper-Security/keeper-js-ui/commit/7e11965e71060d9aae5191081fb4ff197d62ac6a))
|
|
25
|
+
* **Input:** adjust IconButton alignments ([#564](https://github.com/Keeper-Security/keeper-js-ui/issues/564)) ([890882a](https://github.com/Keeper-Security/keeper-js-ui/commit/890882a716032a1c4d89df03dc618da9f0dc2730)), closes [#563](https://github.com/Keeper-Security/keeper-js-ui/issues/563)
|
|
26
|
+
|
|
3
27
|
## [0.25.1](https://github.com/Keeper-Security/keeper-js-ui/compare/v0.25.0...v0.25.1) (2026-05-13)
|
|
4
28
|
|
|
5
29
|
|
package/README.md
CHANGED
|
@@ -6,12 +6,10 @@ _React components built for accessibility, consistency, and speed._
|
|
|
6
6
|
|
|
7
7
|
- Terminal of your choice.
|
|
8
8
|
- [git](https://github.com/git-guides/install-git) - Type `git -v` into your terminal to verify.
|
|
9
|
-
- [Node.js v24](https://nodejs.org/en/download/package-manager) - Type `node -v` into your terminal to verify.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- [nvm](https://github.com/nvm-sh/nvm) - Manage multiple versions of node/npm. Type `nvm -v` into your terminal to verify.
|
|
14
|
-
- [VS Code](https://code.visualstudio.com/) - Popular code editor with a healthy ecosystem of [extensions](https://marketplace.visualstudio.com/VSCode)/plugins.
|
|
9
|
+
- [Node.js v24](https://nodejs.org/en/download/package-manager) - Type `node -v` into your terminal to verify. **Recommendation**: use [nvm](https://github.com/nvm-sh/nvm) to install and manage different versions of Node.
|
|
10
|
+
- [pnpm v11.4.0](https://pnpm.io/installation) - Type `pnpm -v` to verify. **Recommendation**: use [Corepack](https://pnpm.io/installation#using-corepack) that comes bundled with Node since `v16.13`:
|
|
11
|
+
1. `corepack enable pnpm`
|
|
12
|
+
2. `corepack prepare --activate`
|
|
15
13
|
|
|
16
14
|
## Getting Started
|
|
17
15
|
|
|
@@ -20,13 +18,13 @@ Git clone or [download](https://github.com/Keeper-Security/keeper-js-ui/archive/
|
|
|
20
18
|
Open a terminal from the root of the project and run:
|
|
21
19
|
|
|
22
20
|
```sh
|
|
23
|
-
|
|
21
|
+
pnpm ci
|
|
24
22
|
```
|
|
25
23
|
|
|
26
24
|
Views are rendered via [Storybook](https://storybook.js.org/). To see components in action and start making edits, simply run:
|
|
27
25
|
|
|
28
26
|
```sh
|
|
29
|
-
|
|
27
|
+
pnpm storybook
|
|
30
28
|
```
|
|
31
29
|
|
|
32
30
|
`ctrl + c` to stop the server.
|
|
@@ -45,7 +43,7 @@ The [src/](./src/) folder holds all component-related code.
|
|
|
45
43
|
- [src/hooks](./src/hooks/): React-specific [hooks](https://react.dev/reference/react/hooks).
|
|
46
44
|
- [src/lib/](./src/lib/): Internal utility/helper functions.
|
|
47
45
|
|
|
48
|
-
With [Storybook](https://storybook.js.org/) running (`
|
|
46
|
+
With [Storybook](https://storybook.js.org/) running (`pnpm storybook`), most edits are shown immediately upon saving without the need for browser refreshes or server restarts. Exceptions would be changes to infrastructure code like edits to Storybook itself.
|
|
49
47
|
|
|
50
48
|
### Creating a Story
|
|
51
49
|
|
|
@@ -218,15 +216,28 @@ and allow enough time for migration before removal.
|
|
|
218
216
|
export { MyNewExampleIcon } from '@/icons/my-new-example'
|
|
219
217
|
```
|
|
220
218
|
|
|
219
|
+
### Icon Naming Conventions
|
|
220
|
+
|
|
221
|
+
- All files are located in `/src/icons`.
|
|
222
|
+
- All publicly available icons must be added to `/src/icons/index.ts`.
|
|
223
|
+
- A **logo** icon represents a company.
|
|
224
|
+
- Filename: `*-logo.tsx`.
|
|
225
|
+
- All logo icons must be be able to inherit the `currentColor` or define a semantic color.
|
|
226
|
+
- A logo icon should include `logo` in its `alias` array.
|
|
227
|
+
- A **brand** icon represents a company and preserves brand color.
|
|
228
|
+
- Filename: `*-brand.tsx`.
|
|
229
|
+
- All brand icons must not change their color in any way. Using `color` should cause a TS error.
|
|
230
|
+
- A brand icon should include `brand` and `logo` in its `alias` array.
|
|
231
|
+
|
|
221
232
|
## Testing
|
|
222
233
|
|
|
223
|
-
The [Vitest addon](https://storybook.js.org/docs/writing-tests/integrations/vitest-addon) will run smoke tests and unit tests with the command: `
|
|
234
|
+
The [Vitest addon](https://storybook.js.org/docs/writing-tests/integrations/vitest-addon) will run smoke tests and unit tests with the command: `pnpm test`.
|
|
224
235
|
|
|
225
236
|
### Smoke Tests
|
|
226
237
|
|
|
227
238
|
Also known as confidence testing or sanity testing, smoke testing is the practice of testing the most important functionality of a system or feature. In this case, we use them to also check if any code changes have broken components in obvious ways. This automated process would be the equivalent of manually clicking on each story and verifying that it loaded without errors.
|
|
228
239
|
|
|
229
|
-
There is no additional code you need to write after creating a new story. Stories will get picked up automatically and tested whenever `
|
|
240
|
+
There is no additional code you need to write after creating a new story. Stories will get picked up automatically and tested whenever `pnpm test` is ran.
|
|
230
241
|
|
|
231
242
|
When you push a change up to Github, an [action will run](https://github.com/Keeper-Security/keeper-js-ui/actions/workflows/storybook-tests.yml) these tests and give you feedback to the outcome.
|
|
232
243
|
|
|
@@ -356,7 +367,7 @@ These standards are enforced with the help of [commitlint](https://commitlint.js
|
|
|
356
367
|
If you're not comfortable with [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) and you're ready to commit your **staged changes**, you can run:
|
|
357
368
|
|
|
358
369
|
```sh
|
|
359
|
-
|
|
370
|
+
pnpm commit
|
|
360
371
|
```
|
|
361
372
|
|
|
362
373
|
[czhgit](https://github.com/Zhengqbbb/cz-git) will prompt a series of questions and format your answers per the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/#specification):
|
|
@@ -415,16 +426,16 @@ Occassionally, a PR might be created when a security patch is available from one
|
|
|
415
426
|
> It's always a good idea to `git pull` and `git checkout` that branch locally to run some smoke tests before merging.
|
|
416
427
|
|
|
417
428
|
```
|
|
418
|
-
|
|
429
|
+
pnpm ci && pnpm build && pnpm start
|
|
419
430
|
```
|
|
420
431
|
|
|
421
|
-
If you want to take an additional step to smoke test, you can run `
|
|
432
|
+
If you want to take an additional step to smoke test, you can run `pnpm test` in a new terminal while `pnpm start` is still running.
|
|
422
433
|
|
|
423
434
|
### Release PRs
|
|
424
435
|
|
|
425
436
|
Whenever a PR is merged into the `main` branch, a [Release Github Action](https://github.com/Keeper-Security/keeper-js-ui/actions/workflows/release-please.yml) is automatically triggered to parse through the git history for certain keywords.
|
|
426
437
|
|
|
427
|
-
Based on the existence of these keywords, a new PR may be created automatically with updates to `package.json`, `
|
|
438
|
+
Based on the existence of these keywords, a new PR may be created automatically with updates to `package.json`, `pnpm-lock.yaml`, and `CHANGELOG.md`.
|
|
428
439
|
|
|
429
440
|
Once that PR is merged into `main`, a release tag is created. See [Publishing an NPM Package](#publishing-an-npm-package) for more info.
|
|
430
441
|
|
|
@@ -492,7 +503,6 @@ This provides 100% customizable opportunities and 100% ownership. It also relies
|
|
|
492
503
|
|
|
493
504
|
- [.czrc](./.czrc) => [cz-git](https://github.com/Zhengqbbb/cz-git#readme)
|
|
494
505
|
- [.husky/\*](./.husky/) => [Husky](https://typicode.github.io/husky/how-to.html)
|
|
495
|
-
- [.nvmrc](./.nvmrc) => [nvm](https://github.com/nvm-sh/nvm#readme)
|
|
496
506
|
- [prettier.config.js](./prettier.config.js) => [Prettier](https://prettier.io/docs/en/configuration.html)
|
|
497
507
|
- [.storybook/\*](./.storybook/) => [Storybook](https://storybook.js.org/docs/get-started/setup)
|
|
498
508
|
- [commitlint.config.mjs](./commitlint.config.mjs) => [commitlint](https://commitlint.js.org/reference/configuration.html)
|
|
@@ -507,7 +517,7 @@ This provides 100% customizable opportunities and 100% ownership. It also relies
|
|
|
507
517
|
To create a production-ready build, you can run:
|
|
508
518
|
|
|
509
519
|
```sh
|
|
510
|
-
|
|
520
|
+
pnpm build
|
|
511
521
|
```
|
|
512
522
|
|
|
513
523
|
This process inspects the [src/index.ts](./src/index.ts) file and pulls in only the necessary code. Packages listed under [package.json's](./package.json) `peerDependencies` will be ignored and left to the external implementations to install separately. This avoids redundancy and keeps file sizes down.
|
|
@@ -523,13 +533,13 @@ A `dist` folder will be created at the root of the project. This folder is ignor
|
|
|
523
533
|
|
|
524
534
|
Before publishing, you want to make sure that external projects have access to expected components and intellisense/autocomplete still works.
|
|
525
535
|
|
|
526
|
-
|
|
536
|
+
The recommended approach is to run [pnpm pack](https://pnpm.io/cli/pack) to create a local \*.tgz file in the library and install that file into the external project importing the library.
|
|
527
537
|
|
|
528
538
|
0. (Optional): Update the library's `package.json` version number, **_but don't commit it_**. This step is automated with the correct next version number.
|
|
529
539
|
1. From the library, run:
|
|
530
540
|
|
|
531
541
|
```sh
|
|
532
|
-
|
|
542
|
+
pnpm build && pnpm pack
|
|
533
543
|
```
|
|
534
544
|
|
|
535
545
|
2. Copy the name and location of the new `*.tgz` file that was created at the root of the library.
|
|
@@ -544,10 +554,10 @@ npm run build && npm pack
|
|
|
544
554
|
5. From the external project, run:
|
|
545
555
|
|
|
546
556
|
```sh
|
|
547
|
-
|
|
557
|
+
pnpm install
|
|
548
558
|
```
|
|
549
559
|
|
|
550
|
-
6. After testing for component behavior and availability, as well as intellisense/autocomplete and TypeScript prop validation, undo your package reference changes to `package.json` & `
|
|
560
|
+
6. After testing for component behavior and availability, as well as intellisense/autocomplete and TypeScript prop validation, undo your package reference changes to `package.json` & `pnpm-lock.yaml`. **_Do not commit them into your external project._**
|
|
551
561
|
|
|
552
562
|
## Publishing an NPM Package
|
|
553
563
|
|