@elliemae/pui-app-sdk 5.3.9 → 5.4.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.
Files changed (25) hide show
  1. package/dist/cjs/api/auth/index.js +4 -2
  2. package/dist/cjs/utils/auth/index.js +3 -2
  3. package/dist/cjs/view/fields/combo-box-v3/index.js +3 -1
  4. package/dist/esm/api/auth/index.js +4 -2
  5. package/dist/esm/utils/auth/index.js +3 -2
  6. package/dist/esm/view/fields/check-box/index.js +3 -1
  7. package/dist/esm/view/fields/combo-box-v3/index.js +3 -1
  8. package/dist/esm/view/fields/date-time-picker/index.js +3 -1
  9. package/dist/esm/view/fields/form-layout-block-item/index.js +3 -1
  10. package/dist/esm/view/fields/toggle/index.js +3 -1
  11. package/dist/types/lib/api/auth/index.d.ts +3 -2
  12. package/dist/types/lib/view/fields/autocomplete/index.d.ts +2 -3
  13. package/dist/types/lib/view/fields/check-box/index.d.ts +2 -2
  14. package/dist/types/lib/view/fields/combo-box-v3/index.d.ts +5 -6
  15. package/dist/types/lib/view/fields/date-time-picker/index.d.ts +3 -4
  16. package/dist/types/lib/view/fields/form-layout-block-item/index.d.ts +2 -7
  17. package/dist/types/lib/view/fields/form-layout-block-item/index.stories.d.ts +1 -2
  18. package/dist/types/lib/view/fields/input-text/index.d.ts +2 -3
  19. package/dist/types/lib/view/fields/input-text/index.stories.d.ts +1 -1
  20. package/dist/types/lib/view/fields/masked-input-text/index.d.ts +2 -3
  21. package/dist/types/lib/view/fields/masked-input-text/with-money-mask.stories.d.ts +1 -1
  22. package/dist/types/lib/view/fields/masked-input-text/with-percentage-mask.stories.d.ts +1 -1
  23. package/dist/types/lib/view/fields/toggle/index.d.ts +2 -6
  24. package/dist/types/lib/view/fields/toggle/index.stories.d.ts +1 -2
  25. package/package.json +31 -31
@@ -25,14 +25,16 @@ __export(auth_exports, {
25
25
  module.exports = __toCommonJS(auth_exports);
26
26
  var import_http_client = require("../../communication/http-client/index.js");
27
27
  const getToken = async ({
28
+ idpCode,
28
29
  clientId,
29
- redirectUri,
30
- idpCode
30
+ scope,
31
+ redirectUri
31
32
  }) => {
32
33
  const params = new URLSearchParams();
33
34
  params.append("grant_type", "authorization_code");
34
35
  params.append("client_id", clientId);
35
36
  params.append("redirect_uri", redirectUri);
37
+ params.append("scope", scope);
36
38
  params.append("code", idpCode);
37
39
  const { data } = await (0, import_http_client.getHTTPClient)().post(
38
40
  "/oauth2/v1/token",
@@ -112,8 +112,9 @@ const authorize = async ({
112
112
  try {
113
113
  const { tokenType, accessToken } = await (0, import_auth.getToken)({
114
114
  idpCode,
115
- redirectUri,
116
- clientId
115
+ clientId,
116
+ scope,
117
+ redirectUri
117
118
  });
118
119
  const authorizationToken = `${tokenType} ${accessToken}`;
119
120
  (0, import_helper.setAuthorizationHeader)(authorizationToken);
@@ -28,6 +28,7 @@ const ComboBoxV3 = ({
28
28
  name,
29
29
  defaultValue = null,
30
30
  rules = {},
31
+ clearable = true,
31
32
  filteredOptions = null,
32
33
  ...rest
33
34
  }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -47,7 +48,8 @@ const ComboBoxV3 = ({
47
48
  hasError: !!error,
48
49
  filteredOptions,
49
50
  selectedValues: value,
50
- onChange
51
+ onChange,
52
+ isNonClearable: !clearable
51
53
  }
52
54
  )
53
55
  }
@@ -1,13 +1,15 @@
1
1
  import { getHTTPClient } from "../../communication/http-client/index.js";
2
2
  const getToken = async ({
3
+ idpCode,
3
4
  clientId,
4
- redirectUri,
5
- idpCode
5
+ scope,
6
+ redirectUri
6
7
  }) => {
7
8
  const params = new URLSearchParams();
8
9
  params.append("grant_type", "authorization_code");
9
10
  params.append("client_id", clientId);
10
11
  params.append("redirect_uri", redirectUri);
12
+ params.append("scope", scope);
11
13
  params.append("code", idpCode);
12
14
  const { data } = await getHTTPClient().post(
13
15
  "/oauth2/v1/token",
@@ -88,8 +88,9 @@ const authorize = async ({
88
88
  try {
89
89
  const { tokenType, accessToken } = await getToken({
90
90
  idpCode,
91
- redirectUri,
92
- clientId
91
+ clientId,
92
+ scope,
93
+ redirectUri
93
94
  });
94
95
  const authorizationToken = `${tokenType} ${accessToken}`;
95
96
  setAuthorizationHeader(authorizationToken);
@@ -1,5 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { DSControlledCheckbox } from "@elliemae/ds-controlled-form";
2
+ import {
3
+ DSControlledCheckbox
4
+ } from "@elliemae/ds-controlled-form";
3
5
  import {
4
6
  Controller
5
7
  } from "react-hook-form";
@@ -7,6 +7,7 @@ const ComboBoxV3 = ({
7
7
  name,
8
8
  defaultValue = null,
9
9
  rules = {},
10
+ clearable = true,
10
11
  filteredOptions = null,
11
12
  ...rest
12
13
  }) => /* @__PURE__ */ jsx(
@@ -26,7 +27,8 @@ const ComboBoxV3 = ({
26
27
  hasError: !!error,
27
28
  filteredOptions,
28
29
  selectedValues: value,
29
- onChange
30
+ onChange,
31
+ isNonClearable: !clearable
30
32
  }
31
33
  )
32
34
  }
@@ -1,5 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { DSControlledDateTimePicker } from "@elliemae/ds-controlled-form";
2
+ import {
3
+ DSControlledDateTimePicker
4
+ } from "@elliemae/ds-controlled-form";
3
5
  import {
4
6
  Controller
5
7
  } from "react-hook-form";
@@ -1,5 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
2
+ import {
3
+ DSFormLayoutBlockItem
4
+ } from "@elliemae/ds-form-layout-blocks";
3
5
  import { get } from "react-hook-form";
4
6
  import { ConnectForm } from "../connect-form.js";
5
7
  const FormLayoutBlockItem = ({
@@ -1,5 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { DSControlledToggle } from "@elliemae/ds-controlled-form";
2
+ import {
3
+ DSControlledToggle
4
+ } from "@elliemae/ds-controlled-form";
3
5
  import "@elliemae/ds-form-toggle";
4
6
  import {
5
7
  Controller
@@ -1,8 +1,9 @@
1
1
  import { AxiosResponse, AxiosError } from 'axios';
2
2
  interface GetTokenRequestParams {
3
+ idpCode: string;
3
4
  clientId: string;
5
+ scope: string;
4
6
  redirectUri: string;
5
- idpCode: string;
6
7
  }
7
8
  export interface GetTokenResponse {
8
9
  token_type: string;
@@ -14,7 +15,7 @@ interface GetTokenError {
14
15
  export interface GetTokenErrorResponse extends AxiosError {
15
16
  response: AxiosResponse<GetTokenError>;
16
17
  }
17
- export declare const getToken: ({ clientId, redirectUri, idpCode, }: GetTokenRequestParams) => Promise<{
18
+ export declare const getToken: ({ idpCode, clientId, scope, redirectUri, }: GetTokenRequestParams) => Promise<{
18
19
  tokenType: string;
19
20
  accessToken: string;
20
21
  }>;
@@ -1,6 +1,5 @@
1
- import type React from 'react';
2
- import { DSAutocomplete } from '@elliemae/ds-controlled-form';
3
- type DSAutocompleteProps = React.ComponentProps<typeof DSAutocomplete>;
1
+ import { DSAutocompleteT } from '@elliemae/ds-controlled-form';
2
+ type DSAutocompleteProps = DSAutocompleteT.Props;
4
3
  export type AutocompleteProps = {
5
4
  defaultValue?: string;
6
5
  onSelect?: DSAutocompleteProps['onSelect'];
@@ -1,9 +1,9 @@
1
+ import { DSControlledCheckboxT } from '@elliemae/ds-controlled-form';
1
2
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
2
3
  export type CheckBoxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
3
4
  name: string;
4
5
  defaultValue?: boolean;
5
6
  label: string;
6
7
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
7
- [x: string]: any;
8
- };
8
+ } & Omit<DSControlledCheckboxT.Props, 'defaultValue'>;
9
9
  export declare const CheckBox: ({ name, defaultValue, rules, ...rest }: CheckBoxProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,12 @@
1
- /// <reference types="react" />
2
- import { DSComboBox } from '@elliemae/ds-controlled-form';
1
+ import { DSComboboxT } from '@elliemae/ds-controlled-form';
3
2
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
4
3
  type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
5
- type DSComboboxProps = React.ComponentProps<typeof DSComboBox>;
4
+ type DSComboboxProps = DSComboboxT.Props;
6
5
  export type ComboBoxV3Props<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
7
6
  name: string;
8
7
  defaultValue?: DSComboboxProps['selectedValues'];
9
8
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
10
- [x: string]: any;
11
- } & Optional<Omit<DSComboboxProps, 'selectedValues' | 'onChange'>, 'filteredOptions'>;
12
- export declare const ComboBoxV3: ({ name, defaultValue, rules, filteredOptions, ...rest }: ComboBoxV3Props) => import("react/jsx-runtime").JSX.Element;
9
+ clearable?: boolean;
10
+ } & Optional<Omit<DSComboboxProps, 'selectedValues' | 'onChange' | 'defaultValue'>, 'filteredOptions'>;
11
+ export declare const ComboBoxV3: ({ name, defaultValue, rules, clearable, filteredOptions, ...rest }: ComboBoxV3Props) => import("react/jsx-runtime").JSX.Element;
13
12
  export {};
@@ -1,12 +1,11 @@
1
- /// <reference types="react" />
2
- import { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';
1
+ import { DSControlledDateTimePickerT } from '@elliemae/ds-controlled-form';
3
2
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
4
- type DSDateTimePickerProps = React.ComponentProps<typeof DSControlledDateTimePicker>;
3
+ type DSDateTimePickerProps = DSControlledDateTimePickerT.Props;
5
4
  export type DateTimePickerProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
6
5
  name: string;
7
6
  defaultValue?: string;
8
7
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
9
- [x: string]: any;
8
+ id?: string;
10
9
  } & Partial<DSDateTimePickerProps>;
11
10
  export declare const DateTimePicker: ({ name, defaultValue, rules, type, ...rest }: DateTimePickerProps) => import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -1,8 +1,3 @@
1
- /// <reference types="react" />
2
- export type FormLayoutBlockItemProps = {
3
- inputID: string;
4
- label: string;
5
- children: React.ReactNode;
6
- [x: string]: any;
7
- };
1
+ import { DSFormLayoutBlockItemT } from '@elliemae/ds-form-layout-blocks';
2
+ export type FormLayoutBlockItemProps = DSFormLayoutBlockItemT.Props;
8
3
  export declare const FormLayoutBlockItem: ({ inputID, label, ...rest }: FormLayoutBlockItemProps) => import("react/jsx-runtime.js").JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import { Story, Meta } from '@storybook/react';
2
- import { FormLayoutBlockItemProps } from './index.js';
3
2
  declare const _default: Meta;
4
3
  export default _default;
5
- export declare const Basic: Story<FormLayoutBlockItemProps>;
4
+ export declare const Basic: Story<import("@elliemae/ds-form-layout-blocks").DSFormLayoutBlockItemT.Props>;
@@ -1,9 +1,8 @@
1
- import type React from 'react';
2
- import { DSInputText } from '@elliemae/ds-controlled-form';
1
+ import { DSInputTextT } from '@elliemae/ds-controlled-form';
3
2
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
4
3
  export type InputTextProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
5
4
  name: string;
6
5
  defaultValue?: string;
7
6
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
8
- } & React.ComponentProps<typeof DSInputText>;
7
+ } & DSInputTextT.Props;
9
8
  export declare const InputText: ({ name, defaultValue, rules, ...rest }: InputTextProps) => import("react/jsx-runtime").JSX.Element;
@@ -6,6 +6,6 @@ export declare const Basic: Story<{
6
6
  name: string;
7
7
  defaultValue?: string | undefined;
8
8
  rules?: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "setValueAs" | "valueAsNumber" | "valueAsDate"> | undefined;
9
- } & import("@elliemae/ds-form-input-text/dist/types/react-desc-prop-types.js").DSInputTextT.Props & {
9
+ } & import("@elliemae/ds-form-input-text").DSInputTextT.Props & {
10
10
  labelText: string;
11
11
  }>;
@@ -1,13 +1,12 @@
1
- import React from 'react';
2
1
  import type { DSMaskT } from '@elliemae/ds-controlled-form';
3
- import { DSInputText } from '@elliemae/ds-controlled-form';
2
+ import { DSInputTextT } from '@elliemae/ds-controlled-form';
4
3
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
5
4
  type ReactHookCommons<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
6
5
  name: string;
7
6
  defaultValue?: string;
8
7
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
9
8
  };
10
- type CommonProps = ReactHookCommons & React.ComponentProps<typeof DSInputText>;
9
+ type CommonProps = ReactHookCommons & DSInputTextT.Props;
11
10
  export type MaskedInputTextProps = CommonProps & {
12
11
  useMask: DSMaskT.NumberHook | DSMaskT.PhoneHook | DSMaskT.Hook;
13
12
  maskOpts: Partial<Omit<DSMaskT.RegExpHookArgs, 'onChange' | 'valueSetter'> | Omit<DSMaskT.PhoneHookArgs, 'onChange' | 'valueSetter'> | Omit<DSMaskT.NumberHookArgs, 'onChange' | 'valueSetter'>>;
@@ -6,6 +6,6 @@ export declare const WithMoneyMask: Story<{
6
6
  name: string;
7
7
  defaultValue?: string | undefined;
8
8
  rules?: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "setValueAs" | "valueAsNumber" | "valueAsDate"> | undefined;
9
- } & import("@elliemae/ds-form-input-text/dist/types/react-desc-prop-types.js").DSInputTextT.Props & {
9
+ } & import("@elliemae/ds-form-input-text").DSInputTextT.Props & {
10
10
  labelText: string;
11
11
  }>;
@@ -6,6 +6,6 @@ export declare const WithPercentageMask: Story<{
6
6
  name: string;
7
7
  defaultValue?: string | undefined;
8
8
  rules?: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "setValueAs" | "valueAsNumber" | "valueAsDate"> | undefined;
9
- } & import("@elliemae/ds-form-input-text/dist/types/react-desc-prop-types.js").DSInputTextT.Props & {
9
+ } & import("@elliemae/ds-form-input-text").DSInputTextT.Props & {
10
10
  labelText: string;
11
11
  }>;
@@ -1,13 +1,9 @@
1
- /// <reference types="react" />
2
- import { DSControlledToggle } from '@elliemae/ds-controlled-form';
1
+ import { DSControlledToggleT } from '@elliemae/ds-controlled-form';
3
2
  import '@elliemae/ds-form-toggle';
4
3
  import { RegisterOptions, FieldValues, FieldPath } from 'react-hook-form';
5
- type DSControlledToggleProps = React.ComponentProps<typeof DSControlledToggle>;
6
4
  export type ToggleProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
7
5
  name: string;
8
6
  defaultValue?: boolean;
9
7
  rules?: Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs'>;
10
- [x: string]: any;
11
- } & DSControlledToggleProps;
8
+ } & DSControlledToggleT.Props;
12
9
  export declare const Toggle: ({ name, defaultValue, rules, ...rest }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
13
- export {};
@@ -2,10 +2,9 @@ import { Story, Meta } from '@storybook/react';
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
4
  export declare const Basic: Story<{
5
- [x: string]: any;
6
5
  name: string;
7
6
  defaultValue?: boolean | undefined;
8
7
  rules?: Omit<import("react-hook-form").RegisterOptions<import("react-hook-form").FieldValues, string>, "setValueAs" | "valueAsNumber" | "valueAsDate"> | undefined;
9
- } & import("@elliemae/ds-form-toggle/dist/types/propTypes.js").DSControlledToggleT.Props & {
8
+ } & import("@elliemae/ds-form-toggle").DSControlledToggleT.Props & {
10
9
  label: string;
11
10
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-app-sdk",
3
- "version": "5.3.9",
3
+ "version": "5.4.0",
4
4
  "description": "ICE MT UI Platform Application SDK ",
5
5
  "sideEffects": [
6
6
  "*.css",
@@ -112,21 +112,21 @@
112
112
  },
113
113
  "peerDependencies": {
114
114
  "@elliemae/app-react-dependencies": "^4.11.0",
115
- "@elliemae/ds-backdrop": "^3.14.16",
116
- "@elliemae/ds-basic": "^3.14.16",
117
- "@elliemae/ds-button": "^3.14.16",
118
- "@elliemae/ds-circular-progress-indicator": "^3.14.16",
119
- "@elliemae/ds-controlled-form": "^3.14.16",
120
- "@elliemae/ds-date-picker": "^3.14.16",
121
- "@elliemae/ds-date-range-picker": "^3.14.16",
122
- "@elliemae/ds-dialog": "^3.14.16",
123
- "@elliemae/ds-form": "^3.14.16",
124
- "@elliemae/ds-form-layout-blocks": "^3.14.16",
125
- "@elliemae/ds-grid": "^3.14.16",
126
- "@elliemae/ds-modal": "^3.14.16",
127
- "@elliemae/ds-popperjs": "^3.14.16",
128
- "@elliemae/ds-toast": "^3.14.16",
129
- "@elliemae/ds-utilities": "^3.14.16",
115
+ "@elliemae/ds-backdrop": "^3.21.2",
116
+ "@elliemae/ds-basic": "^3.21.2",
117
+ "@elliemae/ds-button": "^3.21.2",
118
+ "@elliemae/ds-circular-progress-indicator": "^3.21.2",
119
+ "@elliemae/ds-controlled-form": "^3.21.2",
120
+ "@elliemae/ds-date-picker": "^3.21.2",
121
+ "@elliemae/ds-date-range-picker": "^3.21.2",
122
+ "@elliemae/ds-dialog": "^3.21.2",
123
+ "@elliemae/ds-form": "^3.21.2",
124
+ "@elliemae/ds-form-layout-blocks": "^3.21.2",
125
+ "@elliemae/ds-grid": "^3.21.2",
126
+ "@elliemae/ds-modal": "^3.21.2",
127
+ "@elliemae/ds-popperjs": "^3.21.2",
128
+ "@elliemae/ds-toast": "^3.21.2",
129
+ "@elliemae/ds-utilities": "^3.21.2",
130
130
  "@elliemae/em-ssf-guest": "^1.11.3",
131
131
  "@elliemae/pui-diagnostics": "^3.4.0",
132
132
  "@elliemae/pui-micro-frontend-base": "^1.14.0",
@@ -137,21 +137,21 @@
137
137
  "devDependencies": {
138
138
  "@elliemae/app-react-dependencies": "~4.11.0",
139
139
  "@elliemae/browserslist-config-elliemae-latest-browsers": "~1.8.0",
140
- "@elliemae/ds-backdrop": "~3.14.16",
141
- "@elliemae/ds-basic": "~3.14.16",
142
- "@elliemae/ds-button": "~3.14.16",
143
- "@elliemae/ds-circular-progress-indicator": "~3.14.16",
144
- "@elliemae/ds-controlled-form": "~3.14.16",
145
- "@elliemae/ds-date-picker": "~3.14.16",
146
- "@elliemae/ds-date-range-picker": "~3.14.16",
147
- "@elliemae/ds-dialog": "~3.14.16",
148
- "@elliemae/ds-form": "~3.14.16",
149
- "@elliemae/ds-form-layout-blocks": "~3.14.16",
150
- "@elliemae/ds-grid": "~3.14.16",
151
- "@elliemae/ds-modal": "~3.14.16",
152
- "@elliemae/ds-popperjs": "~3.14.16",
153
- "@elliemae/ds-toast": "~3.14.16",
154
- "@elliemae/ds-utilities": "~3.14.16",
140
+ "@elliemae/ds-backdrop": "~3.21.2",
141
+ "@elliemae/ds-basic": "~3.21.2",
142
+ "@elliemae/ds-button": "~3.21.2",
143
+ "@elliemae/ds-circular-progress-indicator": "~3.21.2",
144
+ "@elliemae/ds-controlled-form": "~3.21.2",
145
+ "@elliemae/ds-date-picker": "~3.21.2",
146
+ "@elliemae/ds-date-range-picker": "~3.21.2",
147
+ "@elliemae/ds-dialog": "~3.21.2",
148
+ "@elliemae/ds-form": "~3.21.2",
149
+ "@elliemae/ds-form-layout-blocks": "~3.21.2",
150
+ "@elliemae/ds-grid": "~3.21.2",
151
+ "@elliemae/ds-modal": "~3.21.2",
152
+ "@elliemae/ds-popperjs": "~3.21.2",
153
+ "@elliemae/ds-toast": "~3.21.2",
154
+ "@elliemae/ds-utilities": "~3.21.2",
155
155
  "@elliemae/em-ssf-guest": "~1.11.3",
156
156
  "@elliemae/pui-cli": "~8.14.1",
157
157
  "@elliemae/pui-diagnostics": "~3.4.0",