diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f3c34d..bb118b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,28 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [1.32.0] - 2025-02-05 + ### Added - Allow to trust a device during step up when RBA is enabled and the new box is checked +### Changed + +- Replace remarkable with marked +- Replace luxon with date-fns +- Removed zxcvbn dependency and use new `getPasswordStrength` SDK Core's method instead. + +### Fixed + +- Dedupe React dependencies +- Display asterix on phone number field's label when required +- Set a min width on date field's day and year select + ## [1.31.3] - 2025-01-28 ### Fixed + - Fix form phone number field when optional and not valued ## [1.31.2] - 2025-01-14 @@ -545,7 +560,9 @@ The eye icon is now correctly displayed in the Auth widget. First version of the SDK Web UI. -[Unreleased]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.31.3...HEAD +[Unreleased]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.32.0...HEAD + +[1.32.0]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.31.3...v1.32.0 [1.31.3]: https://github.com/ReachFive/identity-web-ui-sdk/compare/v1.31.2...v1.31.3 diff --git a/package-lock.json b/package-lock.json index 63bc5ad..fe5a098 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,23 +1,23 @@ { "name": "@reachfive/identity-ui", - "version": "1.31.3", + "version": "1.32.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@reachfive/identity-ui", - "version": "1.31.3", + "version": "1.32.0", "license": "MIT", "dependencies": { - "@reachfive/identity-core": "^1.35.0", + "@reachfive/identity-core": "^1.35.1", "buffer": "^6.0.3", "char-info": "0.3.2", "classnames": "^2.3.2", "date-fns": "^4.1.0", "libphonenumber-js": "^1.10.44", "marked": "^15.0.6", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^18.3.0", + "react-dom": "^18.3.0", "react-phone-number-input": "^3.4.3", "react-transition-group": "4.4.5", "validator": "^13.11.0" @@ -3252,9 +3252,9 @@ } }, "node_modules/@reachfive/identity-core": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/@reachfive/identity-core/-/identity-core-1.35.0.tgz", - "integrity": "sha512-aGjeQiDLO9QLwNAlLMgxSyjL4RWIEcuj+JXjybI5XrawUkwzBGE67KquVau++KidKCp2Ajm2eR6ODwxBVDNGNA==", + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/@reachfive/identity-core/-/identity-core-1.35.1.tgz", + "integrity": "sha512-EYClN8oWNJK95XYAX1ExjfuyjyY8I4fdAp1yIPknZjtnAdXmZ4CcFZ9bsdGJJkRZFesJxufw2yGGHiSPfn1P/A==", "license": "MIT", "dependencies": { "buffer": "5.6.0", diff --git a/package.json b/package.json index 2d6bde8..dec705e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@reachfive/identity-ui", - "version": "1.31.3", + "version": "1.32.0", "description": "ReachFive Identity Web UI SDK", "author": "ReachFive", "repository": { @@ -31,7 +31,7 @@ "lint": "eslint -c eslint.config.mjs src/" }, "dependencies": { - "@reachfive/identity-core": "^1.35.0", + "@reachfive/identity-core": "^1.35.1", "buffer": "^6.0.3", "char-info": "0.3.2", "classnames": "^2.3.2", diff --git a/src/components/form/fields/dateField.tsx b/src/components/form/fields/dateField.tsx index c72d007..8514ab9 100644 --- a/src/components/form/fields/dateField.tsx +++ b/src/components/form/fields/dateField.tsx @@ -19,8 +19,9 @@ const InputRow = styled.div` gap: ${inputRowGutter}px; `; -const InputCol = styled.div<{ width: number }>` +const InputCol = styled.div<{ width: number, minWidth?: number }>` flex-basis: ${props => props.width}%; + ${props => props.minWidth ? `min-width: ${props.minWidth}px;` : undefined} `; type ExtraParams = { @@ -111,7 +112,7 @@ const DateField = ({ const fields: Partial> = { day: ( - + { labelText={label} {...{ error }} showLabel={showLabel} + required={required} > ' + text + ''; } - } + }, + extensions: [ + // specific underline markup is missed in marked module + // see https://marked.js.org/using_pro#extensions + { + name: 'underline', + level: 'inline', + start(src) { + return /\+{2}/.exec(src)?.index; // starts with ++ + }, + tokenizer(src) { + const rule = /^\+{2}([^+\n]+)\+{2}/; + const match = rule.exec(src); + if (match) { + return { + type: 'underline', + raw: match[0], + text: match[1], + tokens: this.lexer.inlineTokens(match[1]) + }; + } + }, + renderer(token) { + return `${token.text}`; + }, + } + ] }) interface MarkdownContentProps extends HTMLAttributes { diff --git a/tests/widgets/mfa/__snapshots__/MfaCredentialsWidget.test.js.snap b/tests/widgets/mfa/__snapshots__/MfaCredentialsWidget.test.js.snap index 718634d..3d60700 100644 --- a/tests/widgets/mfa/__snapshots__/MfaCredentialsWidget.test.js.snap +++ b/tests/widgets/mfa/__snapshots__/MfaCredentialsWidget.test.js.snap @@ -46,7 +46,8 @@ exports[`Snapshot mfaCredentials default 1`] = ` novalidate="" >