@elliemae/ds-zoom 3.15.0 → 3.16.0-next.10

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.
@@ -32,11 +32,11 @@ module.exports = __toCommonJS(DSZoom_exports);
32
32
  var React = __toESM(require("react"));
33
33
  var import_jsx_runtime = require("react/jsx-runtime");
34
34
  var import_react = require("react");
35
- var import_ds_utilities = require("@elliemae/ds-utilities");
35
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
36
  var import_ds_classnames = require("@elliemae/ds-classnames");
37
37
  var import_ds_form = require("@elliemae/ds-form");
38
- var import_zoomOptions = __toESM(require("./components/zoomOptions"));
39
- var import_utils = require("./components/utils");
38
+ var import_zoomOptions = __toESM(require("./components/zoomOptions.js"));
39
+ var import_utils = require("./components/utils.js");
40
40
  const DSZoom = ({
41
41
  className = "",
42
42
  disabled = false,
@@ -101,20 +101,20 @@ const DSZoom = ({
101
101
  ) });
102
102
  };
103
103
  const zoomProps = {
104
- className: import_ds_utilities.PropTypes.string.description("html class attribute"),
105
- containerProps: import_ds_utilities.PropTypes.object.description("Set of Properties attached to the main container"),
106
- disabled: import_ds_utilities.PropTypes.bool.description("disable component").defaultValue(false),
107
- value: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.number, import_ds_utilities.PropTypes.object]).description("current value"),
108
- onChange: import_ds_utilities.PropTypes.func.description("function called when a new value is selected"),
109
- zoomOptions: import_ds_utilities.PropTypes.shape({
110
- label: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.number]),
111
- value: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.string, import_ds_utilities.PropTypes.number]),
112
- default: import_ds_utilities.PropTypes.bool
104
+ className: import_ds_props_helpers.PropTypes.string.description("html class attribute"),
105
+ containerProps: import_ds_props_helpers.PropTypes.object.description("Set of Properties attached to the main container"),
106
+ disabled: import_ds_props_helpers.PropTypes.bool.description("disable component").defaultValue(false),
107
+ value: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number, import_ds_props_helpers.PropTypes.object]).description("current value"),
108
+ onChange: import_ds_props_helpers.PropTypes.func.description("function called when a new value is selected"),
109
+ zoomOptions: import_ds_props_helpers.PropTypes.shape({
110
+ label: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]),
111
+ value: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]),
112
+ default: import_ds_props_helpers.PropTypes.bool
113
113
  }).description("list of options to display in the select menu")
114
114
  };
115
115
  DSZoom.propTypes = zoomProps;
116
116
  DSZoom.displayName = "DSZoom";
117
- const ZoomWithSchema = (0, import_ds_utilities.describe)(DSZoom);
117
+ const ZoomWithSchema = (0, import_ds_props_helpers.describe)(DSZoom);
118
118
  ZoomWithSchema.propTypes = zoomProps;
119
119
  var DSZoom_default = DSZoom;
120
120
  //# sourceMappingURL=DSZoom.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSZoom.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\nimport React, { useState } from 'react';\nimport { describe, PropTypes } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSComboBox } from '@elliemae/ds-form';\nimport zoomDefaultOptions from './components/zoomOptions';\nimport { clean } from './components/utils';\n\nconst DSZoom = ({\n className = '',\n disabled = false,\n value = undefined,\n onChange = () => null,\n containerProps = {},\n zoomOptions = zoomDefaultOptions,\n ...otherProps\n}) => {\n const { cssClassName } = convertPropToCssClassName('zoom-resize', className, {\n disabled,\n });\n const defaultOption = zoomOptions.find((option) => option.default);\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState(defaultOption);\n const [custom, setCustom] = useState(\n !value\n ? defaultOption\n : {\n label: `${clean(value)}%`,\n value: clean(value),\n id: 'custom',\n },\n );\n const options = [custom, ...zoomOptions.filter((option) => !option.default)];\n\n const currentValue = value || selectedOption?.value || custom?.value || defaultOption?.value;\n\n return (\n <div className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <DSComboBox\n searchable\n disabled={disabled}\n menuIsOpen={menuIsOpen}\n onChange={(valueChange, { action }) => {\n const op = options.find((option) => option.value === valueChange);\n setSelectedOption(op);\n onChange(op);\n setMenuIsOpen(false);\n if (action === 'select-option') {\n document.activeElement.blur();\n }\n }}\n onClickDropdownIndicator={() => setMenuIsOpen(!menuIsOpen)}\n onInputChange={(valueInput, action) => {\n if (valueInput || action.action === 'input-change') {\n if (!valueInput) {\n setCustom(defaultOption);\n onChange(defaultOption);\n } else if (!Number.isNaN(parseInt(valueInput, 10))) {\n const cleanValue = parseInt(valueInput, 10);\n const newOption = {\n label: `${cleanValue}%`,\n value: `${cleanValue}%`,\n id: 'custom',\n };\n setCustom(newOption);\n onChange(newOption);\n }\n }\n setMenuIsOpen(false);\n }}\n options={options}\n value={currentValue}\n />\n </div>\n );\n};\n\nconst zoomProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('disable component').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('current value'),\n onChange: PropTypes.func.description('function called when a new value is selected'),\n zoomOptions: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n default: PropTypes.bool,\n }).description('list of options to display in the select menu'),\n};\n\nDSZoom.propTypes = zoomProps;\nDSZoom.displayName = 'DSZoom';\nconst ZoomWithSchema = describe(DSZoom);\nZoomWithSchema.propTypes = zoomProps;\n\nexport { DSZoom, ZoomWithSchema };\nexport default DSZoom;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable indent */\nimport React, { useState } from 'react';\nimport { describe, PropTypes } from '@elliemae/ds-props-helpers';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSComboBox } from '@elliemae/ds-form';\nimport zoomDefaultOptions from './components/zoomOptions.js';\nimport { clean } from './components/utils.js';\n\nconst DSZoom = ({\n className = '',\n disabled = false,\n value = undefined,\n onChange = () => null,\n containerProps = {},\n zoomOptions = zoomDefaultOptions,\n ...otherProps\n}) => {\n const { cssClassName } = convertPropToCssClassName('zoom-resize', className, {\n disabled,\n });\n const defaultOption = zoomOptions.find((option) => option.default);\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState(defaultOption);\n const [custom, setCustom] = useState(\n !value\n ? defaultOption\n : {\n label: `${clean(value)}%`,\n value: clean(value),\n id: 'custom',\n },\n );\n const options = [custom, ...zoomOptions.filter((option) => !option.default)];\n\n const currentValue = value || selectedOption?.value || custom?.value || defaultOption?.value;\n\n return (\n <div className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <DSComboBox\n searchable\n disabled={disabled}\n menuIsOpen={menuIsOpen}\n onChange={(valueChange, { action }) => {\n const op = options.find((option) => option.value === valueChange);\n setSelectedOption(op);\n onChange(op);\n setMenuIsOpen(false);\n if (action === 'select-option') {\n document.activeElement.blur();\n }\n }}\n onClickDropdownIndicator={() => setMenuIsOpen(!menuIsOpen)}\n onInputChange={(valueInput, action) => {\n if (valueInput || action.action === 'input-change') {\n if (!valueInput) {\n setCustom(defaultOption);\n onChange(defaultOption);\n } else if (!Number.isNaN(parseInt(valueInput, 10))) {\n const cleanValue = parseInt(valueInput, 10);\n const newOption = {\n label: `${cleanValue}%`,\n value: `${cleanValue}%`,\n id: 'custom',\n };\n setCustom(newOption);\n onChange(newOption);\n }\n }\n setMenuIsOpen(false);\n }}\n options={options}\n value={currentValue}\n />\n </div>\n );\n};\n\nconst zoomProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('disable component').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('current value'),\n onChange: PropTypes.func.description('function called when a new value is selected'),\n zoomOptions: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n default: PropTypes.bool,\n }).description('list of options to display in the select menu'),\n};\n\nDSZoom.propTypes = zoomProps;\nDSZoom.displayName = 'DSZoom';\nconst ZoomWithSchema = describe(DSZoom);\nZoomWithSchema.propTypes = zoomProps;\n\nexport { DSZoom, ZoomWithSchema };\nexport default DSZoom;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCjB;AArCN,mBAAgC;AAChC,8BAAoC;AACpC,2BAA0C;AAC1C,qBAA2B;AAC3B,yBAA+B;AAC/B,mBAAsB;AAEtB,MAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW,MAAM;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,cAAc,mBAAAA;AAAA,KACX;AACL,MAAM;AACJ,QAAM,EAAE,aAAa,QAAI,gDAA0B,eAAe,WAAW;AAAA,IAC3E;AAAA,EACF,CAAC;AACD,QAAM,gBAAgB,YAAY,KAAK,CAAC,WAAW,OAAO,OAAO;AACjE,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAS,aAAa;AAClE,QAAM,CAAC,QAAQ,SAAS,QAAI;AAAA,IAC1B,CAAC,QACG,gBACA;AAAA,MACE,OAAO,OAAG,oBAAM,KAAK;AAAA,MACrB,WAAO,oBAAM,KAAK;AAAA,MAClB,IAAI;AAAA,IACN;AAAA,EACN;AACA,QAAM,UAAU,CAAC,QAAQ,GAAG,YAAY,OAAO,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC;AAE3E,QAAM,eAAe,SAAS,gBAAgB,SAAS,QAAQ,SAAS,eAAe;AAEvF,SACE,4CAAC,SAAI,WAAW,GAAG,gBAAiB,GAAG,gBAAiB,GAAG,YACzD;AAAA,IAAC;AAAA;AAAA,MACC,YAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,UAAU,CAAC,aAAa,EAAE,OAAO,MAAM;AACrC,cAAM,KAAK,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,WAAW;AAChE,0BAAkB,EAAE;AACpB,iBAAS,EAAE;AACX,sBAAc,KAAK;AACnB,YAAI,WAAW,iBAAiB;AAC9B,mBAAS,cAAc,KAAK;AAAA,QAC9B;AAAA,MACF;AAAA,MACA,0BAA0B,MAAM,cAAc,CAAC,UAAU;AAAA,MACzD,eAAe,CAAC,YAAY,WAAW;AACrC,YAAI,cAAc,OAAO,WAAW,gBAAgB;AAClD,cAAI,CAAC,YAAY;AACf,sBAAU,aAAa;AACvB,qBAAS,aAAa;AAAA,UACxB,WAAW,CAAC,OAAO,MAAM,SAAS,YAAY,EAAE,CAAC,GAAG;AAClD,kBAAM,aAAa,SAAS,YAAY,EAAE;AAC1C,kBAAM,YAAY;AAAA,cAChB,OAAO,GAAG;AAAA,cACV,OAAO,GAAG;AAAA,cACV,IAAI;AAAA,YACN;AACA,sBAAU,SAAS;AACnB,qBAAS,SAAS;AAAA,UACpB;AAAA,QACF;AACA,sBAAc,KAAK;AAAA,MACrB;AAAA,MACA;AAAA,MACA,OAAO;AAAA;AAAA,EACT,GACF;AAEJ;AAEA,MAAM,YAAY;AAAA,EAChB,WAAW,kCAAU,OAAO,YAAY,sBAAsB;AAAA,EAC9D,gBAAgB,kCAAU,OAAO,YAAY,kDAAkD;AAAA,EAC/F,UAAU,kCAAU,KAAK,YAAY,mBAAmB,EAAE,aAAa,KAAK;AAAA,EAC5E,OAAO,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,eAAe;AAAA,EAC9G,UAAU,kCAAU,KAAK,YAAY,8CAA8C;AAAA,EACnF,aAAa,kCAAU,MAAM;AAAA,IAC3B,OAAO,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC;AAAA,IAC/D,OAAO,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC;AAAA,IAC/D,SAAS,kCAAU;AAAA,EACrB,CAAC,EAAE,YAAY,+CAA+C;AAChE;AAEA,OAAO,YAAY;AACnB,OAAO,cAAc;AACrB,MAAM,qBAAiB,kCAAS,MAAM;AACtC,eAAe,YAAY;AAG3B,IAAO,iBAAQ;",
6
6
  "names": ["zoomDefaultOptions"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -29,6 +29,6 @@ __export(src_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(src_exports);
31
31
  var React = __toESM(require("react"));
32
- __reExport(src_exports, require("./DSZoom"), module.exports);
33
- var import_DSZoom = __toESM(require("./DSZoom"));
32
+ __reExport(src_exports, require("./DSZoom.js"), module.exports);
33
+ var import_DSZoom = __toESM(require("./DSZoom.js"));
34
34
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './DSZoom';\nexport { default } from './DSZoom';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,qBAAd;AACA,oBAAwB;",
4
+ "sourcesContent": ["export * from './DSZoom.js';\nexport { default } from './DSZoom.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,wBAAd;AACA,oBAAwB;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
- import { describe, PropTypes } from "@elliemae/ds-utilities";
4
+ import { describe, PropTypes } from "@elliemae/ds-props-helpers";
5
5
  import { convertPropToCssClassName } from "@elliemae/ds-classnames";
6
6
  import { DSComboBox } from "@elliemae/ds-form";
7
- import zoomDefaultOptions from "./components/zoomOptions";
8
- import { clean } from "./components/utils";
7
+ import zoomDefaultOptions from "./components/zoomOptions.js";
8
+ import { clean } from "./components/utils.js";
9
9
  const DSZoom = ({
10
10
  className = "",
11
11
  disabled = false,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSZoom.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport React, { useState } from 'react';\nimport { describe, PropTypes } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSComboBox } from '@elliemae/ds-form';\nimport zoomDefaultOptions from './components/zoomOptions';\nimport { clean } from './components/utils';\n\nconst DSZoom = ({\n className = '',\n disabled = false,\n value = undefined,\n onChange = () => null,\n containerProps = {},\n zoomOptions = zoomDefaultOptions,\n ...otherProps\n}) => {\n const { cssClassName } = convertPropToCssClassName('zoom-resize', className, {\n disabled,\n });\n const defaultOption = zoomOptions.find((option) => option.default);\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState(defaultOption);\n const [custom, setCustom] = useState(\n !value\n ? defaultOption\n : {\n label: `${clean(value)}%`,\n value: clean(value),\n id: 'custom',\n },\n );\n const options = [custom, ...zoomOptions.filter((option) => !option.default)];\n\n const currentValue = value || selectedOption?.value || custom?.value || defaultOption?.value;\n\n return (\n <div className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <DSComboBox\n searchable\n disabled={disabled}\n menuIsOpen={menuIsOpen}\n onChange={(valueChange, { action }) => {\n const op = options.find((option) => option.value === valueChange);\n setSelectedOption(op);\n onChange(op);\n setMenuIsOpen(false);\n if (action === 'select-option') {\n document.activeElement.blur();\n }\n }}\n onClickDropdownIndicator={() => setMenuIsOpen(!menuIsOpen)}\n onInputChange={(valueInput, action) => {\n if (valueInput || action.action === 'input-change') {\n if (!valueInput) {\n setCustom(defaultOption);\n onChange(defaultOption);\n } else if (!Number.isNaN(parseInt(valueInput, 10))) {\n const cleanValue = parseInt(valueInput, 10);\n const newOption = {\n label: `${cleanValue}%`,\n value: `${cleanValue}%`,\n id: 'custom',\n };\n setCustom(newOption);\n onChange(newOption);\n }\n }\n setMenuIsOpen(false);\n }}\n options={options}\n value={currentValue}\n />\n </div>\n );\n};\n\nconst zoomProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('disable component').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('current value'),\n onChange: PropTypes.func.description('function called when a new value is selected'),\n zoomOptions: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n default: PropTypes.bool,\n }).description('list of options to display in the select menu'),\n};\n\nDSZoom.propTypes = zoomProps;\nDSZoom.displayName = 'DSZoom';\nconst ZoomWithSchema = describe(DSZoom);\nZoomWithSchema.propTypes = zoomProps;\n\nexport { DSZoom, ZoomWithSchema };\nexport default DSZoom;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport React, { useState } from 'react';\nimport { describe, PropTypes } from '@elliemae/ds-props-helpers';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSComboBox } from '@elliemae/ds-form';\nimport zoomDefaultOptions from './components/zoomOptions.js';\nimport { clean } from './components/utils.js';\n\nconst DSZoom = ({\n className = '',\n disabled = false,\n value = undefined,\n onChange = () => null,\n containerProps = {},\n zoomOptions = zoomDefaultOptions,\n ...otherProps\n}) => {\n const { cssClassName } = convertPropToCssClassName('zoom-resize', className, {\n disabled,\n });\n const defaultOption = zoomOptions.find((option) => option.default);\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState(defaultOption);\n const [custom, setCustom] = useState(\n !value\n ? defaultOption\n : {\n label: `${clean(value)}%`,\n value: clean(value),\n id: 'custom',\n },\n );\n const options = [custom, ...zoomOptions.filter((option) => !option.default)];\n\n const currentValue = value || selectedOption?.value || custom?.value || defaultOption?.value;\n\n return (\n <div className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <DSComboBox\n searchable\n disabled={disabled}\n menuIsOpen={menuIsOpen}\n onChange={(valueChange, { action }) => {\n const op = options.find((option) => option.value === valueChange);\n setSelectedOption(op);\n onChange(op);\n setMenuIsOpen(false);\n if (action === 'select-option') {\n document.activeElement.blur();\n }\n }}\n onClickDropdownIndicator={() => setMenuIsOpen(!menuIsOpen)}\n onInputChange={(valueInput, action) => {\n if (valueInput || action.action === 'input-change') {\n if (!valueInput) {\n setCustom(defaultOption);\n onChange(defaultOption);\n } else if (!Number.isNaN(parseInt(valueInput, 10))) {\n const cleanValue = parseInt(valueInput, 10);\n const newOption = {\n label: `${cleanValue}%`,\n value: `${cleanValue}%`,\n id: 'custom',\n };\n setCustom(newOption);\n onChange(newOption);\n }\n }\n setMenuIsOpen(false);\n }}\n options={options}\n value={currentValue}\n />\n </div>\n );\n};\n\nconst zoomProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('disable component').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('current value'),\n onChange: PropTypes.func.description('function called when a new value is selected'),\n zoomOptions: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n default: PropTypes.bool,\n }).description('list of options to display in the select menu'),\n};\n\nDSZoom.propTypes = zoomProps;\nDSZoom.displayName = 'DSZoom';\nconst ZoomWithSchema = describe(DSZoom);\nZoomWithSchema.propTypes = zoomProps;\n\nexport { DSZoom, ZoomWithSchema };\nexport default DSZoom;\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
- export * from "./DSZoom";
3
- import { default as default2 } from "./DSZoom";
2
+ export * from "./DSZoom.js";
3
+ import { default as default2 } from "./DSZoom.js";
4
4
  export {
5
5
  default2 as default
6
6
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSZoom';\nexport { default } from './DSZoom';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSZoom.js';\nexport { default } from './DSZoom.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,SAAS,WAAAA,gBAAe;",
6
6
  "names": ["default"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -17,16 +17,16 @@ declare const DSZoom: {
17
17
  })[] | undefined;
18
18
  }): JSX.Element;
19
19
  propTypes: {
20
- className: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
21
- containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
22
- disabled: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
23
- value: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
24
- onChange: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
25
- zoomOptions: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
20
+ className: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
21
+ containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
22
+ disabled: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
23
+ value: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
24
+ onChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
25
+ zoomOptions: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").ReactDescT;
26
26
  };
27
27
  displayName: string;
28
28
  };
29
- declare const ZoomWithSchema: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").DocumentedReactComponent<{
29
+ declare const ZoomWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<{
30
30
  [x: string]: any;
31
31
  className?: string | undefined;
32
32
  disabled?: boolean | undefined;
@@ -1,2 +1,2 @@
1
- export * from './DSZoom';
2
- export { default } from './DSZoom';
1
+ export * from './DSZoom.js';
2
+ export { default } from './DSZoom.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-zoom",
3
- "version": "3.15.0",
3
+ "version": "3.16.0-next.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Zoom",
6
6
  "files": [
@@ -47,10 +47,11 @@
47
47
  "indent": 4
48
48
  },
49
49
  "dependencies": {
50
- "@elliemae/ds-classnames": "3.15.0",
51
- "@elliemae/ds-form": "3.15.0",
52
- "@elliemae/ds-system": "3.15.0",
53
- "@elliemae/ds-utilities": "3.15.0"
50
+ "@elliemae/ds-classnames": "3.16.0-next.10",
51
+ "@elliemae/ds-form": "3.16.0-next.10",
52
+ "@elliemae/ds-system": "3.16.0-next.10",
53
+ "@elliemae/ds-props-helpers": "3.16.0-next.10",
54
+ "@elliemae/ds-utilities": "3.16.0-next.10"
54
55
  },
55
56
  "devDependencies": {
56
57
  "@testing-library/jest-dom": "~5.16.4",
@@ -71,7 +72,7 @@
71
72
  "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
72
73
  "dts": "node ../../scripts/dts.mjs",
73
74
  "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
74
- "dev:build": "pnpm --filter {.}... build && pnpm --filter {.}... dts",
75
+ "dev:build": "pnpm --filter {.}... build",
75
76
  "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
76
77
  "checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
77
78
  }