@bigbinary/neeto-molecules 4.0.145 → 4.0.147

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 (40) hide show
  1. package/dist/FinderModal.js +61 -73
  2. package/dist/FinderModal.js.map +1 -1
  3. package/dist/cjs/FinderModal.js +59 -71
  4. package/dist/cjs/FinderModal.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/translations/ar.json +3 -0
  7. package/src/translations/bg.json +3 -0
  8. package/src/translations/ca.json +3 -0
  9. package/src/translations/cs.json +3 -0
  10. package/src/translations/da.json +3 -0
  11. package/src/translations/de.json +3 -0
  12. package/src/translations/es-MX.json +3 -0
  13. package/src/translations/es.json +3 -0
  14. package/src/translations/et.json +3 -0
  15. package/src/translations/fi.json +3 -0
  16. package/src/translations/fil.json +3 -0
  17. package/src/translations/fr.json +3 -0
  18. package/src/translations/he.json +3 -0
  19. package/src/translations/hi.json +3 -0
  20. package/src/translations/hr.json +3 -0
  21. package/src/translations/id.json +3 -0
  22. package/src/translations/it.json +3 -0
  23. package/src/translations/ja.json +3 -0
  24. package/src/translations/ko.json +3 -0
  25. package/src/translations/nl.json +3 -0
  26. package/src/translations/pl.json +3 -0
  27. package/src/translations/pt-BR.json +3 -0
  28. package/src/translations/pt.json +3 -0
  29. package/src/translations/ro.json +3 -0
  30. package/src/translations/ru.json +3 -0
  31. package/src/translations/sk.json +3 -0
  32. package/src/translations/sl.json +3 -0
  33. package/src/translations/sv.json +3 -0
  34. package/src/translations/th.json +3 -0
  35. package/src/translations/tr.json +3 -0
  36. package/src/translations/uk.json +3 -0
  37. package/src/translations/vi.json +3 -0
  38. package/src/translations/zh-CN.json +3 -0
  39. package/src/translations/zh-TW.json +3 -0
  40. package/types/FinderModal.d.ts +0 -8
@@ -7,7 +7,6 @@ var neetoCist = require('@bigbinary/neeto-cist');
7
7
  var useHotkeys = require('@bigbinary/neeto-hotkeys');
8
8
  var Modal = require('@bigbinary/neetoui/Modal');
9
9
  var ramda = require('ramda');
10
- var classnames = require('classnames');
11
10
  var Typography = require('@bigbinary/neetoui/Typography');
12
11
  var NoData = require('@bigbinary/neetoui/NoData');
13
12
  var Tag = require('@bigbinary/neetoui/Tag');
@@ -31,22 +30,20 @@ require('@bigbinary/neetoui/Input');
31
30
  require('@bigbinary/neeto-commons-frontend/utils');
32
31
 
33
32
  var _excluded$1 = ["to", "children"];
34
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
35
  var Link = function Link(_ref) {
37
36
  var to = _ref.to,
38
37
  children = _ref.children,
39
38
  rest = _objectWithoutProperties(_ref, _excluded$1);
40
39
  var url = new URL(to);
41
40
  url.host = "";
42
- return /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, _objectSpread$2(_objectSpread$2({}, rest), {}, {
41
+ return /*#__PURE__*/jsxRuntime.jsx(reactRouterDom.Link, _objectSpread$1(_objectSpread$1({}, rest), {}, {
43
42
  to: "".concat(url.pathname).concat(url.search),
44
43
  children: children
45
44
  }));
46
45
  };
47
46
 
48
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
49
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
50
47
  var minMax = function minMax(number) {
51
48
  var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.POSITIVE_INFINITY;
52
49
  var min = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -81,19 +78,6 @@ var filterAndHighlightContent = function filterAndHighlightContent(bodyContent,
81
78
  }, index);
82
79
  });
83
80
  };
84
- var flattenData = function flattenData(data) {
85
- if (!data) return [];
86
- if (Array.isArray(data)) return data;
87
- var result = [];
88
- Object.keys(data).forEach(function (key) {
89
- data[key].forEach(function (item) {
90
- result.push(_objectSpread$1(_objectSpread$1({}, item), {}, {
91
- category: key
92
- }));
93
- });
94
- });
95
- return result;
96
- };
97
81
  var createStylePalette = function createStylePalette(values) {
98
82
  var assignedStyles = {};
99
83
  var styleIndex = 0;
@@ -110,17 +94,18 @@ var getStyle = createStylePalette(["primary", "info", "success", "secondary", "w
110
94
  var ModalBody = function ModalBody(_ref) {
111
95
  var containerRef = _ref.containerRef,
112
96
  data = _ref.data,
113
- iconComponentMap = _ref.iconComponentMap,
114
97
  onClose = _ref.onClose,
115
98
  loading = _ref.loading,
116
99
  searchTerm = _ref.searchTerm;
117
100
  var _useTranslation = reactI18next.useTranslation(),
118
101
  t = _useTranslation.t;
119
- var flattenedData = flattenData(data);
120
- var isDataEmpty = neetoCist.isNotPresent(flattenedData);
102
+ var categoryGroups = Object.keys(data).filter(function (key) {
103
+ return neetoCist.isNotEmpty(data[key]);
104
+ });
105
+ var isDataEmpty = neetoCist.isNotPresent(data) || ramda.isEmpty(categoryGroups);
121
106
  if (isDataEmpty && !loading) {
122
107
  return /*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
123
- className: "neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-4 py-6",
108
+ className: "neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-3 py-5",
124
109
  children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
125
110
  description: t("neetoMolecules.finderModal.noDataDesc"),
126
111
  title: t("neetoMolecules.finderModal.noDataTitle")
@@ -128,49 +113,53 @@ var ModalBody = function ModalBody(_ref) {
128
113
  });
129
114
  }
130
115
  return /*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
131
- className: "neeto-molecules-finder-modal__body h-96 overflow-y-auto px-4 py-6",
116
+ className: "neeto-molecules-finder-modal__body h-96 overflow-y-auto px-3 py-4",
132
117
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
133
- className: "flex flex-col gap-y-2",
118
+ className: "flex flex-col",
134
119
  ref: containerRef,
135
- children: flattenedData.map(function (item) {
136
- var Icon = item.category && iconComponentMap[item.category] || iconComponentMap["default"];
137
- var nameContent = htmlToText(item.name);
138
- var bodyContent = htmlToText(item.body);
139
- var filteredBodyContent = filterAndHighlightContent(bodyContent, searchTerm);
140
- return /*#__PURE__*/jsxRuntime.jsxs(Link, {
141
- className: "neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded flex w-full cursor-pointer items-center gap-2 p-2 text-xs",
142
- to: item.url,
143
- onClick: onClose,
144
- children: [/*#__PURE__*/jsxRuntime.jsx(Icon, {
145
- className: "neeto-ui-text-gray-500 min-w-fit",
146
- size: 16
147
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
148
- className: "line-clamp-1 flex flex-col",
149
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
150
- className: "flex items-center gap-2",
151
- children: [nameContent && /*#__PURE__*/jsxRuntime.jsx(Typography, {
152
- className: "neeto-ui-text-black text-sm font-medium",
153
- children: highlightMatch(nameContent, searchTerm)
154
- }), item.category && /*#__PURE__*/jsxRuntime.jsx(Tag, {
155
- size: "small",
156
- style: getStyle(item.category),
157
- children: neetoCist.humanize(item.category)
158
- })]
159
- }), bodyContent && /*#__PURE__*/jsxRuntime.jsx(Typography, {
160
- className: classnames("truncate", {
161
- "neeto-ui-text-gray-600 text-xs": nameContent,
162
- "neeto-ui-text-black text-sm font-medium": !nameContent
163
- }),
164
- children: filteredBodyContent || bodyContent
165
- })]
120
+ children: categoryGroups.map(function (category, categoryIndex) {
121
+ var items = data[category];
122
+ var shouldShowCategoryDivider = categoryIndex < categoryGroups.length - 1;
123
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
124
+ children: [items.map(function (item) {
125
+ var nameContent = htmlToText(item.name);
126
+ var bodyContent = htmlToText(item.body);
127
+ var filteredBodyContent = filterAndHighlightContent(bodyContent, searchTerm);
128
+ return /*#__PURE__*/jsxRuntime.jsx(Link, {
129
+ className: "neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded-lg flex w-full cursor-pointer items-center gap-2 px-3 py-2.5 text-xs transition-all duration-300",
130
+ to: item.url,
131
+ onClick: onClose,
132
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
133
+ className: "line-clamp-1 flex flex-col gap-1",
134
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
135
+ className: "flex items-start gap-2",
136
+ children: [nameContent && /*#__PURE__*/jsxRuntime.jsx(Typography, {
137
+ className: "neeto-ui-text-black",
138
+ weight: "semibold",
139
+ children: highlightMatch(nameContent, searchTerm)
140
+ }), category && /*#__PURE__*/jsxRuntime.jsx(Tag, {
141
+ className: "mt-1",
142
+ size: "small",
143
+ style: getStyle(category),
144
+ type: "solid",
145
+ children: neetoCist.humanize(category)
146
+ })]
147
+ }), bodyContent && /*#__PURE__*/jsxRuntime.jsx(Typography, {
148
+ className: "neeto-ui-text-gray-600 truncate text-xs",
149
+ children: filteredBodyContent || bodyContent
150
+ })]
151
+ })
152
+ }, "".concat(category, "-").concat(item.id));
153
+ }), shouldShowCategoryDivider && /*#__PURE__*/jsxRuntime.jsx("hr", {
154
+ className: "neeto-ui-border-gray-300 mx-3 my-3 border-t"
166
155
  })]
167
- }, item.id);
156
+ }, category);
168
157
  })
169
158
  })
170
159
  });
171
160
  };
172
161
 
173
- var css = ".neeto-molecules-finder-modal__search .neeto-ui-input--naked input{padding-inline-start:4px}.neeto-molecules-finder-modal-backdrop{grid-template-columns:100%}.neeto-molecules-finder-modal-backdrop .neeto-ui-modal__wrapper.neeto-molecules-finder-modal{margin-inline-end:auto;margin-inline-start:auto;max-width:740px;width:100%}.neeto-molecules-finder-matched-tag{background-color:#fbe48f!important}.neeto-molecules-finder-modal__footer{--neeto-ui-modal-footer-bg:rgb(var(--neeto-ui-white))}";
162
+ var css = ".neeto-molecules-finder-modal__search .neeto-ui-input--naked input{padding-inline-start:4px}.neeto-molecules-finder-modal-backdrop{grid-template-columns:100%}.neeto-molecules-finder-modal-backdrop .neeto-ui-modal__wrapper.neeto-molecules-finder-modal{margin-inline-end:auto;margin-inline-start:auto;max-width:740px;width:100%}.neeto-molecules-finder-matched-tag{background-color:#fbe48f!important;border-radius:var(--neeto-ui-rounded-sm);padding:0 .5px 2px}.neeto-molecules-finder-modal__footer{--neeto-ui-modal-footer-bg:rgb(var(--neeto-ui-white))}.neeto-molecules-finder-modal__header{--neeto-ui-input-prefix-suffix-icon-size:1.25rem;--neeto-ui-input-font-size:1rem}.neeto-molecules-finder-modal__body{--neeto-ui-tag-padding-x:0.625rem;--neeto-ui-tag-padding-y:0.125rem}";
174
163
  injectCss.n(css,{});
175
164
 
176
165
  var ModalFooter = function ModalFooter(_ref) {
@@ -188,10 +177,10 @@ var ModalFooter = function ModalFooter(_ref) {
188
177
  }, {
189
178
  label: t("neetoMolecules.common.actions.move"),
190
179
  keys: [/*#__PURE__*/jsxRuntime.jsx(Up, {
191
- className: "neeto-ui-text-gray-800",
180
+ className: "neeto-ui-text-gray-600",
192
181
  size: 12
193
182
  }, "up"), /*#__PURE__*/jsxRuntime.jsx(Down, {
194
- className: "neeto-ui-text-gray-800",
183
+ className: "neeto-ui-text-gray-600",
195
184
  size: 12
196
185
  }, "down")],
197
186
  isVisible: true
@@ -201,21 +190,22 @@ var ModalFooter = function ModalFooter(_ref) {
201
190
  isVisible: true
202
191
  }];
203
192
  return /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
204
- className: "neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-4 py-3",
193
+ className: "neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-6 py-4",
205
194
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
206
- className: "neeto-ui-text-xxs flex items-center justify-end gap-4",
195
+ className: "neeto-ui-text-xxs flex items-center gap-4",
207
196
  children: shortcuts.filter(ramda.prop("isVisible")).map(function (_ref2, index) {
208
197
  var label = _ref2.label,
209
198
  keys = _ref2.keys;
210
199
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
211
200
  className: "flex items-center gap-1",
212
201
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
202
+ className: "neeto-ui-text-gray-600",
213
203
  component: "span",
214
204
  style: "nano",
215
205
  children: label
216
206
  }), keys.map(function (key, index) {
217
207
  return /*#__PURE__*/jsxRuntime.jsx(Typography, {
218
- className: "neeto-ui-bg-gray-200 neeto-ui-rounded-sm p-1",
208
+ className: "neeto-ui-bg-gray-200 neeto-ui-rounded-sm neeto-ui-text-gray-600 px-1.5 py-1",
219
209
  component: "span",
220
210
  style: "nano",
221
211
  children: key
@@ -230,16 +220,16 @@ var ModalFooter = function ModalFooter(_ref) {
230
220
  var ModalHeader = reactUtils.withT(function (_ref) {
231
221
  var t = _ref.t,
232
222
  enableAdvancedSearch = _ref.enableAdvancedSearch,
233
- loading = _ref.loading,
234
223
  onSearch = _ref.onSearch,
235
- onGoToAdvanced = _ref.onGoToAdvanced;
224
+ onGoToAdvanced = _ref.onGoToAdvanced,
225
+ loading = _ref.loading;
236
226
  return /*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
237
- className: "neeto-molecules-finder-modal__header neeto-ui-border-gray-200 border-b px-0 py-0",
227
+ className: "neeto-molecules-finder-modal__header neeto-ui-border-gray-300 border-b px-0 py-0",
238
228
  children: /*#__PURE__*/jsxRuntime.jsx(Search, {
239
229
  onSearch: onSearch,
240
230
  nakedInput: true,
241
231
  autoComplete: "off",
242
- className: "neeto-molecules-finder-modal__search px-3 py-1.5",
232
+ className: "neeto-molecules-finder-modal__search px-6 py-3",
243
233
  name: "term",
244
234
  placeholder: t("neetoMolecules.common.actions.search"),
245
235
  suffix: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -253,7 +243,7 @@ var ModalHeader = reactUtils.withT(function (_ref) {
253
243
  className: "ms-3 whitespace-nowrap",
254
244
  label: t("neetoMolecules.finderModal.advancedSearch"),
255
245
  size: "small",
256
- style: "secondary",
246
+ style: "tertiary",
257
247
  onClick: onGoToAdvanced
258
248
  })]
259
249
  })
@@ -261,14 +251,13 @@ var ModalHeader = reactUtils.withT(function (_ref) {
261
251
  });
262
252
  });
263
253
 
264
- var _excluded = ["enableAdvancedSearch", "data", "iconComponentMap", "isFetching", "isOpen", "searchTerm", "setSearchTerm", "onClose", "onGoToAdvanced"];
254
+ var _excluded = ["enableAdvancedSearch", "data", "isFetching", "isOpen", "searchTerm", "setSearchTerm", "onClose", "onGoToAdvanced"];
265
255
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
266
256
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
267
257
  var FinderModal = function FinderModal(_ref) {
268
258
  var _ref$enableAdvancedSe = _ref.enableAdvancedSearch,
269
259
  enableAdvancedSearch = _ref$enableAdvancedSe === void 0 ? true : _ref$enableAdvancedSe,
270
260
  data = _ref.data,
271
- iconComponentMap = _ref.iconComponentMap,
272
261
  isFetching = _ref.isFetching,
273
262
  isOpen = _ref.isOpen,
274
263
  searchTerm = _ref.searchTerm,
@@ -318,7 +307,6 @@ var FinderModal = function FinderModal(_ref) {
318
307
  }), /*#__PURE__*/jsxRuntime.jsx(ModalBody, {
319
308
  containerRef: containerRef,
320
309
  data: data,
321
- iconComponentMap: iconComponentMap,
322
310
  onClose: onClose,
323
311
  searchTerm: searchTerm,
324
312
  loading: isFetching
@@ -1 +1 @@
1
- {"version":3,"file":"FinderModal.js","sources":["../../src/components/FinderModal/Link.jsx","../../src/components/FinderModal/utils.jsx","../../src/components/FinderModal/Body.jsx","../../src/components/FinderModal/Footer.jsx","../../src/components/FinderModal/Header.jsx","../../src/components/FinderModal/index.jsx"],"sourcesContent":["import { Link as RRDLink } from \"react-router-dom\";\n\nconst Link = ({ to, children, ...rest }) => {\n const url = new URL(to);\n url.host = \"\";\n\n return (\n <RRDLink {...rest} to={`${url.pathname}${url.search}`}>\n {children}\n </RRDLink>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nexport const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <span className=\"neeto-molecules-finder-matched-tag\" key={index}>\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n\nexport const flattenData = data => {\n if (!data) return [];\n\n if (Array.isArray(data)) return data;\n\n const result = [];\n Object.keys(data).forEach(key => {\n data[key].forEach(item => {\n result.push({ ...item, category: key });\n });\n });\n\n return result;\n};\n\nexport const createStylePalette = values => {\n const assignedStyles = {};\n let styleIndex = 0;\n\n return key => {\n if (assignedStyles[key]) return assignedStyles[key];\n const style = values[styleIndex];\n styleIndex = (styleIndex + 1) % values.length;\n assignedStyles[key] = style;\n\n return style;\n };\n};\n","import classNames from \"classnames\";\nimport { humanize, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport {\n htmlToText,\n highlightMatch,\n filterAndHighlightContent,\n flattenData,\n createStylePalette,\n} from \"./utils\";\n\nconst getStyle = createStylePalette([\n \"primary\",\n \"info\",\n \"success\",\n \"secondary\",\n \"warning\",\n]);\n\nconst ModalBody = ({\n containerRef,\n data,\n iconComponentMap,\n onClose,\n loading,\n searchTerm,\n}) => {\n const { t } = useTranslation();\n\n const flattenedData = flattenData(data);\n const isDataEmpty = isNotPresent(flattenedData);\n\n if (isDataEmpty && !loading) {\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-4 py-6\">\n <NoData\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </Modal.Body>\n );\n }\n\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body h-96 overflow-y-auto px-4 py-6\">\n <div className=\"flex flex-col gap-y-2\" ref={containerRef}>\n {flattenedData.map(item => {\n const Icon =\n (item.category && iconComponentMap[item.category]) ||\n iconComponentMap.default;\n\n const nameContent = htmlToText(item.name);\n const bodyContent = htmlToText(item.body);\n\n const filteredBodyContent = filterAndHighlightContent(\n bodyContent,\n searchTerm\n );\n\n return (\n <Link\n className=\"neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded flex w-full cursor-pointer items-center gap-2 p-2 text-xs\"\n key={item.id}\n to={item.url}\n onClick={onClose}\n >\n <Icon className=\"neeto-ui-text-gray-500 min-w-fit\" size={16} />\n <div className=\"line-clamp-1 flex flex-col\">\n <div className=\"flex items-center gap-2\">\n {nameContent && (\n <Typography className=\"neeto-ui-text-black text-sm font-medium\">\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\n {item.category && (\n <Tag size=\"small\" style={getStyle(item.category)}>\n {humanize(item.category)}\n </Tag>\n )}\n </div>\n {bodyContent && (\n <Typography\n className={classNames(\"truncate\", {\n \"neeto-ui-text-gray-600 text-xs\": nameContent,\n \"neeto-ui-text-black text-sm font-medium\": !nameContent,\n })}\n >\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n </div>\n </Modal.Body>\n );\n};\n\nexport default ModalBody;\n","import { Down, Up } from \"neetoicons\";\nimport { Modal, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <Up className=\"neeto-ui-text-gray-800\" key=\"up\" size={12} />,\n <Down className=\"neeto-ui-text-gray-800\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <Modal.Footer className=\"neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-4 py-3\">\n <div className=\"neeto-ui-text-xxs flex items-center justify-end gap-4\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n <Typography component=\"span\" style=\"nano\">\n {label}\n </Typography>\n {keys.map((key, index) => (\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm p-1\"\n component=\"span\"\n key={index}\n style=\"nano\"\n >\n {key}\n </Typography>\n ))}\n </div>\n ))}\n </div>\n </Modal.Footer>\n );\n};\n\nexport default ModalFooter;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal, Spinner } from \"neetoui\";\n\nimport Search from \"components/Search\";\n\nconst ModalHeader = withT(\n ({ t, enableAdvancedSearch, loading, onSearch, onGoToAdvanced }) => (\n <Modal.Header className=\"neeto-molecules-finder-modal__header neeto-ui-border-gray-200 border-b px-0 py-0\">\n <Search\n {...{ onSearch }}\n nakedInput\n autoComplete=\"off\"\n className=\"neeto-molecules-finder-modal__search px-3 py-1.5\"\n name=\"term\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n suffix={\n <div className=\"ms-3 flex items-center\">\n <div className=\"h-4 w-4 flex-shrink-0\">\n {loading && <Spinner size=\"small\" />}\n </div>\n {enableAdvancedSearch && (\n <Button\n className=\"ms-3 whitespace-nowrap\"\n label={t(\"neetoMolecules.finderModal.advancedSearch\")}\n size=\"small\"\n style=\"secondary\"\n onClick={onGoToAdvanced}\n />\n )}\n </div>\n }\n />\n </Modal.Header>\n )\n);\n\nexport default ModalHeader;\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Modal } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport ModalBody from \"./Body\";\nimport \"./finder-modal.scss\";\nimport ModalFooter from \"./Footer\";\nimport ModalHeader from \"./Header\";\nimport { minMax } from \"./utils\";\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data,\n iconComponentMap,\n isFetching,\n isOpen,\n searchTerm,\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n ...props\n}) => {\n const containerRef = useRef();\n const mutables = useRef({ focusIndex: -1 }).current;\n\n const onFocusChange = offset => {\n const container = containerRef.current;\n if (!container) return;\n\n const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n if (isEmpty(nodes)) return;\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n\n const targetNode = nodes[mutables.focusIndex];\n if (targetNode) {\n targetNode.focus();\n }\n };\n\n useHotkeys(\n [\"up\", \"down\"],\n event => {\n event.preventDefault();\n if (event.code === \"ArrowUp\") onFocusChange(-1);\n else if (event.code === \"ArrowDown\") onFocusChange(1);\n },\n { mode: \"global\", enabled: isOpen }\n );\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton={false}\n {...props}\n backdropClassName=\"neeto-molecules-finder-modal-backdrop py-10 px-4\"\n className=\"neeto-molecules-finder-modal\"\n >\n <ModalHeader\n {...{ enableAdvancedSearch, onGoToAdvanced }}\n loading={isFetching}\n onSearch={setSearchTerm}\n />\n <ModalBody\n {...{ containerRef, data, iconComponentMap, onClose, searchTerm }}\n loading={isFetching}\n />\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Modal>\n );\n};\n\nFinderModal.propTypes = {\n /*\n Boolean to indicate decide whether to show advanced search button or not\n */\n enableAdvancedSearch: PropTypes.bool,\n /*\n Data to be displayed in the modal. Can be an array of items with category property,\n or an object with category keys containing arrays of items.\n */\n data: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n category: PropTypes.string,\n })\n ),\n PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n ]),\n /*\n Icon component map to render icons for each section\n */\n iconComponentMap: PropTypes.objectOf(PropTypes.elementType),\n /*\n Boolean to indicate whether data is being fetched or not\n */\n isFetching: PropTypes.bool,\n /*\n Boolean to indicate whether modal is open or not\n */\n isOpen: PropTypes.bool,\n /*\n Term used for search\n */\n searchTerm: PropTypes.string,\n /*\n Function to set search term\n */\n setSearchTerm: PropTypes.func,\n /*\n Function to close the modal\n */\n onClose: PropTypes.func,\n /*\n Function to execute when user clicks on advanced search button\n */\n onGoToAdvanced: PropTypes.func,\n};\n\nexport default FinderModal;\n"],"names":["Link","_ref","to","children","rest","_objectWithoutProperties","_excluded","url","URL","host","_jsx","RRDLink","_objectSpread","concat","pathname","search","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","flattenData","data","Array","isArray","result","Object","keys","forEach","key","item","push","category","createStylePalette","values","assignedStyles","styleIndex","style","getStyle","ModalBody","containerRef","iconComponentMap","onClose","loading","_useTranslation","useTranslation","t","flattenedData","isDataEmpty","isNotPresent","Modal","Body","NoData","description","title","ref","Icon","nameContent","name","body","filteredBodyContent","onClick","size","Typography","Tag","humanize","classNames","id","ModalFooter","enableAdvancedSearch","shortcuts","label","isVisible","Up","Down","Footer","prop","_ref2","component","ModalHeader","withT","onSearch","onGoToAdvanced","Header","Search","nakedInput","autoComplete","placeholder","suffix","Spinner","Button","FinderModal","_ref$enableAdvancedSe","isFetching","isOpen","setSearchTerm","_ref$onGoToAdvanced","noop","props","useRef","mutables","focusIndex","current","onFocusChange","offset","container","nodes","querySelectorAll","isEmpty","targetNode","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton","backdropClassName"],"mappings":"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"}
1
+ {"version":3,"file":"FinderModal.js","sources":["../../src/components/FinderModal/Link.jsx","../../src/components/FinderModal/utils.jsx","../../src/components/FinderModal/Body.jsx","../../src/components/FinderModal/Footer.jsx","../../src/components/FinderModal/Header.jsx","../../src/components/FinderModal/index.jsx"],"sourcesContent":["import { Link as RRDLink } from \"react-router-dom\";\n\nconst Link = ({ to, children, ...rest }) => {\n const url = new URL(to);\n url.host = \"\";\n\n return (\n <RRDLink {...rest} to={`${url.pathname}${url.search}`}>\n {children}\n </RRDLink>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nexport const minMax = (number, max = Number.POSITIVE_INFINITY, min = 0) =>\n Math.min(max, Math.max(min, number));\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <span className=\"neeto-molecules-finder-matched-tag\" key={index}>\n {part}\n </span>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n\nexport const flattenData = data => {\n if (!data) return [];\n\n if (Array.isArray(data)) return data;\n\n const result = [];\n Object.keys(data).forEach(key => {\n data[key].forEach(item => {\n result.push({ ...item, category: key });\n });\n });\n\n return result;\n};\n\nexport const createStylePalette = values => {\n const assignedStyles = {};\n let styleIndex = 0;\n\n return key => {\n if (assignedStyles[key]) return assignedStyles[key];\n const style = values[styleIndex];\n styleIndex = (styleIndex + 1) % values.length;\n assignedStyles[key] = style;\n\n return style;\n };\n};\n","import { humanize, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Modal, Typography, NoData, Tag } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Link from \"./Link\";\nimport {\n htmlToText,\n highlightMatch,\n filterAndHighlightContent,\n createStylePalette,\n} from \"./utils\";\n\nconst getStyle = createStylePalette([\n \"primary\",\n \"info\",\n \"success\",\n \"secondary\",\n \"warning\",\n]);\n\nconst ModalBody = ({ containerRef, data, onClose, loading, searchTerm }) => {\n const { t } = useTranslation();\n\n const categoryGroups = Object.keys(data).filter(key => isNotEmpty(data[key]));\n const isDataEmpty = isNotPresent(data) || isEmpty(categoryGroups);\n\n if (isDataEmpty && !loading) {\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body flex h-96 items-center justify-center overflow-y-auto px-3 py-5\">\n <NoData\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </Modal.Body>\n );\n }\n\n return (\n <Modal.Body className=\"neeto-molecules-finder-modal__body h-96 overflow-y-auto px-3 py-4\">\n <div className=\"flex flex-col\" ref={containerRef}>\n {categoryGroups.map((category, categoryIndex) => {\n const items = data[category];\n const shouldShowCategoryDivider =\n categoryIndex < categoryGroups.length - 1;\n\n return (\n <div key={category}>\n {items.map(item => {\n const nameContent = htmlToText(item.name);\n const bodyContent = htmlToText(item.body);\n\n const filteredBodyContent = filterAndHighlightContent(\n bodyContent,\n searchTerm\n );\n\n return (\n <Link\n className=\"neeto-molecules-search-result-item hover:neeto-ui-bg-accent-100 focus:neeto-ui-bg-accent-100 neeto-ui-rounded-lg flex w-full cursor-pointer items-center gap-2 px-3 py-2.5 text-xs transition-all duration-300\"\n key={`${category}-${item.id}`}\n to={item.url}\n onClick={onClose}\n >\n <div className=\"line-clamp-1 flex flex-col gap-1\">\n <div className=\"flex items-start gap-2\">\n {nameContent && (\n <Typography\n className=\"neeto-ui-text-black\"\n weight=\"semibold\"\n >\n {highlightMatch(nameContent, searchTerm)}\n </Typography>\n )}\n {category && (\n <Tag\n className=\"mt-1\"\n size=\"small\"\n style={getStyle(category)}\n type=\"solid\"\n >\n {humanize(category)}\n </Tag>\n )}\n </div>\n {bodyContent && (\n <Typography className=\"neeto-ui-text-gray-600 truncate text-xs\">\n {filteredBodyContent || bodyContent}\n </Typography>\n )}\n </div>\n </Link>\n );\n })}\n {shouldShowCategoryDivider && (\n <hr className=\"neeto-ui-border-gray-300 mx-3 my-3 border-t\" />\n )}\n </div>\n );\n })}\n </div>\n </Modal.Body>\n );\n};\n\nexport default ModalBody;\n","import { Down, Up } from \"neetoicons\";\nimport { Modal, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <Up className=\"neeto-ui-text-gray-600\" key=\"up\" size={12} />,\n <Down className=\"neeto-ui-text-gray-600\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <Modal.Footer className=\"neeto-ui-border-gray-300 neeto-molecules-finder-modal__footer border-t px-6 py-4\">\n <div className=\"neeto-ui-text-xxs flex items-center gap-4\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n component=\"span\"\n style=\"nano\"\n >\n {label}\n </Typography>\n {keys.map((key, index) => (\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm neeto-ui-text-gray-600 px-1.5 py-1\"\n component=\"span\"\n key={index}\n style=\"nano\"\n >\n {key}\n </Typography>\n ))}\n </div>\n ))}\n </div>\n </Modal.Footer>\n );\n};\n\nexport default ModalFooter;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal, Spinner } from \"neetoui\";\n\nimport Search from \"components/Search\";\n\nconst ModalHeader = withT(\n ({ t, enableAdvancedSearch, onSearch, onGoToAdvanced, loading }) => (\n <Modal.Header className=\"neeto-molecules-finder-modal__header neeto-ui-border-gray-300 border-b px-0 py-0\">\n <Search\n {...{ onSearch }}\n nakedInput\n autoComplete=\"off\"\n className=\"neeto-molecules-finder-modal__search px-6 py-3\"\n name=\"term\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n suffix={\n <div className=\"ms-3 flex items-center\">\n <div className=\"h-4 w-4 flex-shrink-0\">\n {loading && <Spinner size=\"small\" />}\n </div>\n {enableAdvancedSearch && (\n <Button\n className=\"ms-3 whitespace-nowrap\"\n label={t(\"neetoMolecules.finderModal.advancedSearch\")}\n size=\"small\"\n style=\"tertiary\"\n onClick={onGoToAdvanced}\n />\n )}\n </div>\n }\n />\n </Modal.Header>\n )\n);\n\nexport default ModalHeader;\n","import { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Modal } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport ModalBody from \"./Body\";\nimport \"./finder-modal.scss\";\nimport ModalFooter from \"./Footer\";\nimport ModalHeader from \"./Header\";\nimport { minMax } from \"./utils\";\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data,\n isFetching,\n isOpen,\n searchTerm,\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n ...props\n}) => {\n const containerRef = useRef();\n const mutables = useRef({ focusIndex: -1 }).current;\n\n const onFocusChange = offset => {\n const container = containerRef.current;\n if (!container) return;\n\n const nodes = container.querySelectorAll(\n \"a.neeto-molecules-search-result-item\"\n );\n\n if (isEmpty(nodes)) return;\n\n mutables.focusIndex = minMax(\n mutables.focusIndex + offset,\n nodes.length - 1\n );\n\n const targetNode = nodes[mutables.focusIndex];\n if (targetNode) {\n targetNode.focus();\n }\n };\n\n useHotkeys(\n [\"up\", \"down\"],\n event => {\n event.preventDefault();\n if (event.code === \"ArrowUp\") onFocusChange(-1);\n else if (event.code === \"ArrowDown\") onFocusChange(1);\n },\n { mode: \"global\", enabled: isOpen }\n );\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton={false}\n {...props}\n backdropClassName=\"neeto-molecules-finder-modal-backdrop py-10 px-4\"\n className=\"neeto-molecules-finder-modal\"\n >\n <ModalHeader\n {...{ enableAdvancedSearch, onGoToAdvanced }}\n loading={isFetching}\n onSearch={setSearchTerm}\n />\n <ModalBody\n {...{ containerRef, data, onClose, searchTerm }}\n loading={isFetching}\n />\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Modal>\n );\n};\n\nFinderModal.propTypes = {\n /*\n Boolean to indicate decide whether to show advanced search button or not\n */\n enableAdvancedSearch: PropTypes.bool,\n /*\n Data to be displayed in the modal\n */\n data: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n /*\n Boolean to indicate whether data is being fetched or not\n */\n isFetching: PropTypes.bool,\n /*\n Boolean to indicate whether modal is open or not\n */\n isOpen: PropTypes.bool,\n /*\n Term used for search\n */\n searchTerm: PropTypes.string,\n /*\n Function to set search term\n */\n setSearchTerm: PropTypes.func,\n /*\n Function to close the modal\n */\n onClose: PropTypes.func,\n /*\n Function to execute when user clicks on advanced search button\n */\n onGoToAdvanced: PropTypes.func,\n};\n\nexport default FinderModal;\n"],"names":["Link","_ref","to","children","rest","_objectWithoutProperties","_excluded","url","URL","host","_jsx","RRDLink","_objectSpread","concat","pathname","search","minMax","number","max","arguments","length","undefined","Number","POSITIVE_INFINITY","min","Math","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","split","map","part","index","toLowerCase","className","filterAndHighlightContent","bodyContent","filter","line","trim","includes","_jsxs","React","Fragment","createStylePalette","values","assignedStyles","styleIndex","key","style","getStyle","ModalBody","containerRef","data","onClose","loading","_useTranslation","useTranslation","t","categoryGroups","Object","keys","isNotEmpty","isDataEmpty","isNotPresent","isEmpty","Modal","Body","NoData","description","title","ref","category","categoryIndex","items","shouldShowCategoryDivider","item","nameContent","name","body","filteredBodyContent","onClick","Typography","weight","Tag","size","type","humanize","id","ModalFooter","enableAdvancedSearch","shortcuts","label","isVisible","Up","Down","Footer","prop","_ref2","component","ModalHeader","withT","onSearch","onGoToAdvanced","Header","Search","nakedInput","autoComplete","placeholder","suffix","Spinner","Button","FinderModal","_ref$enableAdvancedSe","isFetching","isOpen","setSearchTerm","_ref$onGoToAdvanced","noop","props","useRef","mutables","focusIndex","current","onFocusChange","offset","container","nodes","querySelectorAll","targetNode","focus","useHotkeys","event","preventDefault","code","mode","enabled","closeButton","backdropClassName"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "4.0.145",
3
+ "version": "4.0.147",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "زر المزيد من الخيارات",
937
937
  "menuAriaLabel": "مزيد من الخيارات",
938
938
  "submenuAriaLabel": "{{label}} قائمة فرعية"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "التقنيات"
939
942
  }
940
943
  }
941
944
  }
@@ -930,6 +930,9 @@
930
930
  "unauthorized": "Без разрешение",
931
931
  "internalServerError": "Вътрешна сървърна грешка"
932
932
  }
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "Навигационна следа"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Botó d'opcions addicionals",
937
937
  "menuAriaLabel": "Més opcions",
938
938
  "submenuAriaLabel": "{{label}} submenú"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Miga de pa"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Tlačítko více možností",
937
937
  "menuAriaLabel": "Více možností",
938
938
  "submenuAriaLabel": "{{label}} submenu"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Cesty"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Mere options knap",
937
937
  "menuAriaLabel": "Mere options",
938
938
  "submenuAriaLabel": "{{label}} under-menu"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Brødkrummesti"
939
942
  }
940
943
  }
941
944
  }
@@ -930,6 +930,9 @@
930
930
  "paneTitle": "Versionsverlauf",
931
931
  "publishedVersions": "Veröffentlichte Versionen",
932
932
  "refreshButtonTooltip": "Versionsverlauf aktualisieren"
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "Brotkrumen"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Botón de más opciones",
937
937
  "menuAriaLabel": "Más opciones",
938
938
  "submenuAriaLabel": "{{label}} submenú"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Miga de pan"
939
942
  }
940
943
  }
941
944
  }
@@ -930,6 +930,9 @@
930
930
  "paneTitle": "Historial de versiones",
931
931
  "publishedVersions": "Versiones publicadas",
932
932
  "refreshButtonTooltip": "Actualizar historial de versiones"
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "Miga de pan"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Rohkem valikuid nupp",
937
937
  "menuAriaLabel": "Rohkem valikuid",
938
938
  "submenuAriaLabel": "{{label}} alammenüü"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Jälg"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Lisävalintojen painike",
937
937
  "menuAriaLabel": "Lisävalinnat",
938
938
  "submenuAriaLabel": "{{label}} alivalikko"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Navi"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Higit pang mga opsyon na button",
937
937
  "menuAriaLabel": "Higit pang mga opsyon",
938
938
  "submenuAriaLabel": "{{label}} submenu"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Tinapay na butil"
939
942
  }
940
943
  }
941
944
  }
@@ -930,6 +930,9 @@
930
930
  "paneTitle": "Historique des versions",
931
931
  "publishedVersions": "Versions publiées",
932
932
  "refreshButtonTooltip": "Rafraîchir l'historique des versions"
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "Fil d'Ariane"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {
@@ -922,6 +922,9 @@
922
922
  "paneTitle": "היסטוריית גרסאות",
923
923
  "publishedVersions": "גרסאות שפורסמו",
924
924
  "refreshButtonTooltip": "רענן את היסטוריית הגרסאות"
925
+ },
926
+ "breadcrumbs": {
927
+ "breadcrumbAriaLabel": "קובץ נתיב"
925
928
  }
926
929
  }
927
930
  }
@@ -930,6 +930,9 @@
930
930
  "connected": "जुड़ा हुआ",
931
931
  "expired": "समाप्त"
932
932
  }
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "ब्रेडक्रंब"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Gumb s više opcija",
937
937
  "menuAriaLabel": "Više opcija",
938
938
  "submenuAriaLabel": "{{label}} podizbornik"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Navigacijska traka"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Tombol lebih banyak opsi",
937
937
  "menuAriaLabel": "Lebih banyak opsi",
938
938
  "submenuAriaLabel": "{{label}} submenu"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Jalur remah"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "Pulsante opzioni aggiuntive",
937
937
  "menuAriaLabel": "Opzioni aggiuntive",
938
938
  "submenuAriaLabel": "{{label}} sottomenu"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "Navigazione"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "その他のオプションボタン",
937
937
  "menuAriaLabel": "その他のオプション",
938
938
  "submenuAriaLabel": "{{label}}サブメニュー"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "パンくずリスト"
939
942
  }
940
943
  }
941
944
  }
@@ -936,6 +936,9 @@
936
936
  "buttonAriaLabel": "더 많은 옵션 버튼",
937
937
  "menuAriaLabel": "더 많은 옵션",
938
938
  "submenuAriaLabel": "{{label}} 서브메뉴"
939
+ },
940
+ "breadcrumbs": {
941
+ "breadcrumbAriaLabel": "빵부스러기"
939
942
  }
940
943
  }
941
944
  }
@@ -930,6 +930,9 @@
930
930
  "paneTitle": "Versiegeschiedenis",
931
931
  "publishedVersions": "Gepubliceerde versies",
932
932
  "refreshButtonTooltip": "Vernieuw versiegeschiedenis"
933
+ },
934
+ "breadcrumbs": {
935
+ "breadcrumbAriaLabel": "Broodkruimel"
933
936
  }
934
937
  },
935
938
  "taxonomyDefaultLabels": {