@seedgrid/fe-security 2026.11.1 → 2026.11.3
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/dist/client/pick-list-field.js +2 -2
- package/package.json +3 -3
- package/scaffold/src/app/auth/2fa/verify/page.tsx +1 -1
- package/scaffold/src/app/auth/forgot-password/page.tsx +1 -1
- package/scaffold/src/app/auth/login/page.tsx +1 -1
- package/scaffold/src/app/security/2fa/page.tsx +3 -3
- package/scaffold/src/app/security/companies/editors/CompanyEditor.tsx +1 -1
- package/scaffold/src/app/security/profile/page.tsx +2 -4
- package/scaffold/src/app/security/roles/editors/RoleEditor.tsx +2 -2
- package/scaffold/src/app/security/users/editors/UserEditor.tsx +1 -1
- package/scaffold/src/app/users/change-password/page.tsx +1 -1
|
@@ -13,7 +13,7 @@ export function PickListField({ id, title, sourceHeader, targetHeader, options,
|
|
|
13
13
|
.map((selectedValue) => options.find((option) => isSameValue(selectedValue, option.value)))
|
|
14
14
|
.filter((option) => Boolean(option))
|
|
15
15
|
.map(toItem), [options, selectedValues]);
|
|
16
|
-
return (_jsx(SgPickList, { id: id, title: title, source: sourceItems, target: targetItems, sourceHeader: sourceHeader, targetHeader: targetHeader, showSourceFilter: true, showTargetFilter: true, emptyMessage: emptyMessage, readOnly: readOnly,
|
|
16
|
+
return (_jsx(SgPickList, { id: id, title: title, source: sourceItems, target: targetItems, sourceHeader: sourceHeader, targetHeader: targetHeader, showSourceFilter: true, showTargetFilter: true, emptyMessage: emptyMessage, readOnly: readOnly, enabled: !readOnly, onChange: (event) => {
|
|
17
17
|
onChange(event.target.map((item) => item.value));
|
|
18
18
|
}, groupBoxProps: groupBoxProps }));
|
|
19
19
|
}
|
|
@@ -21,7 +21,7 @@ function toItem(option) {
|
|
|
21
21
|
return {
|
|
22
22
|
label: option.label,
|
|
23
23
|
value: option.value,
|
|
24
|
-
disabled: option.disabled,
|
|
24
|
+
enabled: option.disabled === undefined ? undefined : !option.disabled,
|
|
25
25
|
data: option.data,
|
|
26
26
|
};
|
|
27
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seedgrid/fe-security",
|
|
3
|
-
"version": "2026.11.
|
|
3
|
+
"version": "2026.11.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"next": "15.0.7",
|
|
53
53
|
"react": "19.0.0",
|
|
54
54
|
"@types/react": "^19.0.0",
|
|
55
|
-
"@seedgrid/fe-components": "2026.11.
|
|
56
|
-
"@seedgrid/fe-core": "2026.11.
|
|
55
|
+
"@seedgrid/fe-components": "2026.11.4",
|
|
56
|
+
"@seedgrid/fe-core": "2026.11.4"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "tsc -p tsconfig.json",
|
|
@@ -269,7 +269,7 @@ export default function TwoFactorVerifyPage() {
|
|
|
269
269
|
shape="rounded"
|
|
270
270
|
label={translate("security.auth.two_factor.resend")}
|
|
271
271
|
loading={resending}
|
|
272
|
-
|
|
272
|
+
enabled={!(resending || pending || !auth.pendingTwoFactor)}
|
|
273
273
|
onClick={() => {
|
|
274
274
|
void handleResendEmail();
|
|
275
275
|
}}
|
|
@@ -241,7 +241,7 @@ function TwoFactorSettingsScreen() {
|
|
|
241
241
|
shape="rounded"
|
|
242
242
|
label={t("security.two_factor.enable")}
|
|
243
243
|
loading={pending}
|
|
244
|
-
|
|
244
|
+
enabled={!pending}
|
|
245
245
|
onClick={handleEnable}
|
|
246
246
|
/>
|
|
247
247
|
</SgGrid>
|
|
@@ -294,7 +294,7 @@ function TwoFactorSettingsScreen() {
|
|
|
294
294
|
shape="rounded"
|
|
295
295
|
label={t("security.two_factor.disable")}
|
|
296
296
|
loading={pending}
|
|
297
|
-
|
|
297
|
+
enabled={!pending}
|
|
298
298
|
onClick={handleDisable}
|
|
299
299
|
/>
|
|
300
300
|
</SgStack>
|
|
@@ -324,7 +324,7 @@ function TwoFactorSettingsScreen() {
|
|
|
324
324
|
shape="rounded"
|
|
325
325
|
label={t("security.two_factor.confirm_totp")}
|
|
326
326
|
loading={pending}
|
|
327
|
-
|
|
327
|
+
enabled={!pending}
|
|
328
328
|
onClick={handleConfirmTotp}
|
|
329
329
|
/>
|
|
330
330
|
</SgStack>
|
|
@@ -477,11 +477,9 @@ function ProfileScreen() {
|
|
|
477
477
|
label={t("security.common.save")}
|
|
478
478
|
onClick={handleSave}
|
|
479
479
|
loading={saving}
|
|
480
|
-
|
|
481
|
-
saving ||
|
|
480
|
+
enabled={!(saving ||
|
|
482
481
|
!formValues.email.trim() ||
|
|
483
|
-
!hasAtLeastTwoWords(formValues.name)
|
|
484
|
-
}
|
|
482
|
+
!hasAtLeastTwoWords(formValues.name))}
|
|
485
483
|
/>
|
|
486
484
|
</SgStack>
|
|
487
485
|
) : null}
|
|
@@ -278,7 +278,7 @@ export function RoleEditor({ publicId }: RoleEditorProps) {
|
|
|
278
278
|
control={control}
|
|
279
279
|
orientation="vertical"
|
|
280
280
|
showCheckAll
|
|
281
|
-
|
|
281
|
+
enabled={!isReadOnly}
|
|
282
282
|
readOnly={isReadOnly}
|
|
283
283
|
required
|
|
284
284
|
rules={ {
|
|
@@ -303,7 +303,7 @@ export function RoleEditor({ publicId }: RoleEditorProps) {
|
|
|
303
303
|
shape="rounded"
|
|
304
304
|
label={t("security.common.save")}
|
|
305
305
|
loading={saving}
|
|
306
|
-
|
|
306
|
+
enabled={!saving}
|
|
307
307
|
type="submit"
|
|
308
308
|
/>
|
|
309
309
|
</SgStack>
|