1
0
mirror of https://github.com/XFox111/PasswordGeneratorExtension.git synced 2026-07-02 19:52:43 +03:00

Compare commits

...

16 Commits

Author SHA1 Message Date
dependabot[bot] f4c8e1e280 Bump the deps group with 9 updates
Bumps the deps group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.74.1` | `9.74.3` |
| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.328` | `2.0.331` |
| [@wxt-dev/i18n](https://github.com/wxt-dev/wxt/tree/HEAD/packages/i18n) | `0.2.5` | `0.2.6` |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.62.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.60.0` | `8.62.1` |
| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.6.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.6.0` | `17.7.0` |
| [wxt](https://github.com/wxt-dev/wxt) | `0.20.26` | `0.20.27` |


Updates `@fluentui/react-components` from 9.74.1 to 9.74.3
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.74.1...@fluentui/react-components_v9.74.3)

Updates `@fluentui/react-icons` from 2.0.328 to 2.0.331
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

Updates `@wxt-dev/i18n` from 0.2.5 to 0.2.6
- [Release notes](https://github.com/wxt-dev/wxt/releases)
- [Changelog](https://github.com/wxt-dev/wxt/blob/main/packages/i18n/CHANGELOG.md)
- [Commits](https://github.com/wxt-dev/wxt/commits/i18n-v0.2.6/packages/i18n)

Updates `@eslint/js` from 9.39.4 to 10.0.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js)

Updates `@typescript-eslint/eslint-plugin` from 8.60.0 to 8.62.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.62.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.60.0 to 8.62.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.62.1/packages/parser)

Updates `eslint` from 9.39.4 to 10.6.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.6.0)

Updates `globals` from 17.6.0 to 17.7.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0)

Updates `wxt` from 0.20.26 to 0.20.27
- [Release notes](https://github.com/wxt-dev/wxt/releases)
- [Commits](https://github.com/wxt-dev/wxt/compare/wxt-v0.20.26...wxt-v0.20.27)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.74.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.331
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@wxt-dev/i18n"
  dependency-version: 0.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.62.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.62.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: eslint
  dependency-version: 10.6.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: globals
  dependency-version: 17.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: wxt
  dependency-version: 0.20.27
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 05:24:33 +00:00
xfox111 e3300f280a Patch 5.1.8 (#636)
* Bump the deps group with 6 updates (#635)

* Bump the deps group with 6 updates

Bumps the deps group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.73.8` | `9.74.1` |
| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.326` | `2.0.328` |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.3` | `8.60.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.3` | `8.60.0` |
| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.1` |


Updates `@fluentui/react-components` from 9.73.8 to 9.74.1
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Commits](https://github.com/microsoft/fluentui/commits/@fluentui/react-components_v9.74.1)

Updates `@fluentui/react-icons` from 2.0.326 to 2.0.328
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

Updates `@eslint/js` from 9.39.4 to 10.0.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js)

Updates `@typescript-eslint/eslint-plugin` from 8.59.3 to 8.60.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.59.3 to 8.60.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser)

Updates `eslint` from 9.39.4 to 10.4.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.4.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.74.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.328
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: eslint
  dependency-version: 10.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: deps
...

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

* Downgrade eslint to v9 since eslint-plugin-react is incompatible with v10

* Audit fixes for uuid (CVE-2026-41907) and tmp (CVE-2026-44705)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene@xfox111.net>

* Package version update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 18:30:19 +12:00
xfox111 753a0b7730 docs: Fix badge links and update download section formatting 2026-05-26 21:15:17 +12:00
xfox111 3296674ad4 docs: add edge user counter to readme 2026-05-26 21:03:20 +12:00
xfox111 6881ab9dbc Patch 5.1.7 (#631)
* npm package update/npm audit fix/manifest version update

* Dependabot grouping update

* Minor branding update

* Updated copyright dates

* Bumped typescript to 6.0.3
2026-05-17 19:22:44 +12:00
xfox111 0b4d05686d Patch 5.1.6 (#625)
* Bump the deps group across 1 directory with 8 updates (#624)

Bumps the deps group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.72.7` | `9.72.9` |
| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.315` | `2.0.316` |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.1` | `9.39.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.0` | `8.51.0` |
| [eslint](https://github.com/eslint/eslint) | `9.39.1` | `9.39.2` |
| [globals](https://github.com/sindresorhus/globals) | `16.5.0` | `17.0.0` |
| [wxt](https://github.com/wxt-dev/wxt) | `0.20.11` | `0.20.13` |



Updates `@fluentui/react-components` from 9.72.7 to 9.72.9
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.72.7...@fluentui/react-components_v9.72.9)

Updates `@fluentui/react-icons` from 2.0.315 to 2.0.316
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

Updates `@eslint/js` from 9.39.1 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)

Updates `@typescript-eslint/eslint-plugin` from 8.48.0 to 8.51.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.48.0 to 8.51.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/parser)

Updates `eslint` from 9.39.1 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)

Updates `globals` from 16.5.0 to 17.0.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0)

Updates `wxt` from 0.20.11 to 0.20.13
- [Release notes](https://github.com/wxt-dev/wxt/releases)
- [Commits](https://github.com/wxt-dev/wxt/compare/wxt-v0.20.11...wxt-v0.20.13)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.72.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.316
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@eslint/js"
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: globals
  dependency-version: 17.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: wxt
  dependency-version: 0.20.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump version from 5.1.5 to 5.1.6

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 20:45:04 +03:00
xfox111 5a3d89cf9a Patch 5.1.5 (#621)
* Bump actions/checkout from 5 to 6 (#619)

Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [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/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  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>

* Bump the deps group with 4 updates (#620)

Bumps the deps group with 4 updates: [@fluentui/react-components](https://github.com/microsoft/fluentui), [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@fluentui/react-components` from 9.72.6 to 9.72.7
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.72.6...@fluentui/react-components_v9.72.7)

Updates `@fluentui/react-icons` from 2.0.313 to 2.0.315
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

Updates `@typescript-eslint/eslint-plugin` from 8.46.4 to 8.48.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.4 to 8.48.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.72.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.315
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.48.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.48.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CVE fixes

* Bump version to 5.1.5

* Bump version from 5.1.4 to 5.1.5 in package-lock.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 01:29:04 +03:00
xfox111 ebb277f2c8 Patch 5.1.4 (#616)
* Bump github/codeql-action from 3 to 4 (#606)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  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>

* Bump the deps group across 1 directory with 7 updates (#615)

* Bump the deps group across 1 directory with 7 updates

Bumps the deps group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.72.0` | `9.72.6` |
| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.311` | `2.0.313` |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.37.0` | `9.39.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.45.0` | `8.46.4` |
| [eslint](https://github.com/eslint/eslint) | `9.37.0` | `9.39.1` |
| [globals](https://github.com/sindresorhus/globals) | `16.4.0` | `16.5.0` |



Updates `@fluentui/react-components` from 9.72.0 to 9.72.6
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.72.0...@fluentui/react-components_v9.72.6)

Updates `@fluentui/react-icons` from 2.0.311 to 2.0.313
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/fluentui-android-system-icons-release.yml)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

Updates `@eslint/js` from 9.37.0 to 9.39.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.1/packages/js)

Updates `@typescript-eslint/eslint-plugin` from 8.45.0 to 8.46.4
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.4/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.45.0 to 8.46.4
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.4/packages/parser)

Updates `eslint` from 9.37.0 to 9.39.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.37.0...v9.39.1)

Updates `globals` from 16.4.0 to 16.5.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.4.0...v16.5.0)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.72.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.313
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: deps
- dependency-name: "@eslint/js"
  dependency-version: 9.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: eslint
  dependency-version: 9.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
- dependency-name: globals
  dependency-version: 16.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: deps
...

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

* React 19 bump + vite vulnerability fix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene@xfox111.net>

* Bump version from 5.1.3 to 5.1.4

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 15:24:55 +03:00
xfox111 ca048f4da0 Refactor dependabot.yml to adjust dependency groups 2025-11-11 14:37:35 +03:00
xfox111 595eb78060 Updated dependabot config to combine npm bumps
Added groups for managing dependencies in dependabot configuration.
2025-11-11 14:20:09 +03:00
xfox111 3187aa9a9a Patch 5.1.3 (#603)
* Monthly dependency bump (October 2025)

* Update package.json
2025-10-05 00:07:06 +05:00
xfox111 d555b2a3ae Patch 5.1.2 (#589)
* Bump @fluentui/react-icons from 2.0.307 to 2.0.309 (#588)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.307 to 2.0.309.
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/fluentui-android-system-icons-release.yml)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.309
  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>

* Bump @typescript-eslint/parser from 8.39.0 to 8.42.0 (#586)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.39.0 to 8.42.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.42.0
  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>

* Bump eslint from 9.32.0 to 9.34.0 (#585)

Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.34.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.34.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.34.0
  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>

* Bump @eslint/js from 9.32.0 to 9.34.0 (#583)

Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.32.0 to 9.34.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.34.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.34.0
  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>

* Bump wxt from 0.20.7 to 0.20.8 (#582)

Bumps [wxt](https://github.com/wxt-dev/wxt) from 0.20.7 to 0.20.8.
- [Release notes](https://github.com/wxt-dev/wxt/releases)
- [Commits](https://github.com/wxt-dev/wxt/compare/wxt-v0.20.7...wxt-v0.20.8)

---
updated-dependencies:
- dependency-name: wxt
  dependency-version: 0.20.8
  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>

* Bump actions/checkout from 3 to 5 (#581)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 5.
- [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...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  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>

* Bump @typescript-eslint/eslint-plugin from 8.39.0 to 8.42.0 (#584)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.39.0 to 8.42.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.42.0
  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>
Co-authored-by: Eugene Fox <eugene@xfox111.net>

* Bump @fluentui/react-components from 9.68.2 to 9.69.0 (#587)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.68.2 to 9.69.0.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.68.2...@fluentui/react-components_v9.69.0)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.69.0
  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>
Co-authored-by: Eugene Fox <eugene@xfox111.net>

* Bump version from 5.1.1 to 5.1.2

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 00:08:15 +03:00
xfox111 bb16fa5755 Patch 5.1.1 (#579)
* Bump eslint from 9.30.0 to 9.32.0 (#572)

Bumps [eslint](https://github.com/eslint/eslint) from 9.30.0 to 9.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.30.0...v9.32.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.32.0
  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>

* Bump @typescript-eslint/parser from 8.35.1 to 8.38.0 (#578)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.35.1 to 8.38.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.38.0
  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>

* Bump @fluentui/react-components from 9.66.5 to 9.68.2 (#575)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.66.5 to 9.68.2.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.66.5...@fluentui/react-components_v9.68.2)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.68.2
  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>

* Bump @fluentui/react-icons from 2.0.305 to 2.0.307 (#576)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.305 to 2.0.307.
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/fluentui-android-system-icons-release.yml)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.307
  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>

* Bump @typescript-eslint/eslint-plugin from 8.35.1 to 8.38.0 (#574)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.35.1 to 8.38.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.38.0
  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>

* Bump globals from 16.2.0 to 16.3.0 (#571)

Bumps [globals](https://github.com/sindresorhus/globals) from 16.2.0 to 16.3.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.3.0
  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>

* Bump dev-build-deploy/release-me from 0.18.1 to 0.18.2 (#568)

Bumps [dev-build-deploy/release-me](https://github.com/dev-build-deploy/release-me) from 0.18.1 to 0.18.2.
- [Release notes](https://github.com/dev-build-deploy/release-me/releases)
- [Changelog](https://github.com/dev-build-deploy/release-me/blob/main/docs/get-release.md)
- [Commits](https://github.com/dev-build-deploy/release-me/compare/v0.18.1...v0.18.2)

---
updated-dependencies:
- dependency-name: dev-build-deploy/release-me
  dependency-version: 0.18.2
  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>

* Update package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 14:46:47 +03:00
xfox111 a4de3139bf Minor 5.1.0 (#560)
* Force no-wrap for special characters tooltip (resolves #551) (#555)

* Increase width of password count field in advanced generator (resolves #548) (#554)

* Added password length limit in advanced generator (#552)

* Added password length limit in advanced generator (resolves #547)

* Add radix to parseInt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove unnecessary callback dependency

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* npm audit fix (#556)

* Added length slider range limits (#557)

* Added length slider range limits (resolves #546)

* Fix validateMaxLimit logic

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Added password length update on input field blur (resolves #549) (#559)

* Separator option for advanced password generator (#558)

* Added separator option for advanced password generator (resolves #545)

* Fix typos

* Fixed merge typo

* Update package.json

* Bump @fluentui/react-components from 9.64.0 to 9.66.5 (#561)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.64.0 to 9.66.5.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.64.0...@fluentui/react-components_v9.66.5)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-version: 9.66.5
  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>

* Bump @typescript-eslint/parser from 8.33.1 to 8.35.1 (#562)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.33.1 to 8.35.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.35.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.35.1
  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>

* Bump @eslint/js from 9.28.0 to 9.30.0 (#564)

Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.28.0 to 9.30.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.30.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.30.0
  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>

* Bump eslint from 9.28.0 to 9.30.0 (#566)

Bumps [eslint](https://github.com/eslint/eslint) from 9.28.0 to 9.30.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.28.0...v9.30.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.30.0
  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>

* Bump @typescript-eslint/eslint-plugin from 8.33.1 to 8.35.1 (#563)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.33.1 to 8.35.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.35.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.35.1
  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>

* Bump @fluentui/react-icons from 2.0.302 to 2.0.305 (#565)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.302 to 2.0.305.
- [Changelog](https://github.com/microsoft/fluentui-system-icons/blob/main/fluentui-android-system-icons-release.yml)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-version: 2.0.305
  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>

* Moved default password lengths to constants (#553)

* Added radix 10 for parseInt (#553)

* Removed ts-expect-error microsoft/fluentui#27090

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:25:32 +03:00
xfox111 5d8037e767 Disable blank issue template 2025-06-29 14:55:30 +03:00
xfox111 11f0942a80 Replaced dependabot reviewers with CODEOWNERS 2025-06-03 18:45:22 +03:00
29 changed files with 2993 additions and 3652 deletions
+2
View File
@@ -0,0 +1,2 @@
* @XFox111
locales/pt_BR.yml @maisondasilva @XFox111
+1 -1
View File
@@ -1,6 +1,6 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-config.json
blank_issues_enabled: true
blank_issues_enabled: false
contact_links:
- name: Questions & Discussions
url: https://github.com/XFox111/PasswordGeneratorExtension/discussions
+37 -12
View File
@@ -12,34 +12,59 @@ updates:
directory: "/" # Location of package manifests
target-branch: "next"
assignees:
- "xfox111"
reviewers:
- "xfox111"
- "XFox111"
schedule:
interval: monthly
rebase-strategy: disabled
open-pull-requests-limit: 20
groups:
deps:
patterns:
- "*"
exclude-patterns:
- "react"
- "react-dom"
- "@types/react"
- "@types/react-dom"
react:
patterns:
- "react"
- "react-dom"
- "@types/react"
- "@types/react-dom"
update-types:
- minor
- patch
react-next:
patterns:
- "react"
- "react-dom"
- "@types/react"
- "@types/react-dom"
update-types:
- major
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "next"
assignees:
- "xfox111"
reviewers:
- "xfox111"
- "XFox111"
schedule:
interval: monthly
rebase-strategy: disabled
open-pull-requests-limit: 20
groups:
actions:
patterns:
- "*"
- package-ecosystem: "devcontainers"
directory: "/"
target-branch: "next"
assignees:
- "xfox111"
reviewers:
- "xfox111"
- "XFox111"
schedule:
interval: monthly
rebase-strategy: disabled
open-pull-requests-limit: 20
groups:
devcontainers:
patterns:
- "*"
+4 -4
View File
@@ -52,11 +52,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -70,7 +70,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -83,4 +83,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
extver=`jq -r ".version" package.json`
echo "version=$extver" >> "$GITHUB_OUTPUT"
- uses: dev-build-deploy/release-me@v0.18.1
- uses: dev-build-deploy/release-me@v0.18.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
prefix: v
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2025 Eugene Fox
Copyright (c) 2026 Eugene Fox
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+7 -6
View File
@@ -27,12 +27,13 @@ Extension for web browsers which helps you to easily generate strong and customi
- Ukrainian
## Download
[![Chrome Web Store](https://img.shields.io/chrome-web-store/users/jnjobgjobffgmgfnkpkjfjkkfhfikmfl?label=Chrome%20Webstore%20downloads)](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
[![Mozilla Add-on](https://img.shields.io/amo/users/easy-password-generator?label=Firefox%20Webstore%20downloads)](https://addons.mozilla.org/firefox/addon/easy-password-generator/)
[![Chrome web store](https://img.shields.io/chrome-web-store/users/jnjobgjobffgmgfnkpkjfjkkfhfikmfl?label=Chrome%20webstore%20users)](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
[![Firefox Browser Add-ons](https://img.shields.io/amo/users/easy-password-generator?label=Firefox%20Browser%20Add-ons%20users)](https://addons.mozilla.org/firefox/addon/easy-password-generator/)
[![Edge Add-ons](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Fmanimdhobjbkfpeeehlhhneookiokpbj&query=%24.activeInstallCount&label=Edge%20Add-ons%20users)](https://microsoftedge.microsoft.com/addons/detail/manimdhobjbkfpeeehlhhneookiokpbj)
- [Google Chrome Webstore](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
- [Microsoft Edge Add-ons Webstore](https://microsoftedge.microsoft.com/addons/detail/manimdhobjbkfpeeehlhhneookiokpbj)
- [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/easy-password-generator/)
- [Chrome web store](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
- [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/manimdhobjbkfpeeehlhhneookiokpbj)
- [Firefox Browser Add-ons](https://addons.mozilla.org/en-US/firefox/addon/easy-password-generator/)
- [GitHub Releases](https://github.com/xfox111/PasswordGeneratorExtension/releases/latest)
### Sideloading (for testing purposes only)
@@ -92,4 +93,4 @@ If you are interested in fixing issues and contributing directly to the code bas
[![GitHub](https://img.shields.io/badge/%40xfox111-GitHub?logo=github&logoColor=%23181717&label=GitHub&labelColor=white&color=%23181717)](https://github.com/xfox111)
[![Buy Me a Coffee](https://img.shields.io/badge/%40xfox111-BMC?logo=buymeacoffee&logoColor=black&label=Buy%20me%20a%20coffee&labelColor=white&color=%23FFDD00)](https://buymeacoffee.com/xfox111)
> ©2025 Eugene Fox. Licensed under [MIT license](https://github.com/XFox111/PasswordGeneratorExtension/blob/main/LICENSE)
> ©2026 Eugene Fox. Licensed under [MIT license](https://github.com/XFox111/PasswordGeneratorExtension/blob/main/LICENSE)
@@ -17,6 +17,6 @@ export const useStyles = makeStyles({
{
display: "grid",
alignItems: "center",
gridTemplateColumns: "24px 24px 56px",
gridTemplateColumns: "24px 24px 60px",
}
});
@@ -14,7 +14,7 @@ export default function GeneratorForm(props: GeneratorFormProps): ReactElement
const setPasswordCount = useCallback((_: any, e: InputOnChangeData) =>
{
const n = parseInt(e.value ?? "1");
const n = parseInt(e.value ?? "1", 10);
private_setPasswordCount(isNaN(n) || n < 1 ? null : Math.min(n, 1000));
}, []);
@@ -27,7 +27,7 @@ export default function PassphraseSection(props: GeneratorProps): ReactElement
const setWordCount = useCallback((_: any, e: InputOnChangeData) =>
{
const n = parseInt(e.value ?? "");
const n = parseInt(e.value ?? "", 10);
private_setWordCount(isNaN(n) || n < 1 ? null : Math.min(n, 100));
}, []);
@@ -4,12 +4,13 @@ import * as fui from "@fluentui/react-components";
import { ReactElement } from "react";
import { GeneratorProps } from "../Page";
import GeneratorForm from "../components/GeneratorForm";
import { DEFAULT_PASSWORD_LENGTH, MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH } from "@/utils/constants";
// TODO: needs refactoring
export default function PasswordSection(props: GeneratorProps): ReactElement
{
const [state, private_setState] = useState<PasswordSectionState>({
length: 8,
length: DEFAULT_PASSWORD_LENGTH,
enableUppercase: true, uppercaseCount: 1,
enableLowercase: true, lowercaseCount: 1,
enableNumeric: true, numericCount: 1,
@@ -19,7 +20,11 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
excludeSimilar: true,
excludeAmbiguous: true,
excludeRepeating: false,
excludeCustom: false, excludeCustomSet: ""
excludeCustom: false, excludeCustomSet: "",
enableSeparator: false,
separator: "-",
separatorInterval: DEFAULT_PASSWORD_LENGTH / 2
});
const cls = useStyles();
@@ -31,9 +36,9 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
const setLength = useCallback((_: any, e: fui.InputOnChangeData) =>
{
const n = parseInt(e.value ?? "");
setState({ length: isNaN(n) || n < 1 ? null : n });
}, [state]);
const n = parseInt(e.value ?? "", 10);
setState({ length: isNaN(n) || n < 1 ? null : Math.min(n, MAX_PASSWORD_LENGTH) });
}, [setState]);
const saveConfiguration = useCallback(
async () => await browser.storage.sync.set({ AdvancedPasswordOptions: state }),
@@ -46,7 +51,7 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
for (let i = 0; i < count; i++)
passwords.push(generatePassword({
length: state.length ?? 8,
length: state.length ?? DEFAULT_PASSWORD_LENGTH,
custom: state.enableCustom ? state.customCount ?? 1 : 0,
customSet: state.customSet,
numeric: state.enableNumeric ? state.numericCount ?? 1 : 0,
@@ -57,6 +62,8 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
excludeCustom: state.excludeCustom ? state.excludeCustomSet : "",
excludeRepeating: state.excludeRepeating,
excludeSimilar: state.excludeSimilar,
separator: state.enableSeparator ? state.separator : undefined,
separatorInterval: state.separatorInterval ?? (DEFAULT_PASSWORD_LENGTH / 2)
}));
props.onGenerated(passwords);
@@ -80,10 +87,38 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
onChange: (_, e) => setState({ [key]: parseCount(e.value) })
}), [state]);
const setSeparatorInterval = (_: any, e: fui.InputOnChangeData) =>
{
if (!e.value)
{
setState({ separatorInterval: undefined });
return;
}
const n = parseInt(e.value, 10);
if (!isNaN(n))
setState({ separatorInterval: n < 1 ? 1 : Math.min(n, state.length ?? DEFAULT_PASSWORD_LENGTH) });
};
const updateLength = (): void =>
{
const minLength = Math.max(MIN_PASSWORD_LENGTH,
(state.enableCustom ? state.customCount ?? 1 : 0) +
(state.enableNumeric ? state.numericCount ?? 1 : 0) +
(state.enableSpecial ? state.specialCount ?? 1 : 0) +
(state.enableUppercase ? state.uppercaseCount ?? 1 : 0) +
(state.enableLowercase ? state.lowercaseCount ?? 1 : 0)
);
if (!state.length || state.length < minLength)
setState({ length: minLength });
};
return (
<GeneratorForm onGenerate={ generate } onSave={ saveConfiguration }>
<fui.Field label={ i18n.t("advanced.password.length") }>
<fui.Input value={ state.length?.toString() ?? "" } onChange={ setLength } />
<fui.Input value={ state.length?.toString() ?? "" } onChange={ setLength } onBlur={ updateLength } />
</fui.Field>
<fui.Table size="small" as="div">
<fui.TableHeader as="div">
@@ -95,19 +130,19 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
<fui.TableBody as="div">
<Row>
<fui.Checkbox label={ i18n.t("common.characters.uppercase") } { ...checkboxControls("enableUppercase") } />
<fui.Input { ...minInputControls("enableUppercase", "uppercaseCount") } />
<fui.Input { ...minInputControls("enableUppercase", "uppercaseCount") } onBlur={ updateLength } />
</Row>
<Row>
<fui.Checkbox label={ i18n.t("common.characters.lowercase") } { ...checkboxControls("enableLowercase") } />
<fui.Input { ...minInputControls("enableLowercase", "lowercaseCount") } />
<fui.Input { ...minInputControls("enableLowercase", "lowercaseCount") } onBlur={ updateLength } />
</Row>
<Row>
<fui.Checkbox label={ i18n.t("common.characters.numeric") } { ...checkboxControls("enableNumeric") } />
<fui.Input { ...minInputControls("enableNumeric", "numericCount") } />
<fui.Input { ...minInputControls("enableNumeric", "numericCount") } onBlur={ updateLength } />
</Row>
<Row>
<fui.Checkbox label={ infoLabel(i18n.t("common.characters.special"), CharacterHints.special) } { ...checkboxControls("enableSpecial") } />
<fui.Input { ...minInputControls("enableSpecial", "specialCount") } />
<fui.Checkbox label={ infoLabel(i18n.t("common.characters.special"), CharacterHints.special, true) } { ...checkboxControls("enableSpecial") } />
<fui.Input { ...minInputControls("enableSpecial", "specialCount") } onBlur={ updateLength } />
</Row>
<Row>
<>
@@ -116,7 +151,7 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
placeholder={ i18n.t("common.characters.custom") }
value={ state.customSet } onChange={ (_, e) => setState({ customSet: e.value }) } />
</>
<fui.Input { ...minInputControls("enableCustom", "customCount") } />
<fui.Input { ...minInputControls("enableCustom", "customCount") } onBlur={ updateLength } />
</Row>
</fui.TableBody>
</fui.Table>
@@ -133,13 +168,34 @@ export default function PasswordSection(props: GeneratorProps): ReactElement
value={ state.excludeCustomSet } onChange={ (_, e) => setState({ excludeCustomSet: e.value }) } />
</div>
</section>
<div>
<fui.Checkbox
{ ...checkboxControls("enableSeparator") }
label={
<span className={ cls.separatorLabel }>
{ i18n.t("advanced.password.separator1") }
<fui.Input size="small" className={ cls.separatorInput }
disabled={ !state.enableSeparator }
value={ state.separator ?? "" }
onChange={ (_, e) => setState({ separator: e.value ? e.value[e.value.length - 1] : undefined }) } />
{ i18n.t("advanced.password.separator2") }
<fui.Input size="small" className={ cls.separatorInput }
disabled={ !state.enableSeparator }
value={ state.separatorInterval?.toString() ?? "" }
onBlur={ () => state.separatorInterval ? null : setState({ separatorInterval: DEFAULT_PASSWORD_LENGTH / 2 }) }
onChange={ setSeparatorInterval } />
{ i18n.t("advanced.password.separator3") }
</span>
} />
</div>
</GeneratorForm>
);
}
function parseCount(value: string): number | null
{
const n = parseInt(value);
const n = parseInt(value, 10);
return isNaN(n) || n < 1 ? null : Math.min(n, 100);
};
@@ -162,6 +218,17 @@ const useStyles = fui.makeStyles({
display: "flex",
flexDirection: "column",
},
separatorLabel:
{
display: "inline-flex",
flexWrap: "wrap",
alignItems: "center",
gap: `${fui.tokens.spacingVerticalXXS} ${fui.tokens.spacingHorizontalS}`,
},
separatorInput:
{
width: "4em",
}
});
type PasswordSectionState =
@@ -185,4 +252,8 @@ type PasswordSectionState =
excludeCustomSet: string;
customSet: string;
enableSeparator: boolean;
separator?: string;
separatorInterval?: number;
};
+7 -1
View File
@@ -6,11 +6,17 @@ export const useStyles = makeStyles({
display: "flex",
flexDirection: "column",
gap: tokens.spacingVerticalM,
padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalM}`,
padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalM}`
},
horizontalContainer:
{
display: "flex",
gap: tokens.spacingHorizontalSNudge,
},
img:
{
height: "100px",
alignSelf: "flex-end",
flexGrow: 1
}
});
+18 -16
View File
@@ -18,11 +18,16 @@ export default function AboutSection(): ReactElement
<fui.Caption1 as="span">v{ browser.runtime.getManifest().version }</fui.Caption1>
</header>
<fui.Text as="p">
{ i18n.t("about.developed_by") } ({ link("@xfox111.net", personalLinks.social) })
<br />
{ i18n.t("about.licensed_under") } { link(i18n.t("about.mit_license"), githubLinks.license) }
</fui.Text>
<div className={ cls.horizontalContainer }>
<fui.Button { ...buttonProps(getFeedbackLink(), <PersonFeedbackRegular />) }>
{ i18n.t("about.cta.feedback") }
</fui.Button>
<fui.FluentProvider theme={ bmcTheme }>
<fui.Button { ...buttonProps(personalLinks.donation, <img style={ { height: 20 } } src="bmc.svg" />) }>
{ i18n.t("about.cta.sponsor") }
</fui.Button>
</fui.FluentProvider>
</div>
<fui.Text as="p">
{ i18n.t("about.translation_cta.text") }<br />
@@ -35,16 +40,13 @@ export default function AboutSection(): ReactElement
{ link(i18n.t("about.links.changelog"), githubLinks.changelog) }
</fui.Text>
<div className={ cls.horizontalContainer }>
<fui.Button { ...buttonProps(getFeedbackLink(), <PersonFeedbackRegular />) }>
{ i18n.t("about.cta.feedback") }
</fui.Button>
<fui.FluentProvider theme={ bmcTheme }>
<fui.Button { ...buttonProps(personalLinks.donation, <img style={ { height: 20 } } src="bmc.svg" />) }>
{ i18n.t("about.cta.sponsor") }
</fui.Button>
</fui.FluentProvider>
</div>
<fui.Text as="p">
{ i18n.t("about.developed_by") } ({ link("@xfox111.net", personalLinks.social) })
<br />
{ i18n.t("about.licensed_under") } { link(i18n.t("about.mit_license"), githubLinks.license) }
</fui.Text>
<fui.Image className={ cls.img } src="/fox.svg" />
</section>
);
};
@@ -53,7 +55,7 @@ const link = (text: string, href: string): ReactNode => (
<fui.Link target="_blank" href={ href }>{ text }</fui.Link>
);
const buttonProps = (href: string, icon: JSX.Element): fui.ButtonProps => (
const buttonProps = (href: string, icon: ReactElement): fui.ButtonProps => (
{
as: "a", target: "_blank", href,
appearance: "primary", icon
+31 -2
View File
@@ -5,6 +5,7 @@ import { ArrowUndoRegular } from "@fluentui/react-icons";
import { ReactElement } from "react";
import infoLabel from "../../utils/infoLabel";
import { useStyles } from "./SettingsSection.styles";
import { MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH } from "@/utils/constants";
export default function SettingsSection(): ReactElement
{
@@ -28,7 +29,7 @@ export default function SettingsSection(): ReactElement
{
if (e.value.length >= 1)
{
const value = parseInt(e.value);
const value = parseInt(e.value, 10);
if (!isNaN(value) && value >= 0)
updateStorage({ [key]: value });
@@ -37,12 +38,38 @@ export default function SettingsSection(): ReactElement
updateStorage({ [key]: defaultValue });
};
const validateMinLimit = () =>
{
if (extOptions.MinLength < MIN_PASSWORD_LENGTH)
updateStorage({ MinLength: MIN_PASSWORD_LENGTH });
else if (extOptions.MinLength > MAX_PASSWORD_LENGTH - 1)
updateStorage({ MinLength: MAX_PASSWORD_LENGTH - 1, MaxLength: MAX_PASSWORD_LENGTH });
else if (extOptions.MinLength >= extOptions.MaxLength)
updateStorage({ MaxLength: extOptions.MinLength + 1 });
};
const validateMaxLimit = () =>
{
if (extOptions.MaxLength > MAX_PASSWORD_LENGTH)
updateStorage({ MaxLength: MAX_PASSWORD_LENGTH });
else if (extOptions.MaxLength < MIN_PASSWORD_LENGTH + 1)
updateStorage({ MinLength: MIN_PASSWORD_LENGTH, MaxLength: MIN_PASSWORD_LENGTH + 1 });
else if (extOptions.MaxLength <= extOptions.MinLength)
updateStorage({ MinLength: extOptions.MaxLength - 1 });
};
const validateLength = () =>
{
updateStorage({ Length: Math.max(Math.min(generatorOptions.Length, extOptions.MaxLength), extOptions.MinLength) });
};
return (
<section className={ cls.root }>
<fui.Field label={ i18n.t("settings.length.title") } hint={ i18n.t("settings.length.hint") }>
<fui.Input
value={ generatorOptions.Length.toString() }
onBlur={ validateLength }
onChange={ updateNumberField("Length", 0) } />
</fui.Field>
@@ -51,6 +78,7 @@ export default function SettingsSection(): ReactElement
<fui.Input
input={ { className: cls.rangeInput } }
value={ extOptions.MinLength.toString() }
onBlur={ validateMinLimit }
onChange={ updateNumberField("MinLength", defaultOptions.extension.MinLength) } />
<fui.Divider />
@@ -58,6 +86,7 @@ export default function SettingsSection(): ReactElement
<fui.Input
input={ { className: cls.rangeInput } }
value={ extOptions.MaxLength.toString() }
onBlur={ validateMaxLimit }
onChange={ updateNumberField("MaxLength", defaultOptions.extension.MaxLength) } />
<fui.Tooltip relationship="label" content={ i18n.t("common.actions.reset") }>
@@ -84,7 +113,7 @@ export default function SettingsSection(): ReactElement
checked={ generatorOptions.Numeric }
onChange={ setOption("Numeric") } />
<fui.Checkbox
label={ infoLabel(i18n.t("common.characters.special"), CharacterHints.special) }
label={ infoLabel(i18n.t("common.characters.special"), CharacterHints.special, true) }
checked={ generatorOptions.Special }
onChange={ setOption("Special") } />
<div>
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "Password generator"
length: "Password length"
min_of_type: "Minimum number of characters"
separator1: "Add separator"
separator2: "every"
separator3: "character(s)"
passphrase:
title: "Passphrase generator"
length: "Number of words"
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "Generator haseł"
length: "Długość hasła"
min_of_type: "Minimum"
separator1: "Dodaj separator"
separator2: "co"
separator3: "znak(ów)"
passphrase:
title: "Frazy hasłowe"
length: "Liczba słów"
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "Gerador de senhas"
length: "Comprimento da senha"
min_of_type: "Número mínimo de caracteres"
separator1: "Adicionar separador"
separator2: "a cada"
separator3: "caractere(s)"
passphrase:
title: "Gerador de frases-senha"
length: "Número de palavras"
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "Генератор паролей"
length: "Длина пароля"
min_of_type: "Не менее"
separator1: "Добавить разделитель"
separator2: "каждые"
separator3: "символов"
passphrase:
title: "Парольных фраз"
length: "Количество слов"
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "Генератор паролів"
length: "Довжина пароля"
min_of_type: "Не менше"
separator1: "Додати розділювач"
separator2: "кожні"
separator3: "символів"
passphrase:
title: "Парольних фраз"
length: "Кількість слів"
+3
View File
@@ -69,6 +69,9 @@ advanced:
title: "密码生成器"
length: "密码长度"
min_of_type: "最少字符数"
separator1: "添加分隔符"
separator2: "每"
separator3: "个字符"
passphrase:
title: "密码短语生成器"
length: "单词数量"
+2627 -3562
View File
File diff suppressed because it is too large Load Diff
+22 -17
View File
@@ -1,6 +1,6 @@
{
"name": "password-generator",
"version": "5.0.5",
"version": "5.1.8",
"private": true,
"type": "module",
"scripts": {
@@ -15,27 +15,32 @@
"postinstall": "wxt prepare"
},
"dependencies": {
"@fluentui/react-components": "^9.64.0",
"@fluentui/react-icons": "^2.0.302",
"@wxt-dev/i18n": "^0.2.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"@fluentui/react-components": "^9.74.3",
"@fluentui/react-icons": "^2.0.331",
"@wxt-dev/i18n": "^0.2.6",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react-responsive": "^10.0.1"
},
"devDependencies": {
"@eslint/js": "^9.28.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@typescript-eslint/eslint-plugin": "^8.33.1",
"@typescript-eslint/parser": "^8.33.0",
"@wxt-dev/module-react": "^1.1.3",
"eslint": "^9.28.0",
"@eslint/js": "^10.0.1",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^8.62.1",
"@typescript-eslint/parser": "^8.59.3",
"@wxt-dev/module-react": "^1.2.2",
"eslint": "^10.6.0",
"eslint-plugin-react": "^7.37.5",
"globals": "^16.2.0",
"typescript": "^5.8.3",
"wxt": "^0.20.7"
"globals": "^17.7.0",
"typescript": "^6.0.3",
"wxt": "^0.20.27"
},
"overrides": {
"@babel/runtime": "^7.26.10"
"node-notifier": {
"uuid": "^11.1.1"
},
"web-ext-run": {
"tmp": "^0.2.6"
}
}
}
+85
View File
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_5" data-name="Layer 5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 1000">
<defs>
<style>
.cls-1,
.cls-2,
.cls-3 {
stroke-width: 0px;
}
.cls-1,
.cls-4 {
fill: #ff7545;
}
.cls-2,
.cls-6 {
fill: #242424;
}
.cls-5 {
stroke-width: 12px;
stroke-linejoin: round;
}
.cls-6,
.cls-4 {
stroke: #242424;
stroke-linejoin: round;
}
.cls-6,
.cls-4 {
stroke-linecap: round;
stroke-width: 8px;
}
.cls-3 {
fill: #fff;
}
.laptop {
fill: #424242;
stroke: #424242;
}
@media (prefers-color-scheme: dark) {
.laptop {
fill: #d6d6d6;
stroke: #d6d6d6;
}
}
</style>
</defs>
<g>
<path class="cls-1"
d="M1656,996.17c-62.9,0-124.32-15.87-177.6-45.9-48.31-27.23-88.43-65.09-116.63-109.96,42.24,16.15,87.02,24.34,133.29,24.34,191.24,0,346.83-142.61,346.83-317.91,0-49.29-17.77-79.71-40.27-118.22-.25-.44-.51-.87-.77-1.31,56.26,25.15,103.09,59.13,135.92,98.71,38.75,46.72,58.4,100.56,58.4,160,0,82.81-35.24,160.68-99.22,219.27-64.08,58.67-149.29,90.99-239.96,90.99Z" />
<path class="cls-2"
d="M1810.27,435.77c21.37,10.21,41.26,21.71,59.35,34.32,24.99,17.43,46.59,37.03,64.2,58.27,38.17,46.02,57.52,99.03,57.52,157.56,0,41.28-8.83,81.34-26.25,119.04-16.85,36.47-40.98,69.24-71.73,97.4-30.8,28.2-66.67,50.34-106.62,65.82-41.4,16.04-85.39,24.17-130.75,24.17-62.25,0-123.01-15.7-175.72-45.4-44.28-24.95-81.59-58.94-108.99-99.08,39.45,13.69,80.98,20.62,123.77,20.62,193.35,0,350.66-144.33,350.66-321.74,0-46.31-15.25-76.1-35.44-110.97M1791.69,419.07c25.27,43.77,46.37,74.72,46.37,127.67,0,173.46-153.57,314.08-343,314.08-50.83,0-99.07-10.14-142.46-28.3,57.52,99.6,171.79,167.48,303.4,167.48,189.44,0,343-140.62,343-314.08,0-126.92-88.98-217.31-207.31-266.85h0Z" />
</g>
<path class="cls-4"
d="M1850.7,210.11c40.63,49.7,33.28,122.93-16.42,163.56-49.7,40.63-174.15,75.16-214.78,25.46-40.63-49.7,17.94-164.81,67.64-205.44,49.7-40.63,122.93-33.28,163.56,16.42Z" />
<g>
<path class="cls-1"
d="M1141.23,996c-107.8,0-211.68-30.24-292.51-85.15-34.04-23.13-63.19-50-86.62-79.87-30.95-39.44-50.89-82.52-59.27-128.07,2.74-4.13,13.24-18.52,34.99-33.02,23.72-15.81,66.05-35,133.04-36.62,3.24-.07,6.3-.11,9.33-.11,43.77,0,86.56,14.88,130.79,45.49,38.84,26.88,73.68,62.33,104.42,93.61,24.59,25.02,47.83,48.66,69.78,64.67,62.27,45.4,122.66,67.87,162.35,78.74,26.53,7.27,47.34,10.45,59.7,11.84-35.66,20.71-74.9,37.05-116.83,48.62-47.77,13.19-97.96,19.88-149.17,19.88Z" />
<path class="cls-2"
d="M880.19,637.16c42.93,0,84.97,14.65,128.51,44.78,38.53,26.66,73.23,61.97,103.85,93.12,24.71,25.14,48.06,48.89,70.28,65.1,62.76,45.75,123.63,68.41,163.65,79.36,19.52,5.35,36,8.51,48.36,10.37-32.55,17.79-67.94,32.01-105.51,42.38-47.43,13.09-97.26,19.73-148.11,19.73-54.46,0-107.6-7.59-157.95-22.55-48.57-14.43-93.08-35.26-132.31-61.91-33.7-22.89-62.54-49.48-85.72-79.03-30.18-38.46-49.75-80.41-58.19-124.72,8.21-11.64,51.24-63.8,163.88-66.52,3.21-.07,6.24-.11,9.25-.11M880.19,629.16c-3.2,0-6.34.04-9.43.11-132.17,3.19-172.15,72.82-172.15,72.82,8.48,47.56,29.48,92.03,60.34,131.36,23.74,30.26,53.31,57.47,87.52,80.71,78.67,53.44,181.82,85.84,294.76,85.84,105.42,0,202.3-28.24,278.72-75.46,0,0-28.21-.92-71.36-12.74-43.16-11.81-101.26-34.52-161.05-78.11-76.68-55.9-167.65-204.53-307.35-204.53h0Z" />
</g>
<g>
<path class="cls-3"
d="M760.28,828.65c-29.91-38.81-49.23-81.08-57.46-125.74,2.74-4.13,13.24-18.52,34.99-33.02,23.38-15.59,64.87-34.46,130.24-36.54l51.71,133.53-159.48,61.77Z" />
<path class="cls-2"
d="M865.35,637.45l49.24,127.14-152.95,59.24c-28.13-37.18-46.48-77.52-54.58-120.04,8.07-11.44,49.8-62.07,158.29-66.35M870.76,629.27c-132.17,3.19-172.15,72.82-172.15,72.82,8.48,47.56,29.48,92.03,60.34,131.36l165.99-64.29-54.18-139.89h0Z" />
</g>
<rect class="cls-5 laptop" x="1219.11" y="766.83" width="270.32" height="9.95"
transform="translate(304.74 -380.67) rotate(18)" />
<rect class="cls-5 laptop" x="1059.2" y="596.18" width="270.32" height="9.95"
transform="translate(1479.19 -705.28) rotate(75.58)" />
<path class="cls-6"
d="M1666.04,416.09c1.06-29.87-22.29-54.95-52.17-56.01-2.32-.08-4.6,0-6.85.2.75,15,4.9,28.4,13.47,38.89,10.4,12.71,26.28,19.9,44.99,22.9.29-1.96.48-3.95.55-5.98Z" />
<path class="cls-4"
d="M1851.96,176.25c-29.01-25.87-78.84-33.24-78.84-33.24,0,0,37.28-38.45,83.99-62.26,46.65-23.78,102.73-32.92,102.73-32.92,0,0-26.34,46.29-43.76,93.12-19.06,51.23-22.35,98.62-22.35,98.62,0,0-13.99-38.55-41.77-63.33Z" />
<ellipse class="cls-2" cx="1700.37" cy="301.32" rx="10.19" ry="17.93"
transform="translate(271.38 1270.89) rotate(-44.21)" />
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

+3
View File
@@ -0,0 +1,3 @@
export const MIN_PASSWORD_LENGTH = 4;
export const MAX_PASSWORD_LENGTH = 512;
export const DEFAULT_PASSWORD_LENGTH = 8;
+21 -1
View File
@@ -1,3 +1,4 @@
import { MIN_PASSWORD_LENGTH } from "../constants";
import { pickRandomFromArray, shuffleString } from "./randomUtils";
const Characters =
@@ -37,6 +38,10 @@ export function generatePassword(options: PasswordProps): string
}
password = shuffleString(password);
if (options.separator && options.separatorInterval)
password = addSeparator(password, options.separator, options.separatorInterval);
return password;
}
@@ -47,7 +52,7 @@ export function generatePassword(options: PasswordProps): string
*/
export function validateOptions(options: PasswordProps): void
{
if (options.length < 4)
if (options.length < MIN_PASSWORD_LENGTH)
throw new Error(i18n.t("errors.too_short"));
const availableCharacters: string = getAvailableCharacters(options);
@@ -122,6 +127,18 @@ function getRequiredCharacters(options: PasswordProps): string
return result;
}
function addSeparator(password: string, separator: string, separatorInterval: number): string
{
if (!separator || separatorInterval < 1)
return password;
const parts: string[] = [];
for (let i = 0; i < password.length; i += separatorInterval)
parts.push(password.slice(i, i + separatorInterval));
return parts.join(separator);
}
export type PasswordProps =
{
length: number;
@@ -139,4 +156,7 @@ export type PasswordProps =
excludeRepeating: boolean;
excludeCustom: string;
separator?: string;
separatorInterval?: number;
};
+12 -7
View File
@@ -1,15 +1,20 @@
import { InfoLabel, Label, LabelProps, Slot } from "@fluentui/react-components";
import { InfoLabel, Label, LabelProps, makeStyles, Slot } from "@fluentui/react-components";
// FIXME: Remove ts-ignore comments once slots override fix is released
// Tracker: https://github.com/microsoft/fluentui/issues/27090
export default function infoLabel(label: string, hint: string): Slot<typeof Label>
export default function infoLabel(label: string, hint: string, noWrap?: boolean): Slot<typeof Label>
{
// @ts-expect-error See FIXME
const cls = useStyles();
return {
children: (_: unknown, props: LabelProps) =>
<InfoLabel { ...props } info={ hint }>
<InfoLabel { ...props } info={ { className: noWrap ? cls.noWrap : undefined, children: hint } }>
{ label }
</InfoLabel>
};
}
const useStyles = makeStyles({
noWrap:
{
whiteSpace: "pre"
}
});
+3 -1
View File
@@ -1,5 +1,7 @@
import { MIN_PASSWORD_LENGTH } from "../constants";
export default class ExtensionOptions
{
public MinLength: number = 4;
public MinLength: number = MIN_PASSWORD_LENGTH;
public MaxLength: number = 32;
}
+3 -1
View File
@@ -1,6 +1,8 @@
import { DEFAULT_PASSWORD_LENGTH } from "../constants";
export default class GeneratorOptions
{
public Length: number = 8;
public Length: number = DEFAULT_PASSWORD_LENGTH;
public Special: boolean = true;
public Numeric: boolean = true;
+2 -2
View File
@@ -1,4 +1,4 @@
import React, { createContext, useContext, useEffect, useState } from "react";
import React, { createContext, ReactElement, useContext, useEffect, useState } from "react";
import ExtensionOptions from "./ExtensionOptions";
import GeneratorOptions from "./GeneratorOptions";
@@ -48,6 +48,6 @@ interface IStorage
interface IStorageProviderProps extends React.PropsWithChildren
{
loader?: JSX.Element;
loader?: ReactElement;
}
// #endregion