@blaze-cms/plugin-search-ui 0.110.0-alpha.1

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 (111) hide show
  1. package/CHANGELOG.md +345 -0
  2. package/LICENSE +674 -0
  3. package/README.md +45 -0
  4. package/babel.config.js +3 -0
  5. package/jest.config.js +5 -0
  6. package/lib/application/query/index.js +32 -0
  7. package/lib/application/query/index.js.map +1 -0
  8. package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js +62 -0
  9. package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
  10. package/lib/components/SearchAdmin/RecentSearches/index.js +16 -0
  11. package/lib/components/SearchAdmin/RecentSearches/index.js.map +1 -0
  12. package/lib/components/SearchAdmin/SearchAdmin.js +191 -0
  13. package/lib/components/SearchAdmin/SearchAdmin.js.map +1 -0
  14. package/lib/components/SearchAdmin/SearchBar/SearchBar.js +72 -0
  15. package/lib/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
  16. package/lib/components/SearchAdmin/SearchBar/index.js +16 -0
  17. package/lib/components/SearchAdmin/SearchBar/index.js.map +1 -0
  18. package/lib/components/SearchAdmin/SearchResults/SearchResults.js +200 -0
  19. package/lib/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
  20. package/lib/components/SearchAdmin/SearchResults/index.js +16 -0
  21. package/lib/components/SearchAdmin/SearchResults/index.js.map +1 -0
  22. package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js +30 -0
  23. package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
  24. package/lib/components/SearchAdmin/TriggerModal/index.js +16 -0
  25. package/lib/components/SearchAdmin/TriggerModal/index.js.map +1 -0
  26. package/lib/components/SearchAdmin/index.js +16 -0
  27. package/lib/components/SearchAdmin/index.js.map +1 -0
  28. package/lib/components/SearchPublishedContent/SearchPublishedContent.js +216 -0
  29. package/lib/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
  30. package/lib/components/SearchPublishedContent/index.js +16 -0
  31. package/lib/components/SearchPublishedContent/index.js.map +1 -0
  32. package/lib/components/useLocalStorage/index.js +16 -0
  33. package/lib/components/useLocalStorage/index.js.map +1 -0
  34. package/lib/components/useLocalStorage/useLocalStorage.js +36 -0
  35. package/lib/components/useLocalStorage/useLocalStorage.js.map +1 -0
  36. package/lib/components/useSearch/index.js +16 -0
  37. package/lib/components/useSearch/index.js.map +1 -0
  38. package/lib/components/useSearch/useSearch.js +154 -0
  39. package/lib/components/useSearch/useSearch.js.map +1 -0
  40. package/lib/components/useSearchResults/index.js +16 -0
  41. package/lib/components/useSearchResults/index.js.map +1 -0
  42. package/lib/components/useSearchResults/useSearchResults.js +102 -0
  43. package/lib/components/useSearchResults/useSearchResults.js.map +1 -0
  44. package/lib/constants.js +25 -0
  45. package/lib/constants.js.map +1 -0
  46. package/lib/index.js +34 -0
  47. package/lib/index.js.map +1 -0
  48. package/lib-es/application/query/index.js +34 -0
  49. package/lib-es/application/query/index.js.map +1 -0
  50. package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js +40 -0
  51. package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
  52. package/lib-es/components/SearchAdmin/RecentSearches/index.js +3 -0
  53. package/lib-es/components/SearchAdmin/RecentSearches/index.js.map +1 -0
  54. package/lib-es/components/SearchAdmin/SearchAdmin.js +126 -0
  55. package/lib-es/components/SearchAdmin/SearchAdmin.js.map +1 -0
  56. package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js +54 -0
  57. package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
  58. package/lib-es/components/SearchAdmin/SearchBar/index.js +3 -0
  59. package/lib-es/components/SearchAdmin/SearchBar/index.js.map +1 -0
  60. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js +120 -0
  61. package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
  62. package/lib-es/components/SearchAdmin/SearchResults/index.js +3 -0
  63. package/lib-es/components/SearchAdmin/SearchResults/index.js.map +1 -0
  64. package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js +16 -0
  65. package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
  66. package/lib-es/components/SearchAdmin/TriggerModal/index.js +3 -0
  67. package/lib-es/components/SearchAdmin/TriggerModal/index.js.map +1 -0
  68. package/lib-es/components/SearchAdmin/index.js +3 -0
  69. package/lib-es/components/SearchAdmin/index.js.map +1 -0
  70. package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
  71. package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
  72. package/lib-es/components/SearchPublishedContent/index.js +3 -0
  73. package/lib-es/components/SearchPublishedContent/index.js.map +1 -0
  74. package/lib-es/components/useLocalStorage/index.js +3 -0
  75. package/lib-es/components/useLocalStorage/index.js.map +1 -0
  76. package/lib-es/components/useLocalStorage/useLocalStorage.js +19 -0
  77. package/lib-es/components/useLocalStorage/useLocalStorage.js.map +1 -0
  78. package/lib-es/components/useSearch/index.js +3 -0
  79. package/lib-es/components/useSearch/index.js.map +1 -0
  80. package/lib-es/components/useSearch/useSearch.js +100 -0
  81. package/lib-es/components/useSearch/useSearch.js.map +1 -0
  82. package/lib-es/components/useSearchResults/index.js +3 -0
  83. package/lib-es/components/useSearchResults/index.js.map +1 -0
  84. package/lib-es/components/useSearchResults/useSearchResults.js +57 -0
  85. package/lib-es/components/useSearchResults/useSearchResults.js.map +1 -0
  86. package/lib-es/constants.js +10 -0
  87. package/lib-es/constants.js.map +1 -0
  88. package/lib-es/index.js +5 -0
  89. package/lib-es/index.js.map +1 -0
  90. package/package.json +56 -0
  91. package/src/application/query/index.js +28 -0
  92. package/src/components/SearchAdmin/RecentSearches/RecentSearches.js +33 -0
  93. package/src/components/SearchAdmin/RecentSearches/index.js +3 -0
  94. package/src/components/SearchAdmin/SearchAdmin.js +129 -0
  95. package/src/components/SearchAdmin/SearchBar/SearchBar.js +58 -0
  96. package/src/components/SearchAdmin/SearchBar/index.js +3 -0
  97. package/src/components/SearchAdmin/SearchResults/SearchResults.js +112 -0
  98. package/src/components/SearchAdmin/SearchResults/index.js +3 -0
  99. package/src/components/SearchAdmin/TriggerModal/TriggerModal.js +17 -0
  100. package/src/components/SearchAdmin/TriggerModal/index.js +3 -0
  101. package/src/components/SearchAdmin/index.js +3 -0
  102. package/src/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
  103. package/src/components/SearchPublishedContent/index.js +3 -0
  104. package/src/components/useLocalStorage/index.js +3 -0
  105. package/src/components/useLocalStorage/useLocalStorage.js +18 -0
  106. package/src/components/useSearch/index.js +3 -0
  107. package/src/components/useSearch/useSearch.js +85 -0
  108. package/src/components/useSearchResults/index.js +3 -0
  109. package/src/components/useSearchResults/useSearchResults.js +38 -0
  110. package/src/constants.js +19 -0
  111. package/src/index.js +5 -0
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+
5
+ require("core-js/modules/es.object.to-string.js");
6
+
7
+ require("core-js/modules/es.string.iterator.js");
8
+
9
+ require("core-js/modules/es.weak-map.js");
10
+
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+
13
+ require("core-js/modules/es.object.define-property.js");
14
+
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+
19
+ var _typeof = require("@babel/runtime/helpers/typeof");
20
+
21
+ Object.defineProperty(exports, "__esModule", {
22
+ value: true
23
+ });
24
+ exports["default"] = void 0;
25
+
26
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
27
+
28
+ require("core-js/modules/es.array.includes.js");
29
+
30
+ require("core-js/modules/es.string.includes.js");
31
+
32
+ require("core-js/modules/es.array.concat.js");
33
+
34
+ require("core-js/modules/es.date.to-string.js");
35
+
36
+ require("core-js/modules/es.array.slice.js");
37
+
38
+ require("core-js/modules/es.function.name.js");
39
+
40
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
41
+
42
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
43
+
44
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
45
+
46
+ var _react = _interopRequireWildcard(require("react"));
47
+
48
+ var _propTypes = _interopRequireDefault(require("prop-types"));
49
+
50
+ var _reactTinyVirtualList = _interopRequireDefault(require("react-tiny-virtual-list"));
51
+
52
+ var _reactRouterDom = require("react-router-dom");
53
+
54
+ var _constants = require("../../../constants");
55
+
56
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
57
+
58
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
59
+
60
+ /* eslint-disable jsx-a11y/anchor-is-valid */
61
+
62
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
63
+ var SearchResults = function SearchResults(_ref) {
64
+ var currentValue = _ref.currentValue,
65
+ loading = _ref.loading,
66
+ results = _ref.results,
67
+ total = _ref.total,
68
+ setQueryParams = _ref.setQueryParams,
69
+ closeModal = _ref.closeModal,
70
+ history = _ref.history;
71
+
72
+ var _useState = (0, _react.useState)([]),
73
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
74
+ verifiedRanges = _useState2[0],
75
+ setVerifiedRanges = _useState2[1];
76
+
77
+ var _useState3 = (0, _react.useState)(0),
78
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
79
+ currentIndex = _useState4[0],
80
+ setCurrentIndex = _useState4[1];
81
+
82
+ var handleRenderedItems = /*#__PURE__*/function () {
83
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) {
84
+ var startIndex, rowsLength, loadIndex;
85
+ return _regenerator["default"].wrap(function _callee$(_context) {
86
+ while (1) {
87
+ switch (_context.prev = _context.next) {
88
+ case 0:
89
+ startIndex = _ref2.startIndex;
90
+ rowsLength = results.length;
91
+ loadIndex = Math.floor(rowsLength / 2) - _constants.SEARCH_RESULTS_OVER_SCAN_BUFFER;
92
+
93
+ if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {
94
+ setQueryParams({
95
+ value: currentValue,
96
+ offset: results.length
97
+ });
98
+ setVerifiedRanges([].concat((0, _toConsumableArray2["default"])(verifiedRanges), [loadIndex]));
99
+ setCurrentIndex(startIndex + _constants.SEARCH_RESULTS_OVER_SCAN_BUFFER);
100
+ }
101
+
102
+ case 4:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }
107
+ }, _callee);
108
+ }));
109
+
110
+ return function handleRenderedItems(_x) {
111
+ return _ref3.apply(this, arguments);
112
+ };
113
+ }();
114
+
115
+ var getNavigationRoute = function getNavigationRoute(_ref4) {
116
+ var id = _ref4.id,
117
+ docType = _ref4.docType;
118
+ return docType === _constants.FILE ? "/media/edit/".concat(id) : "/data-listing/".concat(docType, "/update/").concat(id);
119
+ };
120
+
121
+ var navigate = function navigate(_ref5) {
122
+ var id = _ref5.id,
123
+ docType = _ref5.docType;
124
+ history.push(getNavigationRoute({
125
+ id: id,
126
+ docType: docType
127
+ }));
128
+ closeModal();
129
+ };
130
+
131
+ var getDateFormat = function getDateFormat(date) {
132
+ var newDate = new Date(date);
133
+ var day = "0".concat(newDate.getDate()).slice(-2);
134
+ var month = "0".concat(newDate.getMonth() + 1).slice(-2);
135
+ var year = String(newDate.getYear()).slice(-2);
136
+ return "".concat(day, ".").concat(month, ".").concat(year);
137
+ };
138
+
139
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, loading && /*#__PURE__*/_react["default"].createElement("span", null, "Loading..."), /*#__PURE__*/_react["default"].createElement("div", {
140
+ className: "modal__content modal__content--search"
141
+ }, /*#__PURE__*/_react["default"].createElement("div", {
142
+ className: "header header--list"
143
+ }, /*#__PURE__*/_react["default"].createElement("h2", null, total, " results")), /*#__PURE__*/_react["default"].createElement(_reactTinyVirtualList["default"], {
144
+ width: "100%",
145
+ height: window.innerHeight - _constants.SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,
146
+ itemCount: results.length,
147
+ itemSize: _constants.SEARCH_RESULTS_ITEM_SIZE,
148
+ overscanCount: _constants.SEARCH_RESULTS_OVER_SCAN_BUFFER,
149
+ scrollToIndex: currentIndex,
150
+ onItemsRendered: handleRenderedItems,
151
+ renderItem: function renderItem(_ref6) {
152
+ var index = _ref6.index,
153
+ style = _ref6.style;
154
+ var _results$index = results[index],
155
+ id = _results$index.id,
156
+ docType = _results$index.docType,
157
+ updated = _results$index.updated,
158
+ name = _results$index.name;
159
+ var updatedDate = updated ? getDateFormat(updated) : null;
160
+ return /*#__PURE__*/_react["default"].createElement("div", {
161
+ key: index,
162
+ style: style,
163
+ className: "list__item--resultWrapper"
164
+ }, /*#__PURE__*/_react["default"].createElement("div", {
165
+ className: "list__item list__item--result"
166
+ }, /*#__PURE__*/_react["default"].createElement("div", {
167
+ className: "list__item-row list__item-row--result"
168
+ }, /*#__PURE__*/_react["default"].createElement("span", {
169
+ className: "badge badge--primary"
170
+ }, docType, " ", updatedDate), /*#__PURE__*/_react["default"].createElement("a", {
171
+ href: getNavigationRoute({
172
+ id: id,
173
+ docType: docType
174
+ }),
175
+ onClick: function onClick() {
176
+ return navigate({
177
+ id: id,
178
+ docType: docType
179
+ });
180
+ },
181
+ className: "list__item-text list__item-text--result"
182
+ }, name))));
183
+ }
184
+ })));
185
+ };
186
+
187
+ SearchResults.propTypes = {
188
+ loading: _propTypes["default"].bool.isRequired,
189
+ results: _propTypes["default"].array.isRequired,
190
+ total: _propTypes["default"].number.isRequired,
191
+ setQueryParams: _propTypes["default"].func.isRequired,
192
+ closeModal: _propTypes["default"].func.isRequired,
193
+ history: _propTypes["default"].object.isRequired,
194
+ currentValue: _propTypes["default"].string.isRequired
195
+ };
196
+
197
+ var _default = (0, _reactRouterDom.withRouter)(SearchResults);
198
+
199
+ exports["default"] = _default;
200
+ //# sourceMappingURL=SearchResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/SearchResults/SearchResults.js"],"names":["SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","SEARCH_RESULTS_OVER_SCAN_BUFFER","includes","value","offset","getNavigationRoute","id","docType","FILE","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","index","style","updated","name","updatedDate","propTypes","PropTypes","bool","isRequired","array","number","func","object","string"],"mappings":"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","sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { withRouter } from 'react-router-dom';\nimport {\n SEARCH_RESULTS_OVER_SCAN_BUFFER,\n SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,\n SEARCH_RESULTS_ITEM_SIZE,\n FILE\n} from '../../../constants';\n\nconst SearchResults = ({\n currentValue,\n loading,\n results,\n total,\n setQueryParams,\n closeModal,\n history\n}) => {\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const handleRenderedItems = async ({ startIndex }) => {\n const rowsLength = results.length;\n const loadIndex = Math.floor(rowsLength / 2) - SEARCH_RESULTS_OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({ value: currentValue, offset: results.length });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentIndex(startIndex + SEARCH_RESULTS_OVER_SCAN_BUFFER);\n }\n };\n\n const getNavigationRoute = ({ id, docType }) =>\n docType === FILE ? `/media/edit/${id}` : `/data-listing/${docType}/update/${id}`;\n\n const navigate = ({ id, docType }) => {\n history.push(getNavigationRoute({ id, docType }));\n closeModal();\n };\n\n const getDateFormat = date => {\n const newDate = new Date(date);\n const day = `0${newDate.getDate()}`.slice(-2);\n const month = `0${newDate.getMonth() + 1}`.slice(-2);\n const year = String(newDate.getYear()).slice(-2);\n return `${day}.${month}.${year}`;\n };\n\n return (\n <>\n {loading && <span>Loading...</span>}\n <div className=\"modal__content modal__content--search\">\n <div className=\"header header--list\">\n <h2>{total} results</h2>\n </div>\n <VirtualList\n width=\"100%\"\n height={window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST}\n itemCount={results.length}\n itemSize={SEARCH_RESULTS_ITEM_SIZE}\n overscanCount={SEARCH_RESULTS_OVER_SCAN_BUFFER}\n scrollToIndex={currentIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { id, docType, updated, name } = results[index];\n const updatedDate = updated ? getDateFormat(updated) : null;\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <div className=\"list__item list__item--result\">\n <div className=\"list__item-row list__item-row--result\">\n <span className=\"badge badge--primary\">\n {docType} {updatedDate}\n </span>\n <a\n href={getNavigationRoute({\n id,\n docType\n })}\n onClick={() =>\n navigate({\n id,\n docType\n })\n }\n className=\"list__item-text list__item-text--result\">\n {name}\n </a>\n </div>\n </div>\n </div>\n );\n }}\n />\n </div>\n </>\n );\n};\n\nSearchResults.propTypes = {\n loading: PropTypes.bool.isRequired,\n results: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n setQueryParams: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n history: PropTypes.object.isRequired,\n currentValue: PropTypes.string.isRequired\n};\n\nexport default withRouter(SearchResults);\n"],"file":"SearchResults.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _SearchResults = _interopRequireDefault(require("./SearchResults"));
13
+
14
+ var _default = _SearchResults["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/SearchResults/index.js"],"names":["SearchResults"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,yB","sourcesContent":["import SearchResults from './SearchResults';\n\nexport default SearchResults;\n"],"file":"index.js"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var TriggerModal = function TriggerModal(_ref) {
17
+ var toggleSearchModal = _ref.toggleSearchModal;
18
+ return /*#__PURE__*/_react["default"].createElement("span", {
19
+ role: "button",
20
+ className: "material-icons searchModal-search-icon",
21
+ onClick: toggleSearchModal
22
+ }, "search");
23
+ };
24
+
25
+ TriggerModal.propTypes = {
26
+ toggleSearchModal: _propTypes["default"].func.isRequired
27
+ };
28
+ var _default = TriggerModal;
29
+ exports["default"] = _default;
30
+ //# sourceMappingURL=TriggerModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/TriggerModal/TriggerModal.js"],"names":["TriggerModal","toggleSearchModal","propTypes","PropTypes","func","isRequired"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,MAAGC,iBAAH,QAAGA,iBAAH;AAAA,sBACnB;AACE,IAAA,IAAI,EAAC,QADP;AAEE,IAAA,SAAS,EAAC,wCAFZ;AAGE,IAAA,OAAO,EAAEA;AAHX,cADmB;AAAA,CAArB;;AASAD,YAAY,CAACE,SAAb,GAAyB;AACvBD,EAAAA,iBAAiB,EAAEE,sBAAUC,IAAV,CAAeC;AADX,CAAzB;eAIeL,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst TriggerModal = ({ toggleSearchModal }) => (\n <span\n role=\"button\"\n className=\"material-icons searchModal-search-icon\"\n onClick={toggleSearchModal}>\n search\n </span>\n);\n\nTriggerModal.propTypes = {\n toggleSearchModal: PropTypes.func.isRequired\n};\n\nexport default TriggerModal;\n"],"file":"TriggerModal.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _TriggerModal = _interopRequireDefault(require("./TriggerModal"));
13
+
14
+ var _default = _TriggerModal["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/SearchAdmin/TriggerModal/index.js"],"names":["TriggerModal"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,wB","sourcesContent":["import TriggerModal from './TriggerModal';\n\nexport default TriggerModal;\n"],"file":"index.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _SearchAdmin = _interopRequireDefault(require("./SearchAdmin"));
13
+
14
+ var _default = _SearchAdmin["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/SearchAdmin/index.js"],"names":["SearchAdmin"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,uB","sourcesContent":["import SearchAdmin from './SearchAdmin';\n\nexport default SearchAdmin;\n"],"file":"index.js"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+
5
+ require("core-js/modules/es.object.to-string.js");
6
+
7
+ require("core-js/modules/es.string.iterator.js");
8
+
9
+ require("core-js/modules/es.weak-map.js");
10
+
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+
13
+ require("core-js/modules/es.object.define-property.js");
14
+
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+
19
+ var _typeof = require("@babel/runtime/helpers/typeof");
20
+
21
+ Object.defineProperty(exports, "__esModule", {
22
+ value: true
23
+ });
24
+ exports["default"] = void 0;
25
+
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
+
28
+ var _react = _interopRequireWildcard(require("react"));
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _propTypes = _interopRequireDefault(require("prop-types"));
33
+
34
+ var _customHooks = require("@blaze-react/utils/lib/customHooks");
35
+
36
+ var _useSearchResults3 = _interopRequireDefault(require("../useSearchResults"));
37
+
38
+ var _constants = require("../../constants");
39
+
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
+
44
+ var SearchPublishedContent = function SearchPublishedContent(_ref) {
45
+ var entities = _ref.entities,
46
+ children = _ref.children,
47
+ resultKeys = _ref.resultKeys,
48
+ getIsOpenSearchBar = _ref.getIsOpenSearchBar,
49
+ SearchIcon = _ref.SearchIcon,
50
+ CloseIcon = _ref.CloseIcon,
51
+ className = _ref.className,
52
+ onChange = _ref.onChange,
53
+ placeholder = _ref.placeholder,
54
+ onEnterPress = _ref.onEnterPress,
55
+ inputRef = _ref.inputRef,
56
+ isSearchBarOpen = _ref.isSearchBarOpen,
57
+ fields = _ref.fields;
58
+
59
+ var _useState = (0, _react.useState)(isSearchBarOpen),
60
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
61
+ displaySearchBar = _useState2[0],
62
+ setDisplaySearchBar = _useState2[1];
63
+
64
+ var _useState3 = (0, _react.useState)(''),
65
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
66
+ searchTerm = _useState4[0],
67
+ setSearchTerm = _useState4[1];
68
+
69
+ var _useState5 = (0, _react.useState)(null),
70
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
71
+ previousSearchTerm = _useState6[0],
72
+ setPreviousSearchTerm = _useState6[1];
73
+
74
+ var debouncedSearchTerm = (0, _customHooks.useDebounce)(searchTerm, 500);
75
+
76
+ var _useSearchResults = (0, _useSearchResults3["default"])({
77
+ queryKey: _constants.SEARCH_PUBLISHED,
78
+ resultKeys: resultKeys,
79
+ entities: entities,
80
+ fields: fields
81
+ }),
82
+ _useSearchResults2 = (0, _slicedToArray2["default"])(_useSearchResults, 2),
83
+ _useSearchResults2$ = _useSearchResults2[0],
84
+ loading = _useSearchResults2$.loading,
85
+ results = _useSearchResults2$.results,
86
+ setQueryParams = _useSearchResults2[1];
87
+
88
+ (0, _react.useEffect)(function () {
89
+ if (isSearchBarOpen !== displaySearchBar) {
90
+ setDisplaySearchBar(isSearchBarOpen);
91
+ }
92
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ [isSearchBarOpen]);
94
+ (0, _react.useEffect)(function () {
95
+ if (inputRef && inputRef.current && displaySearchBar) {
96
+ inputRef.current.focus();
97
+ }
98
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
99
+ [displaySearchBar]);
100
+ (0, _react.useEffect)(function () {
101
+ if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {
102
+ setQueryParams({
103
+ value: debouncedSearchTerm
104
+ });
105
+ setPreviousSearchTerm(debouncedSearchTerm);
106
+ }
107
+ }, [debouncedSearchTerm, previousSearchTerm, setQueryParams]);
108
+
109
+ var handleOnChange = function handleOnChange(_ref2) {
110
+ var _ref2$target = _ref2.target;
111
+ _ref2$target = _ref2$target === void 0 ? {} : _ref2$target;
112
+ var _ref2$target$value = _ref2$target.value,
113
+ value = _ref2$target$value === void 0 ? '' : _ref2$target$value;
114
+ onChange(value);
115
+ setSearchTerm(value);
116
+ };
117
+
118
+ var handleKeyPress = function handleKeyPress(event) {
119
+ var onEnter = event.key === 'Enter';
120
+ onEnter && onEnterPress();
121
+ };
122
+
123
+ var handleSearchBar = function handleSearchBar() {
124
+ var voidSearchTerm = '';
125
+ displaySearchBar && setSearchTerm(voidSearchTerm);
126
+ handleOnChange({
127
+ value: voidSearchTerm
128
+ });
129
+
130
+ if (isSearchBarOpen !== null) {
131
+ getIsOpenSearchBar(!displaySearchBar);
132
+ }
133
+
134
+ setDisplaySearchBar(!displaySearchBar);
135
+ };
136
+
137
+ var searchWrapperClassname = (0, _classnames["default"])('search__wrapper', {
138
+ 'search__wrapper--toggle-display': displaySearchBar,
139
+ 'search__wrapper--toggle': !displaySearchBar
140
+ });
141
+ var triggerClassname = (0, _classnames["default"])('search__icon', {
142
+ open: displaySearchBar
143
+ });
144
+ return /*#__PURE__*/_react["default"].createElement("div", {
145
+ className: "search-wrapper ".concat(className)
146
+ }, /*#__PURE__*/_react["default"].createElement("div", {
147
+ className: "search search--header search--toggle"
148
+ }, /*#__PURE__*/_react["default"].createElement("div", {
149
+ className: searchWrapperClassname
150
+ }, /*#__PURE__*/_react["default"].createElement("input", {
151
+ "data-testid": "search-input",
152
+ onKeyPress: handleKeyPress,
153
+ placeholder: placeholder,
154
+ type: "text",
155
+ onChange: handleOnChange,
156
+ value: searchTerm,
157
+ ref: inputRef
158
+ }), /*#__PURE__*/_react["default"].createElement("button", {
159
+ type: "button",
160
+ className: "icon-button icon-button--search icon-button--toggle"
161
+ }, /*#__PURE__*/_react["default"].createElement(SearchIcon, null))), /*#__PURE__*/_react["default"].createElement("div", {
162
+ role: "button",
163
+ className: triggerClassname,
164
+ onClick: handleSearchBar,
165
+ id: _constants.SEARCH_BUTTON,
166
+ title: _constants.SEARCH_BUTTON
167
+ }, !displaySearchBar ? /*#__PURE__*/_react["default"].createElement(SearchIcon, null) : /*#__PURE__*/_react["default"].createElement(CloseIcon, null))), /*#__PURE__*/_react["default"].createElement("div", {
168
+ className: "search-modal"
169
+ }, children({
170
+ results: results.length && searchTerm ? results : [],
171
+ loading: loading
172
+ })));
173
+ };
174
+
175
+ SearchPublishedContent.propTypes = {
176
+ entities: _propTypes["default"].array,
177
+ children: _propTypes["default"].func.isRequired,
178
+ resultKeys: _propTypes["default"].string,
179
+ getIsOpenSearchBar: _propTypes["default"].func,
180
+ SearchIcon: _propTypes["default"].func,
181
+ CloseIcon: _propTypes["default"].func,
182
+ onChange: _propTypes["default"].func,
183
+ onEnterPress: _propTypes["default"].func,
184
+ className: _propTypes["default"].string,
185
+ placeholder: _propTypes["default"].string,
186
+ inputRef: _propTypes["default"].object,
187
+ isSearchBarOpen: _propTypes["default"].bool,
188
+ fields: _propTypes["default"].array
189
+ };
190
+ SearchPublishedContent.defaultProps = {
191
+ entities: ['published_page'],
192
+ placeholder: '',
193
+ resultKeys: _constants.DEFAULT_RESULTS_KEYS,
194
+ onChange: function onChange() {},
195
+ onEnterPress: function onEnterPress() {},
196
+ getIsOpenSearchBar: function getIsOpenSearchBar(state) {
197
+ return state;
198
+ },
199
+ SearchIcon: function SearchIcon() {
200
+ return /*#__PURE__*/_react["default"].createElement("i", {
201
+ className: "material-icons"
202
+ }, "search");
203
+ },
204
+ CloseIcon: function CloseIcon() {
205
+ return /*#__PURE__*/_react["default"].createElement("i", {
206
+ className: "material-icons"
207
+ }, "close");
208
+ },
209
+ className: '',
210
+ inputRef: null,
211
+ isSearchBarOpen: null,
212
+ fields: []
213
+ };
214
+ var _default = SearchPublishedContent;
215
+ exports["default"] = _default;
216
+ //# sourceMappingURL=SearchPublishedContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/SearchPublishedContent/SearchPublishedContent.js"],"names":["SearchPublishedContent","entities","children","resultKeys","getIsOpenSearchBar","SearchIcon","CloseIcon","className","onChange","placeholder","onEnterPress","inputRef","isSearchBarOpen","fields","displaySearchBar","setDisplaySearchBar","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","queryKey","SEARCH_PUBLISHED","loading","results","setQueryParams","current","focus","value","handleOnChange","target","handleKeyPress","event","onEnter","key","handleSearchBar","voidSearchTerm","searchWrapperClassname","triggerClassname","open","SEARCH_BUTTON","length","propTypes","PropTypes","array","func","isRequired","string","object","bool","defaultProps","DEFAULT_RESULTS_KEYS","state"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_PUBLISHED, DEFAULT_RESULTS_KEYS, SEARCH_BUTTON } from '../../constants';\n\nconst SearchPublishedContent = ({\n entities,\n children,\n resultKeys,\n getIsOpenSearchBar,\n SearchIcon,\n CloseIcon,\n className,\n onChange,\n placeholder,\n onEnterPress,\n inputRef,\n isSearchBarOpen,\n fields\n}) => {\n const [displaySearchBar, setDisplaySearchBar] = useState(isSearchBarOpen);\n const [searchTerm, setSearchTerm] = useState('');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (isSearchBarOpen !== displaySearchBar) {\n setDisplaySearchBar(isSearchBarOpen);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isSearchBarOpen]\n );\n\n useEffect(\n () => {\n if (inputRef && inputRef.current && displaySearchBar) {\n inputRef.current.focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [displaySearchBar]\n );\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n const handleOnChange = ({ target: { value = '' } = {} }) => {\n onChange(value);\n setSearchTerm(value);\n };\n\n const handleKeyPress = event => {\n const onEnter = event.key === 'Enter';\n onEnter && onEnterPress();\n };\n\n const handleSearchBar = () => {\n const voidSearchTerm = '';\n displaySearchBar && setSearchTerm(voidSearchTerm);\n handleOnChange({ value: voidSearchTerm });\n if (isSearchBarOpen !== null) {\n getIsOpenSearchBar(!displaySearchBar);\n }\n setDisplaySearchBar(!displaySearchBar);\n };\n\n const searchWrapperClassname = classnames('search__wrapper', {\n 'search__wrapper--toggle-display': displaySearchBar,\n 'search__wrapper--toggle': !displaySearchBar\n });\n\n const triggerClassname = classnames('search__icon', {\n open: displaySearchBar\n });\n\n return (\n <div className={`search-wrapper ${className}`}>\n <div className=\"search search--header search--toggle\">\n <div className={searchWrapperClassname}>\n <input\n data-testid=\"search-input\"\n onKeyPress={handleKeyPress}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleOnChange}\n value={searchTerm}\n ref={inputRef}\n />\n <button type=\"button\" className=\"icon-button icon-button--search icon-button--toggle\">\n <SearchIcon />\n </button>\n </div>\n <div\n role=\"button\"\n className={triggerClassname}\n onClick={handleSearchBar}\n id={SEARCH_BUTTON}\n title={SEARCH_BUTTON}>\n {!displaySearchBar ? <SearchIcon /> : <CloseIcon />}\n </div>\n </div>\n <div className=\"search-modal\">\n {children({ results: results.length && searchTerm ? results : [], loading })}\n </div>\n </div>\n );\n};\n\nSearchPublishedContent.propTypes = {\n entities: PropTypes.array,\n children: PropTypes.func.isRequired,\n resultKeys: PropTypes.string,\n getIsOpenSearchBar: PropTypes.func,\n SearchIcon: PropTypes.func,\n CloseIcon: PropTypes.func,\n onChange: PropTypes.func,\n onEnterPress: PropTypes.func,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n inputRef: PropTypes.object,\n isSearchBarOpen: PropTypes.bool,\n fields: PropTypes.array\n};\n\nSearchPublishedContent.defaultProps = {\n entities: ['published_page'],\n placeholder: '',\n resultKeys: DEFAULT_RESULTS_KEYS,\n onChange: () => {},\n onEnterPress: () => {},\n getIsOpenSearchBar: state => state,\n SearchIcon: () => <i className=\"material-icons\">search</i>,\n CloseIcon: () => <i className=\"material-icons\">close</i>,\n className: '',\n inputRef: null,\n isSearchBarOpen: null,\n fields: []\n};\n\nexport default SearchPublishedContent;\n"],"file":"SearchPublishedContent.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _SearchPublishedContent = _interopRequireDefault(require("./SearchPublishedContent"));
13
+
14
+ var _default = _SearchPublishedContent["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/SearchPublishedContent/index.js"],"names":["SearchPublishedContent"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,kC","sourcesContent":["import SearchPublishedContent from './SearchPublishedContent';\n\nexport default SearchPublishedContent;\n"],"file":"index.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _useLocalStorage = _interopRequireDefault(require("./useLocalStorage"));
13
+
14
+ var _default = _useLocalStorage["default"];
15
+ exports["default"] = _default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/useLocalStorage/index.js"],"names":["useLocalStorage"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,2B","sourcesContent":["import useLocalStorage from './useLocalStorage';\n\nexport default useLocalStorage;\n"],"file":"index.js"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = require("react");
15
+
16
+ function useLocalStorage(key, initialValue) {
17
+ var _useState = (0, _react.useState)(function () {
18
+ var item = window.localStorage.getItem(key);
19
+ return item ? JSON.parse(item) : initialValue;
20
+ }),
21
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
22
+ storedValue = _useState2[0],
23
+ setStoredValue = _useState2[1];
24
+
25
+ var setValue = function setValue(value) {
26
+ var valueToStore = value instanceof Function ? value(storedValue) : value;
27
+ setStoredValue(valueToStore);
28
+ window.localStorage.setItem(key, JSON.stringify(valueToStore));
29
+ };
30
+
31
+ return [storedValue, setValue];
32
+ }
33
+
34
+ var _default = useLocalStorage;
35
+ exports["default"] = _default;
36
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/useLocalStorage/useLocalStorage.js"],"names":["useLocalStorage","key","initialValue","item","window","localStorage","getItem","JSON","parse","storedValue","setStoredValue","setValue","value","valueToStore","Function","setItem","stringify"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,SAASA,eAAT,CAAyBC,GAAzB,EAA8BC,YAA9B,EAA4C;AAC1C,kBAAsC,qBAAS,YAAM;AACnD,QAAMC,IAAI,GAAGC,MAAM,CAACC,YAAP,CAAoBC,OAApB,CAA4BL,GAA5B,CAAb;AACA,WAAOE,IAAI,GAAGI,IAAI,CAACC,KAAL,CAAWL,IAAX,CAAH,GAAsBD,YAAjC;AACD,GAHqC,CAAtC;AAAA;AAAA,MAAOO,WAAP;AAAA,MAAoBC,cAApB;;AAKA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,KAAK,EAAI;AACxB,QAAMC,YAAY,GAAGD,KAAK,YAAYE,QAAjB,GAA4BF,KAAK,CAACH,WAAD,CAAjC,GAAiDG,KAAtE;AACAF,IAAAA,cAAc,CAACG,YAAD,CAAd;AACAT,IAAAA,MAAM,CAACC,YAAP,CAAoBU,OAApB,CAA4Bd,GAA5B,EAAiCM,IAAI,CAACS,SAAL,CAAeH,YAAf,CAAjC;AACD,GAJD;;AAMA,SAAO,CAACJ,WAAD,EAAcE,QAAd,CAAP;AACD;;eAEcX,e","sourcesContent":["import { useState } from 'react';\n\nfunction useLocalStorage(key, initialValue) {\n const [storedValue, setStoredValue] = useState(() => {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n });\n\n const setValue = value => {\n const valueToStore = value instanceof Function ? value(storedValue) : value;\n setStoredValue(valueToStore);\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n };\n\n return [storedValue, setValue];\n}\n\nexport default useLocalStorage;\n"],"file":"useLocalStorage.js"}