@elliemae/ds-imagelibrarymodal 3.12.0-rc.2 → 3.12.0-rc.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.
@@ -55,20 +55,23 @@ const DSImageLibraryModal = ({
55
55
  ],
56
56
  onSelect = () => null,
57
57
  ...rest
58
- }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ImageLibraryModalImpl.default, {
59
- confirmLabel,
60
- containerProps,
61
- disableDoubleClick,
62
- imagesData,
63
- isOpen,
64
- modalTitle,
65
- modalType,
66
- onSelect,
67
- rejectLabel,
68
- shouldCloseOnOverlayClick,
69
- size,
70
- ...rest
71
- });
58
+ }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
+ import_ImageLibraryModalImpl.default,
60
+ {
61
+ confirmLabel,
62
+ containerProps,
63
+ disableDoubleClick,
64
+ imagesData,
65
+ isOpen,
66
+ modalTitle,
67
+ modalType,
68
+ onSelect,
69
+ rejectLabel,
70
+ shouldCloseOnOverlayClick,
71
+ size,
72
+ ...rest
73
+ }
74
+ );
72
75
  DSImageLibraryModal.propTypes = {
73
76
  containerProps: import_prop_types.default.shape({}),
74
77
  imagesData: import_prop_types.default.arrayOf(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSImageLibraryModal.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared';\nimport ImageLibraryModalImpl from './components/ImageLibraryModalImpl';\n\nconst modalTypes = Object.values(MODAL_TYPE);\n\nconst DSImageLibraryModal = ({\n containerProps = {},\n confirmLabel = 'Add',\n disableDoubleClick = false,\n isOpen = true,\n modalTitle = 'Add Image',\n modalType = modalTypes[2],\n rejectLabel = 'Cancel',\n shouldCloseOnOverlayClick = true,\n size = sizeOptions[3],\n imagesData = [\n {\n url: 'https://www.freeiconspng.com/minicovers/no-image-icon-6.png',\n name: 'no image',\n createdBy: 'user:John Doe',\n createdDate: '0000-01-01 00:00 AM UTC',\n },\n ],\n onSelect = () => null,\n ...rest\n}) => (\n <ImageLibraryModalImpl\n confirmLabel={confirmLabel}\n containerProps={containerProps}\n disableDoubleClick={disableDoubleClick}\n imagesData={imagesData}\n isOpen={isOpen}\n modalTitle={modalTitle}\n modalType={modalType}\n onSelect={onSelect}\n rejectLabel={rejectLabel}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n size={size}\n {...rest}\n />\n);\n\n/** Inherits DSModal props */\nDSImageLibraryModal.propTypes = {\n containerProps: PropTypes.shape({}),\n /** List of images src */\n imagesData: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n name: PropTypes.string,\n }),\n ),\n /** Handler when user selects an image */\n onSelect: PropTypes.func,\n};\n\nexport { DSImageLibraryModal };\nexport default DSImageLibraryModal;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6BrB;AA5BF,wBAAsB;AACtB,sBAA2B;AAC3B,uBAA4B;AAC5B,mCAAkC;AAElC,MAAM,aAAa,OAAO,OAAO,0BAAU;AAE3C,MAAM,sBAAsB,CAAC;AAAA,EAC3B,iBAAiB,CAAC;AAAA,EAClB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,WAAW;AAAA,EACvB,cAAc;AAAA,EACd,4BAA4B;AAAA,EAC5B,OAAO,6BAAY;AAAA,EACnB,aAAa;AAAA,IACX;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,MAAM;AAAA,KACd;AACL,MACE,4CAAC,6BAAAA,SAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC,GAAG;AAAA,CACN;AAIF,oBAAoB,YAAY;AAAA,EAC9B,gBAAgB,kBAAAC,QAAU,MAAM,CAAC,CAAC;AAAA,EAElC,YAAY,kBAAAA,QAAU;AAAA,IACpB,kBAAAA,QAAU,MAAM;AAAA,MACd,KAAK,kBAAAA,QAAU;AAAA,MACf,MAAM,kBAAAA,QAAU;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,kBAAAA,QAAU;AACtB;AAGA,IAAO,8BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6BrB;AA5BF,wBAAsB;AACtB,sBAA2B;AAC3B,uBAA4B;AAC5B,mCAAkC;AAElC,MAAM,aAAa,OAAO,OAAO,0BAAU;AAE3C,MAAM,sBAAsB,CAAC;AAAA,EAC3B,iBAAiB,CAAC;AAAA,EAClB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,WAAW;AAAA,EACvB,cAAc;AAAA,EACd,4BAA4B;AAAA,EAC5B,OAAO,6BAAY;AAAA,EACnB,aAAa;AAAA,IACX;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,MAAM;AAAA,KACd;AACL,MACE;AAAA,EAAC,6BAAAA;AAAA,EAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACC,GAAG;AAAA;AACN;AAIF,oBAAoB,YAAY;AAAA,EAC9B,gBAAgB,kBAAAC,QAAU,MAAM,CAAC,CAAC;AAAA,EAElC,YAAY,kBAAAA,QAAU;AAAA,IACpB,kBAAAA,QAAU,MAAM;AAAA,MACd,KAAK,kBAAAA,QAAU;AAAA,MACf,MAAM,kBAAAA,QAAU;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,kBAAAA,QAAU;AACtB;AAGA,IAAO,8BAAQ;",
6
6
  "names": ["ImageLibraryModalImpl", "PropTypes"]
7
7
  }
@@ -81,28 +81,23 @@ class ImageLibraryModalImpl extends import_react.default.PureComponent {
81
81
  } else if (selected && name === selected.name) {
82
82
  extras.ref = (element) => element && element.focus();
83
83
  }
84
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
85
- className: elementClassName,
86
- onClick: (e) => this.handleElementClick(e, image),
87
- onKeyUp: (e) => this.handleElementClick(e, image),
88
- role: "button",
89
- tabIndex: 0,
90
- ...extras,
91
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
92
- className: "content",
93
- children: name
94
- })
95
- }, id || `${name}_${idx}`);
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
85
+ "div",
86
+ {
87
+ className: elementClassName,
88
+ onClick: (e) => this.handleElementClick(e, image),
89
+ onKeyUp: (e) => this.handleElementClick(e, image),
90
+ role: "button",
91
+ tabIndex: 0,
92
+ ...extras,
93
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "content", children: name })
94
+ },
95
+ id || `${name}_${idx}`
96
+ );
96
97
  });
97
98
  };
98
- this.renderSpinner = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_spinner.default, {
99
- message: "Loading...",
100
- size: "m"
101
- });
102
- this.renderError = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ImageMissing, {
103
- color: import_ds_icon.DSIconColors.NEUTRAL,
104
- size: import_ds_icon.DSIconSizes.M
105
- });
99
+ this.renderSpinner = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_spinner.default, { message: "Loading...", size: "m" });
100
+ this.renderError = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ImageMissing, { color: import_ds_icon.DSIconColors.NEUTRAL, size: import_ds_icon.DSIconSizes.M });
106
101
  this.state = {
107
102
  selected: void 0,
108
103
  user: void 0
@@ -147,66 +142,48 @@ class ImageLibraryModalImpl extends import_react.default.PureComponent {
147
142
  };
148
143
  }
149
144
  drawDiv(className, content) {
150
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
151
- className,
152
- children: content
153
- });
145
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className, children: content });
154
146
  }
155
147
  drawLabel(className, label, value) {
156
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
157
- className,
158
- children: [
159
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
160
- className: "label",
161
- children: label
162
- }),
163
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
164
- className: "value",
165
- children: value
166
- })
167
- ]
168
- });
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className, children: [
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "label", children: label }),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "value", children: value })
151
+ ] });
169
152
  }
170
153
  render() {
171
154
  const { selected, user } = this.state;
172
155
  const { containerProps, imagesData, onSelect, disableDoubleClick, ...modalProps } = this.props;
173
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_modal.default, {
174
- containerProps,
175
- ...modalProps,
176
- className: "em-ds-modal-image-library",
177
- onReject: this.onReject,
178
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
179
- className: "wrapper",
180
- children: [
181
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
182
- className: "col-1",
183
- children: [
184
- this.drawDiv("title", "Company Images"),
185
- this.renderElements()
186
- ]
187
- }),
188
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
189
- className: "col-2",
190
- children: [
191
- this.drawDiv("title", selected ? selected.name : ""),
192
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_loading_image.default, {
156
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
157
+ import_ds_modal.default,
158
+ {
159
+ containerProps,
160
+ ...modalProps,
161
+ className: "em-ds-modal-image-library",
162
+ onReject: this.onReject,
163
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "wrapper", children: [
164
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "col-1", children: [
165
+ this.drawDiv("title", "Company Images"),
166
+ this.renderElements()
167
+ ] }),
168
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "col-2", children: [
169
+ this.drawDiv("title", selected ? selected.name : ""),
170
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
171
+ import_react_loading_image.default,
172
+ {
193
173
  className: "image-loader",
194
174
  error: this.renderError,
195
175
  loading: this.renderSpinner,
196
176
  src: selected ? selected.url : ""
197
- }),
198
- selected && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
199
- className: "info",
200
- children: [
201
- this.drawLabel("info-element", "Created Date:", selected.createdDate),
202
- this.drawLabel("info-element", "Created By:", user)
203
- ]
204
- })
205
- ]
206
- })
207
- ]
208
- })
209
- });
177
+ }
178
+ ),
179
+ selected && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "info", children: [
180
+ this.drawLabel("info-element", "Created Date:", selected.createdDate),
181
+ this.drawLabel("info-element", "Created By:", user)
182
+ ] })
183
+ ] })
184
+ ] })
185
+ }
186
+ );
210
187
  }
211
188
  }
212
189
  //# sourceMappingURL=ImageLibraryModalImpl.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ImageLibraryModalImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport DSModal from '@elliemae/ds-modal';\nimport DSSpinner from '@elliemae/ds-spinner';\nimport { DSIconSizes as ICONS_SIZES, DSIconColors as ICONS_COLORS } from '@elliemae/ds-icon';\nimport { includes } from 'lodash';\nimport ImageLoader from 'react-loading-image';\nimport { ImageMissing } from '@elliemae/ds-icons';\n\nconst elementClassName = 'imglibmodal-element';\n\nexport default class ImageLibraryModalImpl extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n selected: undefined,\n user: undefined,\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { imagesData } = this.props;\n if (imagesData) {\n this.handleElementClick({}, imagesData[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { imagesData } = this.props;\n if (!imagesData && nextProps.imagesData) {\n this.setState({ selected: imagesData[0] });\n }\n }\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n getUser(selected) {\n if (!selected) {\n return '';\n }\n const index = selected.createdBy.lastIndexOf('user:');\n if (index === -1) {\n return selected.createdBy;\n }\n return selected.createdBy.substring(index + 5);\n }\n\n handleElementClick = (e, image) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selected } = this.state;\n const { disableDoubleClick, onConfirm, onSelect } = this.props;\n if (image === selected && onConfirm && !disableDoubleClick) {\n onConfirm();\n return;\n }\n this.setState({\n selected: image,\n user: this.getUser(image),\n });\n if (onSelect) {\n onSelect(image);\n }\n };\n\n preventSpacebarScroll() {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n }\n\n drawDiv(className, content) {\n return <div className={className}>{content}</div>;\n }\n\n drawLabel(className, label, value) {\n return (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n }\n\n renderElements = () => {\n const { imagesData } = this.props;\n if (!imagesData) {\n return 'Empty';\n }\n const { selected } = this.state;\n return imagesData.map((image, idx) => {\n const extras = {};\n const { name, id } = image;\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (selected && name === selected.name) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={id || `${name}_${idx}`}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, image)}\n onKeyUp={(e) => this.handleElementClick(e, image)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n <div className=\"content\">{name}</div>\n </div>\n );\n });\n };\n\n renderSpinner = () => <DSSpinner message=\"Loading...\" size=\"m\" />;\n\n renderError = () => <ImageMissing color={ICONS_COLORS.NEUTRAL} size={ICONS_SIZES.M} />;\n\n render() {\n const { selected, user } = this.state;\n const { containerProps, imagesData, onSelect, disableDoubleClick, ...modalProps } = this.props;\n return (\n <DSModal\n containerProps={containerProps}\n {...modalProps}\n className=\"em-ds-modal-image-library\"\n onReject={this.onReject}\n >\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Company Images')}\n {this.renderElements()}\n </div>\n <div className=\"col-2\">\n {this.drawDiv('title', selected ? selected.name : '')}\n <ImageLoader\n className=\"image-loader\"\n error={this.renderError}\n loading={this.renderSpinner}\n src={selected ? selected.url : ''}\n />\n {selected && (\n <div className=\"info\">\n {this.drawLabel('info-element', 'Created Date:', selected.createdDate)}\n {this.drawLabel('info-element', 'Created By:', user)}\n </div>\n )}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2FZ;AA1FX,mBAAkB;AAClB,sBAAoB;AACpB,wBAAsB;AACtB,qBAAyE;AACzE,oBAAyB;AACzB,iCAAwB;AACxB,sBAA6B;AAE7B,MAAM,mBAAmB;AAEzB,MAAO,8BAA4C,aAAAA,QAAM,cAAc;AAAA,EACrE,YAAY,OAAO;AACjB,UAAM,KAAK;AAuBb,oBAAW,MAAM;AACf,YAAM,EAAE,UAAU,QAAQ,IAAI,KAAK;AACnC,UAAI,UAAU;AACZ,iBAAS;AAAA,MACX,OAAO;AACL,gBAAQ;AAAA,MACV;AAAA,IACF;AAaA,8BAAqB,CAAC,GAAG,UAAU;AACjC,UAAI,EAAE,OAAO,EAAE,QAAQ,KAAK;AAC1B;AAAA,MACF;AACA,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,YAAM,EAAE,oBAAoB,WAAW,SAAS,IAAI,KAAK;AACzD,UAAI,UAAU,YAAY,aAAa,CAAC,oBAAoB;AAC1D,kBAAU;AACV;AAAA,MACF;AACA,WAAK,SAAS;AAAA,QACZ,UAAU;AAAA,QACV,MAAM,KAAK,QAAQ,KAAK;AAAA,MAC1B,CAAC;AACD,UAAI,UAAU;AACZ,iBAAS,KAAK;AAAA,MAChB;AAAA,IACF;AA8BA,0BAAiB,MAAM;AACrB,YAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,UAAI,CAAC,YAAY;AACf,eAAO;AAAA,MACT;AACA,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,aAAO,WAAW,IAAI,CAAC,OAAO,QAAQ;AACpC,cAAM,SAAS,CAAC;AAChB,cAAM,EAAE,MAAM,GAAG,IAAI;AACrB,YAAI,KAAK,cAAc,QAAQ,GAAG;AAChC,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AACnD,eAAK,aAAa;AAAA,QACpB,WAAW,YAAY,SAAS,SAAS,MAAM;AAC7C,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AAAA,QACrD;AACA,eACE,4CAAC;AAAA,UAEC,WAAW;AAAA,UACX,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,KAAK;AAAA,UAChD,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,KAAK;AAAA,UAChD,MAAK;AAAA,UACL,UAAU;AAAA,UACT,GAAG;AAAA,UAEJ,sDAAC;AAAA,YAAI,WAAU;AAAA,YAAW;AAAA,WAAK;AAAA,WAR1B,MAAM,GAAG,QAAQ,KASxB;AAAA,MAEJ,CAAC;AAAA,IACH;AAEA,yBAAgB,MAAM,4CAAC,kBAAAC,SAAA;AAAA,MAAU,SAAQ;AAAA,MAAa,MAAK;AAAA,KAAI;AAE/D,uBAAc,MAAM,4CAAC;AAAA,MAAa,OAAO,eAAAC,aAAa;AAAA,MAAS,MAAM,eAAAC,YAAY;AAAA,KAAG;AA1HlF,SAAK,QAAQ;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACR;AACA,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,oBAAoB;AAClB,UAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,QAAI,YAAY;AACd,WAAK,mBAAmB,CAAC,GAAG,WAAW,EAAE;AACzC,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,yBAAyB,WAAW;AAClC,UAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,QAAI,CAAC,cAAc,UAAU,YAAY;AACvC,WAAK,SAAS,EAAE,UAAU,WAAW,GAAG,CAAC;AAAA,IAC3C;AAAA,EACF;AAAA,EAWA,QAAQ,UAAU;AAChB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,SAAS,UAAU,YAAY,OAAO;AACpD,QAAI,UAAU,IAAI;AAChB,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS,UAAU,UAAU,QAAQ,CAAC;AAAA,EAC/C;AAAA,EAqBA,wBAAwB;AACtB,aAAS,aAAa,SAAU,GAAG;AACjC,UAAI,KAAC,wBAAS,EAAE,OAAO,WAAW,gBAAgB,GAAG;AACnD,eAAO;AAAA,MACT;AACA,UAAI,KAAK,OAAO;AAChB,YAAM,WAAW,EAAE,WAAW,EAAE;AAChC,UAAI,aAAa,IAAI;AACnB,UAAE,eAAe;AACjB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,QAAQ,WAAW,SAAS;AAC1B,WAAO,4CAAC;AAAA,MAAI;AAAA,MAAuB;AAAA,KAAQ;AAAA,EAC7C;AAAA,EAEA,UAAU,WAAW,OAAO,OAAO;AACjC,WACE,6CAAC;AAAA,MAAI;AAAA,MACH;AAAA,oDAAC;AAAA,UAAK,WAAU;AAAA,UAAS;AAAA,SAAM;AAAA,QAC/B,4CAAC;AAAA,UAAK,WAAU;AAAA,UAAS;AAAA,SAAM;AAAA;AAAA,KACjC;AAAA,EAEJ;AAAA,EAqCA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK,IAAI,KAAK;AAChC,UAAM,EAAE,gBAAgB,YAAY,UAAU,uBAAuB,WAAW,IAAI,KAAK;AACzF,WACE,4CAAC,gBAAAC,SAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,WAAU;AAAA,MACV,UAAU,KAAK;AAAA,MAEf,uDAAC;AAAA,QAAI,WAAU;AAAA,QACb;AAAA,uDAAC;AAAA,YAAI,WAAU;AAAA,YACZ;AAAA,mBAAK,QAAQ,SAAS,gBAAgB;AAAA,cACtC,KAAK,eAAe;AAAA;AAAA,WACvB;AAAA,UACA,6CAAC;AAAA,YAAI,WAAU;AAAA,YACZ;AAAA,mBAAK,QAAQ,SAAS,WAAW,SAAS,OAAO,EAAE;AAAA,cACpD,4CAAC,2BAAAC,SAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,KAAK;AAAA,gBACZ,SAAS,KAAK;AAAA,gBACd,KAAK,WAAW,SAAS,MAAM;AAAA,eACjC;AAAA,cACC,YACC,6CAAC;AAAA,gBAAI,WAAU;AAAA,gBACZ;AAAA,uBAAK,UAAU,gBAAgB,iBAAiB,SAAS,WAAW;AAAA,kBACpE,KAAK,UAAU,gBAAgB,eAAe,IAAI;AAAA;AAAA,eACrD;AAAA;AAAA,WAEJ;AAAA;AAAA,OACF;AAAA,KACF;AAAA,EAEJ;AACF;",
5
+ "mappings": "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",
6
6
  "names": ["React", "DSSpinner", "ICONS_COLORS", "ICONS_SIZES", "DSModal", "ImageLoader"]
7
7
  }
@@ -25,20 +25,23 @@ const DSImageLibraryModal = ({
25
25
  ],
26
26
  onSelect = () => null,
27
27
  ...rest
28
- }) => /* @__PURE__ */ jsx(ImageLibraryModalImpl, {
29
- confirmLabel,
30
- containerProps,
31
- disableDoubleClick,
32
- imagesData,
33
- isOpen,
34
- modalTitle,
35
- modalType,
36
- onSelect,
37
- rejectLabel,
38
- shouldCloseOnOverlayClick,
39
- size,
40
- ...rest
41
- });
28
+ }) => /* @__PURE__ */ jsx(
29
+ ImageLibraryModalImpl,
30
+ {
31
+ confirmLabel,
32
+ containerProps,
33
+ disableDoubleClick,
34
+ imagesData,
35
+ isOpen,
36
+ modalTitle,
37
+ modalType,
38
+ onSelect,
39
+ rejectLabel,
40
+ shouldCloseOnOverlayClick,
41
+ size,
42
+ ...rest
43
+ }
44
+ );
42
45
  DSImageLibraryModal.propTypes = {
43
46
  containerProps: PropTypes.shape({}),
44
47
  imagesData: PropTypes.arrayOf(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSImageLibraryModal.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { MODAL_TYPE } from '@elliemae/ds-modal';\nimport { sizeOptions } from '@elliemae/ds-shared';\nimport ImageLibraryModalImpl from './components/ImageLibraryModalImpl';\n\nconst modalTypes = Object.values(MODAL_TYPE);\n\nconst DSImageLibraryModal = ({\n containerProps = {},\n confirmLabel = 'Add',\n disableDoubleClick = false,\n isOpen = true,\n modalTitle = 'Add Image',\n modalType = modalTypes[2],\n rejectLabel = 'Cancel',\n shouldCloseOnOverlayClick = true,\n size = sizeOptions[3],\n imagesData = [\n {\n url: 'https://www.freeiconspng.com/minicovers/no-image-icon-6.png',\n name: 'no image',\n createdBy: 'user:John Doe',\n createdDate: '0000-01-01 00:00 AM UTC',\n },\n ],\n onSelect = () => null,\n ...rest\n}) => (\n <ImageLibraryModalImpl\n confirmLabel={confirmLabel}\n containerProps={containerProps}\n disableDoubleClick={disableDoubleClick}\n imagesData={imagesData}\n isOpen={isOpen}\n modalTitle={modalTitle}\n modalType={modalType}\n onSelect={onSelect}\n rejectLabel={rejectLabel}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n size={size}\n {...rest}\n />\n);\n\n/** Inherits DSModal props */\nDSImageLibraryModal.propTypes = {\n containerProps: PropTypes.shape({}),\n /** List of images src */\n imagesData: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n name: PropTypes.string,\n }),\n ),\n /** Handler when user selects an image */\n onSelect: PropTypes.func,\n};\n\nexport { DSImageLibraryModal };\nexport default DSImageLibraryModal;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC6BrB;AA5BF,OAAO,eAAe;AACtB,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,OAAO,2BAA2B;AAElC,MAAM,aAAa,OAAO,OAAO,UAAU;AAE3C,MAAM,sBAAsB,CAAC;AAAA,EAC3B,iBAAiB,CAAC;AAAA,EAClB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,WAAW;AAAA,EACvB,cAAc;AAAA,EACd,4BAA4B;AAAA,EAC5B,OAAO,YAAY;AAAA,EACnB,aAAa;AAAA,IACX;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,MAAM;AAAA,KACd;AACL,MACE,oBAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC,GAAG;AAAA,CACN;AAIF,oBAAoB,YAAY;AAAA,EAC9B,gBAAgB,UAAU,MAAM,CAAC,CAAC;AAAA,EAElC,YAAY,UAAU;AAAA,IACpB,UAAU,MAAM;AAAA,MACd,KAAK,UAAU;AAAA,MACf,MAAM,UAAU;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,UAAU;AACtB;AAGA,IAAO,8BAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;AC6BrB;AA5BF,OAAO,eAAe;AACtB,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,OAAO,2BAA2B;AAElC,MAAM,aAAa,OAAO,OAAO,UAAU;AAE3C,MAAM,sBAAsB,CAAC;AAAA,EAC3B,iBAAiB,CAAC;AAAA,EAClB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,WAAW;AAAA,EACvB,cAAc;AAAA,EACd,4BAA4B;AAAA,EAC5B,OAAO,YAAY;AAAA,EACnB,aAAa;AAAA,IACX;AAAA,MACE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,WAAW,MAAM;AAAA,KACd;AACL,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACC,GAAG;AAAA;AACN;AAIF,oBAAoB,YAAY;AAAA,EAC9B,gBAAgB,UAAU,MAAM,CAAC,CAAC;AAAA,EAElC,YAAY,UAAU;AAAA,IACpB,UAAU,MAAM;AAAA,MACd,KAAK,UAAU;AAAA,MACf,MAAM,UAAU;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,UAAU;AACtB;AAGA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -52,28 +52,23 @@ class ImageLibraryModalImpl extends React2.PureComponent {
52
52
  } else if (selected && name === selected.name) {
53
53
  extras.ref = (element) => element && element.focus();
54
54
  }
55
- return /* @__PURE__ */ jsx("div", {
56
- className: elementClassName,
57
- onClick: (e) => this.handleElementClick(e, image),
58
- onKeyUp: (e) => this.handleElementClick(e, image),
59
- role: "button",
60
- tabIndex: 0,
61
- ...extras,
62
- children: /* @__PURE__ */ jsx("div", {
63
- className: "content",
64
- children: name
65
- })
66
- }, id || `${name}_${idx}`);
55
+ return /* @__PURE__ */ jsx(
56
+ "div",
57
+ {
58
+ className: elementClassName,
59
+ onClick: (e) => this.handleElementClick(e, image),
60
+ onKeyUp: (e) => this.handleElementClick(e, image),
61
+ role: "button",
62
+ tabIndex: 0,
63
+ ...extras,
64
+ children: /* @__PURE__ */ jsx("div", { className: "content", children: name })
65
+ },
66
+ id || `${name}_${idx}`
67
+ );
67
68
  });
68
69
  };
69
- this.renderSpinner = () => /* @__PURE__ */ jsx(DSSpinner, {
70
- message: "Loading...",
71
- size: "m"
72
- });
73
- this.renderError = () => /* @__PURE__ */ jsx(ImageMissing, {
74
- color: ICONS_COLORS.NEUTRAL,
75
- size: ICONS_SIZES.M
76
- });
70
+ this.renderSpinner = () => /* @__PURE__ */ jsx(DSSpinner, { message: "Loading...", size: "m" });
71
+ this.renderError = () => /* @__PURE__ */ jsx(ImageMissing, { color: ICONS_COLORS.NEUTRAL, size: ICONS_SIZES.M });
77
72
  this.state = {
78
73
  selected: void 0,
79
74
  user: void 0
@@ -118,66 +113,48 @@ class ImageLibraryModalImpl extends React2.PureComponent {
118
113
  };
119
114
  }
120
115
  drawDiv(className, content) {
121
- return /* @__PURE__ */ jsx("div", {
122
- className,
123
- children: content
124
- });
116
+ return /* @__PURE__ */ jsx("div", { className, children: content });
125
117
  }
126
118
  drawLabel(className, label, value) {
127
- return /* @__PURE__ */ jsxs("div", {
128
- className,
129
- children: [
130
- /* @__PURE__ */ jsx("span", {
131
- className: "label",
132
- children: label
133
- }),
134
- /* @__PURE__ */ jsx("span", {
135
- className: "value",
136
- children: value
137
- })
138
- ]
139
- });
119
+ return /* @__PURE__ */ jsxs("div", { className, children: [
120
+ /* @__PURE__ */ jsx("span", { className: "label", children: label }),
121
+ /* @__PURE__ */ jsx("span", { className: "value", children: value })
122
+ ] });
140
123
  }
141
124
  render() {
142
125
  const { selected, user } = this.state;
143
126
  const { containerProps, imagesData, onSelect, disableDoubleClick, ...modalProps } = this.props;
144
- return /* @__PURE__ */ jsx(DSModal, {
145
- containerProps,
146
- ...modalProps,
147
- className: "em-ds-modal-image-library",
148
- onReject: this.onReject,
149
- children: /* @__PURE__ */ jsxs("div", {
150
- className: "wrapper",
151
- children: [
152
- /* @__PURE__ */ jsxs("div", {
153
- className: "col-1",
154
- children: [
155
- this.drawDiv("title", "Company Images"),
156
- this.renderElements()
157
- ]
158
- }),
159
- /* @__PURE__ */ jsxs("div", {
160
- className: "col-2",
161
- children: [
162
- this.drawDiv("title", selected ? selected.name : ""),
163
- /* @__PURE__ */ jsx(ImageLoader, {
127
+ return /* @__PURE__ */ jsx(
128
+ DSModal,
129
+ {
130
+ containerProps,
131
+ ...modalProps,
132
+ className: "em-ds-modal-image-library",
133
+ onReject: this.onReject,
134
+ children: /* @__PURE__ */ jsxs("div", { className: "wrapper", children: [
135
+ /* @__PURE__ */ jsxs("div", { className: "col-1", children: [
136
+ this.drawDiv("title", "Company Images"),
137
+ this.renderElements()
138
+ ] }),
139
+ /* @__PURE__ */ jsxs("div", { className: "col-2", children: [
140
+ this.drawDiv("title", selected ? selected.name : ""),
141
+ /* @__PURE__ */ jsx(
142
+ ImageLoader,
143
+ {
164
144
  className: "image-loader",
165
145
  error: this.renderError,
166
146
  loading: this.renderSpinner,
167
147
  src: selected ? selected.url : ""
168
- }),
169
- selected && /* @__PURE__ */ jsxs("div", {
170
- className: "info",
171
- children: [
172
- this.drawLabel("info-element", "Created Date:", selected.createdDate),
173
- this.drawLabel("info-element", "Created By:", user)
174
- ]
175
- })
176
- ]
177
- })
178
- ]
179
- })
180
- });
148
+ }
149
+ ),
150
+ selected && /* @__PURE__ */ jsxs("div", { className: "info", children: [
151
+ this.drawLabel("info-element", "Created Date:", selected.createdDate),
152
+ this.drawLabel("info-element", "Created By:", user)
153
+ ] })
154
+ ] })
155
+ ] })
156
+ }
157
+ );
181
158
  }
182
159
  }
183
160
  export {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/ImageLibraryModalImpl.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport DSModal from '@elliemae/ds-modal';\nimport DSSpinner from '@elliemae/ds-spinner';\nimport { DSIconSizes as ICONS_SIZES, DSIconColors as ICONS_COLORS } from '@elliemae/ds-icon';\nimport { includes } from 'lodash';\nimport ImageLoader from 'react-loading-image';\nimport { ImageMissing } from '@elliemae/ds-icons';\n\nconst elementClassName = 'imglibmodal-element';\n\nexport default class ImageLibraryModalImpl extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n selected: undefined,\n user: undefined,\n };\n this.preventSpacebarScroll();\n }\n\n componentDidMount() {\n const { imagesData } = this.props;\n if (imagesData) {\n this.handleElementClick({}, imagesData[0]);\n this.focusFirst = true;\n }\n }\n\n getDerivedStateFromProps(nextProps) {\n const { imagesData } = this.props;\n if (!imagesData && nextProps.imagesData) {\n this.setState({ selected: imagesData[0] });\n }\n }\n\n onReject = () => {\n const { onReject, onClose } = this.props;\n if (onReject) {\n onReject();\n } else {\n onClose();\n }\n };\n\n getUser(selected) {\n if (!selected) {\n return '';\n }\n const index = selected.createdBy.lastIndexOf('user:');\n if (index === -1) {\n return selected.createdBy;\n }\n return selected.createdBy.substring(index + 5);\n }\n\n handleElementClick = (e, image) => {\n if (e.key && e.key !== ' ') {\n return;\n }\n const { selected } = this.state;\n const { disableDoubleClick, onConfirm, onSelect } = this.props;\n if (image === selected && onConfirm && !disableDoubleClick) {\n onConfirm();\n return;\n }\n this.setState({\n selected: image,\n user: this.getUser(image),\n });\n if (onSelect) {\n onSelect(image);\n }\n };\n\n preventSpacebarScroll() {\n document.onkeypress = function (e) {\n if (!includes(e.target.className, elementClassName)) {\n return true;\n }\n e = e || window.event;\n const charCode = e.keyCode || e.which;\n if (charCode === 32) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n }\n\n drawDiv(className, content) {\n return <div className={className}>{content}</div>;\n }\n\n drawLabel(className, label, value) {\n return (\n <div className={className}>\n <span className=\"label\">{label}</span>\n <span className=\"value\">{value}</span>\n </div>\n );\n }\n\n renderElements = () => {\n const { imagesData } = this.props;\n if (!imagesData) {\n return 'Empty';\n }\n const { selected } = this.state;\n return imagesData.map((image, idx) => {\n const extras = {};\n const { name, id } = image;\n if (this.focusFirst && idx === 0) {\n extras.ref = (element) => element && element.focus();\n this.focusFirst = undefined;\n } else if (selected && name === selected.name) {\n extras.ref = (element) => element && element.focus();\n }\n return (\n <div\n key={id || `${name}_${idx}`}\n className={elementClassName}\n onClick={(e) => this.handleElementClick(e, image)}\n onKeyUp={(e) => this.handleElementClick(e, image)}\n role=\"button\"\n tabIndex={0}\n {...extras}\n >\n <div className=\"content\">{name}</div>\n </div>\n );\n });\n };\n\n renderSpinner = () => <DSSpinner message=\"Loading...\" size=\"m\" />;\n\n renderError = () => <ImageMissing color={ICONS_COLORS.NEUTRAL} size={ICONS_SIZES.M} />;\n\n render() {\n const { selected, user } = this.state;\n const { containerProps, imagesData, onSelect, disableDoubleClick, ...modalProps } = this.props;\n return (\n <DSModal\n containerProps={containerProps}\n {...modalProps}\n className=\"em-ds-modal-image-library\"\n onReject={this.onReject}\n >\n <div className=\"wrapper\">\n <div className=\"col-1\">\n {this.drawDiv('title', 'Company Images')}\n {this.renderElements()}\n </div>\n <div className=\"col-2\">\n {this.drawDiv('title', selected ? selected.name : '')}\n <ImageLoader\n className=\"image-loader\"\n error={this.renderError}\n loading={this.renderSpinner}\n src={selected ? selected.url : ''}\n />\n {selected && (\n <div className=\"info\">\n {this.drawLabel('info-element', 'Created Date:', selected.createdDate)}\n {this.drawLabel('info-element', 'Created By:', user)}\n </div>\n )}\n </div>\n </div>\n </DSModal>\n );\n }\n}\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC2FZ,cAKL,YALK;AA1FX,OAAOA,YAAW;AAClB,OAAO,aAAa;AACpB,OAAO,eAAe;AACtB,SAAS,eAAe,aAAa,gBAAgB,oBAAoB;AACzE,SAAS,gBAAgB;AACzB,OAAO,iBAAiB;AACxB,SAAS,oBAAoB;AAE7B,MAAM,mBAAmB;AAEzB,MAAO,8BAA4CA,OAAM,cAAc;AAAA,EACrE,YAAY,OAAO;AACjB,UAAM,KAAK;AAuBb,oBAAW,MAAM;AACf,YAAM,EAAE,UAAU,QAAQ,IAAI,KAAK;AACnC,UAAI,UAAU;AACZ,iBAAS;AAAA,MACX,OAAO;AACL,gBAAQ;AAAA,MACV;AAAA,IACF;AAaA,8BAAqB,CAAC,GAAG,UAAU;AACjC,UAAI,EAAE,OAAO,EAAE,QAAQ,KAAK;AAC1B;AAAA,MACF;AACA,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,YAAM,EAAE,oBAAoB,WAAW,SAAS,IAAI,KAAK;AACzD,UAAI,UAAU,YAAY,aAAa,CAAC,oBAAoB;AAC1D,kBAAU;AACV;AAAA,MACF;AACA,WAAK,SAAS;AAAA,QACZ,UAAU;AAAA,QACV,MAAM,KAAK,QAAQ,KAAK;AAAA,MAC1B,CAAC;AACD,UAAI,UAAU;AACZ,iBAAS,KAAK;AAAA,MAChB;AAAA,IACF;AA8BA,0BAAiB,MAAM;AACrB,YAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,UAAI,CAAC,YAAY;AACf,eAAO;AAAA,MACT;AACA,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,aAAO,WAAW,IAAI,CAAC,OAAO,QAAQ;AACpC,cAAM,SAAS,CAAC;AAChB,cAAM,EAAE,MAAM,GAAG,IAAI;AACrB,YAAI,KAAK,cAAc,QAAQ,GAAG;AAChC,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AACnD,eAAK,aAAa;AAAA,QACpB,WAAW,YAAY,SAAS,SAAS,MAAM;AAC7C,iBAAO,MAAM,CAAC,YAAY,WAAW,QAAQ,MAAM;AAAA,QACrD;AACA,eACE,oBAAC;AAAA,UAEC,WAAW;AAAA,UACX,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,KAAK;AAAA,UAChD,SAAS,CAAC,MAAM,KAAK,mBAAmB,GAAG,KAAK;AAAA,UAChD,MAAK;AAAA,UACL,UAAU;AAAA,UACT,GAAG;AAAA,UAEJ,8BAAC;AAAA,YAAI,WAAU;AAAA,YAAW;AAAA,WAAK;AAAA,WAR1B,MAAM,GAAG,QAAQ,KASxB;AAAA,MAEJ,CAAC;AAAA,IACH;AAEA,yBAAgB,MAAM,oBAAC;AAAA,MAAU,SAAQ;AAAA,MAAa,MAAK;AAAA,KAAI;AAE/D,uBAAc,MAAM,oBAAC;AAAA,MAAa,OAAO,aAAa;AAAA,MAAS,MAAM,YAAY;AAAA,KAAG;AA1HlF,SAAK,QAAQ;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACR;AACA,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,oBAAoB;AAClB,UAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,QAAI,YAAY;AACd,WAAK,mBAAmB,CAAC,GAAG,WAAW,EAAE;AACzC,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,yBAAyB,WAAW;AAClC,UAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,QAAI,CAAC,cAAc,UAAU,YAAY;AACvC,WAAK,SAAS,EAAE,UAAU,WAAW,GAAG,CAAC;AAAA,IAC3C;AAAA,EACF;AAAA,EAWA,QAAQ,UAAU;AAChB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,SAAS,UAAU,YAAY,OAAO;AACpD,QAAI,UAAU,IAAI;AAChB,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS,UAAU,UAAU,QAAQ,CAAC;AAAA,EAC/C;AAAA,EAqBA,wBAAwB;AACtB,aAAS,aAAa,SAAU,GAAG;AACjC,UAAI,CAAC,SAAS,EAAE,OAAO,WAAW,gBAAgB,GAAG;AACnD,eAAO;AAAA,MACT;AACA,UAAI,KAAK,OAAO;AAChB,YAAM,WAAW,EAAE,WAAW,EAAE;AAChC,UAAI,aAAa,IAAI;AACnB,UAAE,eAAe;AACjB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,QAAQ,WAAW,SAAS;AAC1B,WAAO,oBAAC;AAAA,MAAI;AAAA,MAAuB;AAAA,KAAQ;AAAA,EAC7C;AAAA,EAEA,UAAU,WAAW,OAAO,OAAO;AACjC,WACE,qBAAC;AAAA,MAAI;AAAA,MACH;AAAA,4BAAC;AAAA,UAAK,WAAU;AAAA,UAAS;AAAA,SAAM;AAAA,QAC/B,oBAAC;AAAA,UAAK,WAAU;AAAA,UAAS;AAAA,SAAM;AAAA;AAAA,KACjC;AAAA,EAEJ;AAAA,EAqCA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK,IAAI,KAAK;AAChC,UAAM,EAAE,gBAAgB,YAAY,UAAU,uBAAuB,WAAW,IAAI,KAAK;AACzF,WACE,oBAAC;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,WAAU;AAAA,MACV,UAAU,KAAK;AAAA,MAEf,+BAAC;AAAA,QAAI,WAAU;AAAA,QACb;AAAA,+BAAC;AAAA,YAAI,WAAU;AAAA,YACZ;AAAA,mBAAK,QAAQ,SAAS,gBAAgB;AAAA,cACtC,KAAK,eAAe;AAAA;AAAA,WACvB;AAAA,UACA,qBAAC;AAAA,YAAI,WAAU;AAAA,YACZ;AAAA,mBAAK,QAAQ,SAAS,WAAW,SAAS,OAAO,EAAE;AAAA,cACpD,oBAAC;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,KAAK;AAAA,gBACZ,SAAS,KAAK;AAAA,gBACd,KAAK,WAAW,SAAS,MAAM;AAAA,eACjC;AAAA,cACC,YACC,qBAAC;AAAA,gBAAI,WAAU;AAAA,gBACZ;AAAA,uBAAK,UAAU,gBAAgB,iBAAiB,SAAS,WAAW;AAAA,kBACpE,KAAK,UAAU,gBAAgB,eAAe,IAAI;AAAA;AAAA,eACrD;AAAA;AAAA,WAEJ;AAAA;AAAA,OACF;AAAA,KACF;AAAA,EAEJ;AACF;",
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-imagelibrarymodal",
3
- "version": "3.12.0-rc.2",
3
+ "version": "3.12.0-rc.3",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Image Library Modal",
6
6
  "files": [
@@ -43,11 +43,11 @@
43
43
  "indent": 4
44
44
  },
45
45
  "dependencies": {
46
- "@elliemae/ds-icon": "3.12.0-rc.2",
47
- "@elliemae/ds-icons": "3.12.0-rc.2",
48
- "@elliemae/ds-modal": "3.12.0-rc.2",
49
- "@elliemae/ds-shared": "3.12.0-rc.2",
50
- "@elliemae/ds-spinner": "3.12.0-rc.2",
46
+ "@elliemae/ds-icon": "3.12.0-rc.3",
47
+ "@elliemae/ds-icons": "3.12.0-rc.3",
48
+ "@elliemae/ds-modal": "3.12.0-rc.3",
49
+ "@elliemae/ds-shared": "3.12.0-rc.3",
50
+ "@elliemae/ds-spinner": "3.12.0-rc.3",
51
51
  "prop-types": "~15.8.1",
52
52
  "react-loading-image": "~0.5.0"
53
53
  },