@elliemae/ds-zipcode-search 3.14.0-next.16 → 3.14.0-next.17

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.
@@ -53,7 +53,7 @@ const DSZipCodeSearch = ({
53
53
  tabIndex
54
54
  }) => {
55
55
  const ref = (0, import_react.useRef)(null);
56
- const [searchValue, setSearchValue] = (0, import_react.useState)(value);
56
+ const [searchValue, setSearchValue] = (0, import_react.useState)(String(value));
57
57
  const [isOpen, setIsOpen] = (0, import_react.useState)(false);
58
58
  const [isActive, setIsActive] = (0, import_react.useState)(false);
59
59
  const [isInputFocus, setIsInputFocus] = (0, import_react.useState)(false);
@@ -67,7 +67,7 @@ const DSZipCodeSearch = ({
67
67
  }
68
68
  }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);
69
69
  (0, import_react.useEffect)(() => {
70
- setSearchValue(value || "");
70
+ setSearchValue(String(value) || "");
71
71
  }, [value]);
72
72
  const onTypeInInput = (0, import_react.useCallback)(
73
73
  (e) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSZipCodeSearch.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable no-useless-escape */\n/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { DSInputMask } from '@elliemae/ds-form';\nimport { InputSearchWrapper } from './components/blocks';\nimport { createDisabledOption, noAddonOptions } from './components/helper';\nimport { zipcodeSearchProps, defaultProps } from './props';\n\nconst DSZipCodeSearch = ({\n disabled,\n value,\n placeholder,\n mask,\n onBlur,\n onChange,\n onSearch,\n containerProps,\n selectRightOptions,\n activeCount,\n options,\n tabIndex,\n}) => {\n const ref = useRef(null);\n const [searchValue, setSearchValue] = useState(value);\n const [isOpen, setIsOpen] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isInputFocus, setIsInputFocus] = useState(false);\n const [isSelected, setIsSelected] = useState(false);\n\n useEffect(() => {\n if (isInputFocus && activeCount <= searchValue.length && !isSelected) {\n setIsOpen(true);\n setIsActive(true);\n } else if (!isActive || activeCount > searchValue.length) {\n setIsOpen(false);\n }\n }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);\n useEffect(() => {\n setSearchValue(value || '');\n }, [value]);\n\n const onTypeInInput = useCallback(\n (e) => {\n const finalVal = e.target.value;\n onSearch(finalVal);\n setSearchValue(finalVal);\n setIsSelected(false);\n },\n [onSearch],\n );\n\n const onFocusInput = useCallback(() => {\n setIsInputFocus(true);\n }, []);\n\n const onInnerBlur = useCallback(\n (e) => {\n setIsInputFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n const onClose = useCallback(() => {\n setIsActive(false);\n }, []);\n const onSelectItem = useCallback(\n (item) => {\n setSearchValue(item.value);\n onChange(item);\n setIsSelected(true);\n ref.current.focus();\n setIsOpen(false);\n onClose();\n },\n [onChange, onClose],\n );\n\n return (\n <InputSearchWrapper {...containerProps}>\n <DSDropdownMenu\n isOpen={isOpen && options.length > 0}\n menuProps={{ className: 'input-search-menu' }}\n onClose={onClose}\n onSelectMenuItem={onSelectItem}\n contentStyle={{\n maxHeight: 200,\n }}\n options={options.length > 0 ? [createDisabledOption(selectRightOptions), ...noAddonOptions(options)] : []}\n triggerComponent={\n <div>\n <DSInputMask\n disabled={disabled}\n innerRef={(_ref) => (ref.current = _ref)}\n mask={mask}\n onBlur={onInnerBlur}\n onChange={onTypeInInput}\n onFocus={onFocusInput}\n placeholder={placeholder}\n value={searchValue}\n tabIndex={tabIndex}\n />\n </div>\n }\n />\n </InputSearchWrapper>\n );\n};\n\nDSZipCodeSearch.propTypes = zipcodeSearchProps;\n\nDSZipCodeSearch.defaultProps = defaultProps;\nDSZipCodeSearch.displayName = 'DSZipCodeSearch';\nconst ZipCodeSearchWithSchema = describe(DSZipCodeSearch);\nZipCodeSearchWithSchema.propTypes = zipcodeSearchProps;\n\nexport { DSZipCodeSearch, ZipCodeSearchWithSchema };\nexport default DSZipCodeSearch;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable no-useless-escape */\n/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { DSInputMask } from '@elliemae/ds-form';\nimport { InputSearchWrapper } from './components/blocks';\nimport { createDisabledOption, noAddonOptions } from './components/helper';\nimport { zipcodeSearchProps, defaultProps } from './props';\n\nconst DSZipCodeSearch = ({\n disabled,\n value,\n placeholder,\n mask,\n onBlur,\n onChange,\n onSearch,\n containerProps,\n selectRightOptions,\n activeCount,\n options,\n tabIndex,\n}) => {\n const ref = useRef(null);\n const [searchValue, setSearchValue] = useState(String(value));\n const [isOpen, setIsOpen] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isInputFocus, setIsInputFocus] = useState(false);\n const [isSelected, setIsSelected] = useState(false);\n\n useEffect(() => {\n if (isInputFocus && activeCount <= searchValue.length && !isSelected) {\n setIsOpen(true);\n setIsActive(true);\n } else if (!isActive || activeCount > searchValue.length) {\n setIsOpen(false);\n }\n }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);\n useEffect(() => {\n setSearchValue(String(value) || '');\n }, [value]);\n\n const onTypeInInput = useCallback(\n (e) => {\n const finalVal = e.target.value;\n onSearch(finalVal);\n setSearchValue(finalVal);\n setIsSelected(false);\n },\n [onSearch],\n );\n\n const onFocusInput = useCallback(() => {\n setIsInputFocus(true);\n }, []);\n\n const onInnerBlur = useCallback(\n (e) => {\n setIsInputFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n const onClose = useCallback(() => {\n setIsActive(false);\n }, []);\n const onSelectItem = useCallback(\n (item) => {\n setSearchValue(item.value);\n onChange(item);\n setIsSelected(true);\n ref.current.focus();\n setIsOpen(false);\n onClose();\n },\n [onChange, onClose],\n );\n\n return (\n <InputSearchWrapper {...containerProps}>\n <DSDropdownMenu\n isOpen={isOpen && options.length > 0}\n menuProps={{ className: 'input-search-menu' }}\n onClose={onClose}\n onSelectMenuItem={onSelectItem}\n contentStyle={{\n maxHeight: 200,\n }}\n options={options.length > 0 ? [createDisabledOption(selectRightOptions), ...noAddonOptions(options)] : []}\n triggerComponent={\n <div>\n <DSInputMask\n disabled={disabled}\n innerRef={(_ref) => (ref.current = _ref)}\n mask={mask}\n onBlur={onInnerBlur}\n onChange={onTypeInInput}\n onFocus={onFocusInput}\n placeholder={placeholder}\n value={searchValue}\n tabIndex={tabIndex}\n />\n </div>\n }\n />\n </InputSearchWrapper>\n );\n};\n\nDSZipCodeSearch.propTypes = zipcodeSearchProps;\n\nDSZipCodeSearch.defaultProps = defaultProps;\nDSZipCodeSearch.displayName = 'DSZipCodeSearch';\nconst ZipCodeSearchWithSchema = describe(DSZipCodeSearch);\nZipCodeSearchWithSchema.propTypes = zipcodeSearchProps;\n\nexport { DSZipCodeSearch, ZipCodeSearchWithSchema };\nexport default DSZipCodeSearch;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["DSDropdownMenu"]
7
7
  }
@@ -22,7 +22,7 @@ const DSZipCodeSearch = ({
22
22
  tabIndex
23
23
  }) => {
24
24
  const ref = useRef(null);
25
- const [searchValue, setSearchValue] = useState(value);
25
+ const [searchValue, setSearchValue] = useState(String(value));
26
26
  const [isOpen, setIsOpen] = useState(false);
27
27
  const [isActive, setIsActive] = useState(false);
28
28
  const [isInputFocus, setIsInputFocus] = useState(false);
@@ -36,7 +36,7 @@ const DSZipCodeSearch = ({
36
36
  }
37
37
  }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);
38
38
  useEffect(() => {
39
- setSearchValue(value || "");
39
+ setSearchValue(String(value) || "");
40
40
  }, [value]);
41
41
  const onTypeInInput = useCallback(
42
42
  (e) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSZipCodeSearch.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-useless-escape */\n/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { DSInputMask } from '@elliemae/ds-form';\nimport { InputSearchWrapper } from './components/blocks';\nimport { createDisabledOption, noAddonOptions } from './components/helper';\nimport { zipcodeSearchProps, defaultProps } from './props';\n\nconst DSZipCodeSearch = ({\n disabled,\n value,\n placeholder,\n mask,\n onBlur,\n onChange,\n onSearch,\n containerProps,\n selectRightOptions,\n activeCount,\n options,\n tabIndex,\n}) => {\n const ref = useRef(null);\n const [searchValue, setSearchValue] = useState(value);\n const [isOpen, setIsOpen] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isInputFocus, setIsInputFocus] = useState(false);\n const [isSelected, setIsSelected] = useState(false);\n\n useEffect(() => {\n if (isInputFocus && activeCount <= searchValue.length && !isSelected) {\n setIsOpen(true);\n setIsActive(true);\n } else if (!isActive || activeCount > searchValue.length) {\n setIsOpen(false);\n }\n }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);\n useEffect(() => {\n setSearchValue(value || '');\n }, [value]);\n\n const onTypeInInput = useCallback(\n (e) => {\n const finalVal = e.target.value;\n onSearch(finalVal);\n setSearchValue(finalVal);\n setIsSelected(false);\n },\n [onSearch],\n );\n\n const onFocusInput = useCallback(() => {\n setIsInputFocus(true);\n }, []);\n\n const onInnerBlur = useCallback(\n (e) => {\n setIsInputFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n const onClose = useCallback(() => {\n setIsActive(false);\n }, []);\n const onSelectItem = useCallback(\n (item) => {\n setSearchValue(item.value);\n onChange(item);\n setIsSelected(true);\n ref.current.focus();\n setIsOpen(false);\n onClose();\n },\n [onChange, onClose],\n );\n\n return (\n <InputSearchWrapper {...containerProps}>\n <DSDropdownMenu\n isOpen={isOpen && options.length > 0}\n menuProps={{ className: 'input-search-menu' }}\n onClose={onClose}\n onSelectMenuItem={onSelectItem}\n contentStyle={{\n maxHeight: 200,\n }}\n options={options.length > 0 ? [createDisabledOption(selectRightOptions), ...noAddonOptions(options)] : []}\n triggerComponent={\n <div>\n <DSInputMask\n disabled={disabled}\n innerRef={(_ref) => (ref.current = _ref)}\n mask={mask}\n onBlur={onInnerBlur}\n onChange={onTypeInInput}\n onFocus={onFocusInput}\n placeholder={placeholder}\n value={searchValue}\n tabIndex={tabIndex}\n />\n </div>\n }\n />\n </InputSearchWrapper>\n );\n};\n\nDSZipCodeSearch.propTypes = zipcodeSearchProps;\n\nDSZipCodeSearch.defaultProps = defaultProps;\nDSZipCodeSearch.displayName = 'DSZipCodeSearch';\nconst ZipCodeSearchWithSchema = describe(DSZipCodeSearch);\nZipCodeSearchWithSchema.propTypes = zipcodeSearchProps;\n\nexport { DSZipCodeSearch, ZipCodeSearchWithSchema };\nexport default DSZipCodeSearch;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-useless-escape */\n/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport DSDropdownMenu from '@elliemae/ds-dropdownmenu';\nimport { DSInputMask } from '@elliemae/ds-form';\nimport { InputSearchWrapper } from './components/blocks';\nimport { createDisabledOption, noAddonOptions } from './components/helper';\nimport { zipcodeSearchProps, defaultProps } from './props';\n\nconst DSZipCodeSearch = ({\n disabled,\n value,\n placeholder,\n mask,\n onBlur,\n onChange,\n onSearch,\n containerProps,\n selectRightOptions,\n activeCount,\n options,\n tabIndex,\n}) => {\n const ref = useRef(null);\n const [searchValue, setSearchValue] = useState(String(value));\n const [isOpen, setIsOpen] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [isInputFocus, setIsInputFocus] = useState(false);\n const [isSelected, setIsSelected] = useState(false);\n\n useEffect(() => {\n if (isInputFocus && activeCount <= searchValue.length && !isSelected) {\n setIsOpen(true);\n setIsActive(true);\n } else if (!isActive || activeCount > searchValue.length) {\n setIsOpen(false);\n }\n }, [isInputFocus, isActive, activeCount, searchValue, isSelected]);\n useEffect(() => {\n setSearchValue(String(value) || '');\n }, [value]);\n\n const onTypeInInput = useCallback(\n (e) => {\n const finalVal = e.target.value;\n onSearch(finalVal);\n setSearchValue(finalVal);\n setIsSelected(false);\n },\n [onSearch],\n );\n\n const onFocusInput = useCallback(() => {\n setIsInputFocus(true);\n }, []);\n\n const onInnerBlur = useCallback(\n (e) => {\n setIsInputFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n const onClose = useCallback(() => {\n setIsActive(false);\n }, []);\n const onSelectItem = useCallback(\n (item) => {\n setSearchValue(item.value);\n onChange(item);\n setIsSelected(true);\n ref.current.focus();\n setIsOpen(false);\n onClose();\n },\n [onChange, onClose],\n );\n\n return (\n <InputSearchWrapper {...containerProps}>\n <DSDropdownMenu\n isOpen={isOpen && options.length > 0}\n menuProps={{ className: 'input-search-menu' }}\n onClose={onClose}\n onSelectMenuItem={onSelectItem}\n contentStyle={{\n maxHeight: 200,\n }}\n options={options.length > 0 ? [createDisabledOption(selectRightOptions), ...noAddonOptions(options)] : []}\n triggerComponent={\n <div>\n <DSInputMask\n disabled={disabled}\n innerRef={(_ref) => (ref.current = _ref)}\n mask={mask}\n onBlur={onInnerBlur}\n onChange={onTypeInInput}\n onFocus={onFocusInput}\n placeholder={placeholder}\n value={searchValue}\n tabIndex={tabIndex}\n />\n </div>\n }\n />\n </InputSearchWrapper>\n );\n};\n\nDSZipCodeSearch.propTypes = zipcodeSearchProps;\n\nDSZipCodeSearch.defaultProps = defaultProps;\nDSZipCodeSearch.displayName = 'DSZipCodeSearch';\nconst ZipCodeSearchWithSchema = describe(DSZipCodeSearch);\nZipCodeSearchWithSchema.propTypes = zipcodeSearchProps;\n\nexport { DSZipCodeSearch, ZipCodeSearchWithSchema };\nexport default DSZipCodeSearch;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,61 @@
1
+ declare const DSZipCodeSearch: {
2
+ ({ disabled, value, placeholder, mask, onBlur, onChange, onSearch, containerProps, selectRightOptions, activeCount, options, tabIndex, }: {
3
+ disabled: any;
4
+ value: any;
5
+ placeholder: any;
6
+ mask: any;
7
+ onBlur: any;
8
+ onChange: any;
9
+ onSearch: any;
10
+ containerProps: any;
11
+ selectRightOptions: any;
12
+ activeCount: any;
13
+ options: any;
14
+ tabIndex: any;
15
+ }): JSX.Element;
16
+ propTypes: {
17
+ className: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
18
+ containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
19
+ tabIndex: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
20
+ disabled: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
21
+ value: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
22
+ onBlur: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
23
+ onChange: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
24
+ options: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
25
+ placeholder: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
26
+ mask: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
27
+ onSearch: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
28
+ selectRightOptions: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
29
+ activeCount: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
30
+ };
31
+ defaultProps: {
32
+ disabled: boolean;
33
+ value: string;
34
+ placeholder: string;
35
+ mask: string;
36
+ onBlur: () => null;
37
+ onChange: () => null;
38
+ onSearch: () => null;
39
+ containerProps: {};
40
+ selectRightOptions: string;
41
+ activeCount: number;
42
+ options: never[];
43
+ };
44
+ displayName: string;
45
+ };
46
+ declare const ZipCodeSearchWithSchema: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").DocumentedReactComponent<{
47
+ disabled: any;
48
+ value: any;
49
+ placeholder: any;
50
+ mask: any;
51
+ onBlur: any;
52
+ onChange: any;
53
+ onSearch: any;
54
+ containerProps: any;
55
+ selectRightOptions: any;
56
+ activeCount: any;
57
+ options: any;
58
+ tabIndex: any;
59
+ }>;
60
+ export { DSZipCodeSearch, ZipCodeSearchWithSchema };
61
+ export default DSZipCodeSearch;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const InputSearchWrapper: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>>;
@@ -0,0 +1,10 @@
1
+ export declare function createDisabledOption(label: any): {
2
+ id: string;
3
+ type: string;
4
+ label: any;
5
+ noAddon: boolean;
6
+ 'aria-disabled': boolean;
7
+ className: string;
8
+ tabIndex: number;
9
+ };
10
+ export declare function noAddonOptions(options: any): any;
@@ -0,0 +1,2 @@
1
+ export * from './DSZipCodeSearch';
2
+ export { default } from './DSZipCodeSearch';
@@ -0,0 +1,41 @@
1
+ export declare const zipcodeSearchProps: {
2
+ /** html class attribute */
3
+ className: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
4
+ /** Set of Properties attached to the main container */
5
+ containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
6
+ /** native tabindex property to handle focus order */
7
+ tabIndex: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
8
+ /** disable component */
9
+ disabled: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
10
+ /** input value */
11
+ value: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
12
+ /** function called on blur */
13
+ onBlur: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
14
+ /** function called on change */
15
+ onChange: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
16
+ /** options to display */
17
+ options: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
18
+ /** placeholder value */
19
+ placeholder: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
20
+ /** format mask to apply */
21
+ mask: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
22
+ /** function called onsearch */
23
+ onSearch: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
24
+ /** Correction messange */
25
+ selectRightOptions: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
26
+ /** current amount */
27
+ activeCount: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
28
+ };
29
+ export declare const defaultProps: {
30
+ disabled: boolean;
31
+ value: string;
32
+ placeholder: string;
33
+ mask: string;
34
+ onBlur: () => null;
35
+ onChange: () => null;
36
+ onSearch: () => null;
37
+ containerProps: {};
38
+ selectRightOptions: string;
39
+ activeCount: number;
40
+ options: never[];
41
+ };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-zipcode-search",
3
- "version": "3.14.0-next.16",
3
+ "version": "3.14.0-next.17",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Zipcode Search",
6
6
  "files": [
@@ -51,11 +51,11 @@
51
51
  "indent": 4
52
52
  },
53
53
  "dependencies": {
54
- "@elliemae/ds-classnames": "3.14.0-next.16",
55
- "@elliemae/ds-dropdownmenu": "3.14.0-next.16",
56
- "@elliemae/ds-form": "3.14.0-next.16",
57
- "@elliemae/ds-system": "3.14.0-next.16",
58
- "@elliemae/ds-utilities": "3.14.0-next.16"
54
+ "@elliemae/ds-classnames": "3.14.0-next.17",
55
+ "@elliemae/ds-dropdownmenu": "3.14.0-next.17",
56
+ "@elliemae/ds-form": "3.14.0-next.17",
57
+ "@elliemae/ds-system": "3.14.0-next.17",
58
+ "@elliemae/ds-utilities": "3.14.0-next.17"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@testing-library/jest-dom": "~5.16.4",