piral-search 0.14.0-pre.2998 → 0.14.0-pre.3079

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.
package/esm/Search.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { useGlobalState } from 'piral-core';
3
3
  import { PiralSearchContainer, PiralSearchResult } from './components';
4
- export var Search = function () {
5
- var _a = useGlobalState(function (m) { return m.search.results; }), loading = _a.loading, items = _a.items;
6
- return (React.createElement(PiralSearchContainer, { loading: loading }, items.map(function (item, i) { return (React.createElement(PiralSearchResult, { key: i }, item)); })));
4
+ export const Search = () => {
5
+ const { loading, items } = useGlobalState((m) => m.search.results);
6
+ return (React.createElement(PiralSearchContainer, { loading: loading }, items.map((item, i) => (React.createElement(PiralSearchResult, { key: i }, item)))));
7
7
  };
8
8
  //# sourceMappingURL=Search.js.map
package/esm/Search.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,IAAM,MAAM,GAAa;IACxB,IAAA,KAAqB,cAAc,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,OAAO,EAAhB,CAAgB,CAAC,EAA1D,OAAO,aAAA,EAAE,KAAK,WAA4C,CAAC;IAEnE,OAAO,CACL,oBAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,IACnC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC,IAAK,OAAA,CACtB,oBAAC,iBAAiB,IAAC,GAAG,EAAE,CAAC,IAAG,IAAI,CAAqB,CACtD,EAFuB,CAEvB,CAAC,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnE,OAAO,CACL,oBAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,IACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,oBAAC,iBAAiB,IAAC,GAAG,EAAE,CAAC,IAAG,IAAI,CAAqB,CACtD,CAAC,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { useSearch } from './useSearch';
3
3
  import { PiralSearchInput } from './components';
4
- export var SearchInput = function () {
5
- var _a = useSearch(), value = _a[0], setValue = _a[1];
4
+ export const SearchInput = () => {
5
+ const [value, setValue] = useSearch();
6
6
  return React.createElement(PiralSearchInput, { setValue: setValue, value: value });
7
7
  };
8
8
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,IAAM,WAAW,GAAa;IAC7B,IAAA,KAAoB,SAAS,EAAE,EAA9B,KAAK,QAAA,EAAE,QAAQ,QAAe,CAAC;IACtC,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,CAAC;IACtC,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAChE,CAAC,CAAC"}
package/esm/actions.js CHANGED
@@ -1,83 +1,80 @@
1
- import { __assign } from "tslib";
2
1
  import { appendItems, prependItems, withKey, withoutKey } from 'piral-core';
3
2
  function defaultFilter(_, providerNames) {
4
3
  return providerNames;
5
4
  }
6
- export function createActions(config) {
7
- if (config === void 0) { config = {}; }
8
- var _a = config.emptyTrigger, emptyTrigger = _a === void 0 ? false : _a, _b = config.filter, filter = _b === void 0 ? defaultFilter : _b;
5
+ export function createActions(config = {}) {
6
+ const { emptyTrigger = false, filter = defaultFilter } = config;
9
7
  return {
10
- setSearchInput: function (ctx, input) {
11
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { search: __assign(__assign({}, state.search), { input: input }) })); });
8
+ setSearchInput(ctx, input) {
9
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { input }) })));
12
10
  },
13
- triggerSearch: function (ctx, query, immediate) {
14
- if (immediate === void 0) { immediate = false; }
15
- var providers = ctx.readState(function (state) { return state.registry.searchProviders; });
16
- var _a = ctx.readState(function (state) { return state.search; }), input = _a.input, results = _a.results;
17
- var loading = results.loading;
11
+ triggerSearch(ctx, query, immediate = false) {
12
+ const providers = ctx.readState((state) => state.registry.searchProviders);
13
+ const { input, results } = ctx.readState((state) => state.search);
14
+ const { loading } = results;
18
15
  if (query === undefined) {
19
16
  query = input;
20
17
  }
21
18
  if (input !== query || !loading) {
22
- var selectedProviders = filter(query, Object.keys(providers));
23
- var providerKeys_1 = selectedProviders.filter(function (m) { return !providers[m].onlyImmediate || immediate; });
24
- var acceptQuery = emptyTrigger || !!query;
25
- var load_1 = acceptQuery && providerKeys_1.length > 0;
26
- ctx.resetSearchResults(query, load_1);
27
- if (load_1) {
28
- var searchCount_1 = providerKeys_1.length;
29
- var active_1 = true;
30
- var opts_1 = {
31
- query: query,
32
- immediate: immediate,
19
+ const selectedProviders = filter(query, Object.keys(providers));
20
+ const providerKeys = selectedProviders.filter((m) => !providers[m].onlyImmediate || immediate);
21
+ const acceptQuery = emptyTrigger || !!query;
22
+ const load = acceptQuery && providerKeys.length > 0;
23
+ ctx.resetSearchResults(query, load);
24
+ if (load) {
25
+ let searchCount = providerKeys.length;
26
+ let active = true;
27
+ const opts = {
28
+ query,
29
+ immediate,
33
30
  };
34
- providerKeys_1.forEach(function (key) {
35
- var provider = providers[key];
36
- provider.search(opts_1).then(function (results) {
37
- active_1 && ctx.appendSearchResults(results, --searchCount_1 === 0);
38
- }, function (ex) {
31
+ providerKeys.forEach((key) => {
32
+ const provider = providers[key];
33
+ provider.search(opts).then((results) => {
34
+ active && ctx.appendSearchResults(results, --searchCount === 0);
35
+ }, (ex) => {
39
36
  console.warn(ex);
40
- active_1 && --searchCount_1 === 0 && ctx.appendSearchResults([], true);
37
+ active && --searchCount === 0 && ctx.appendSearchResults([], true);
41
38
  });
42
39
  });
43
- return function () {
44
- active_1 = false;
45
- providerKeys_1.forEach(function (key) { return providers[key].cancel(); });
46
- ctx.appendSearchResults([], load_1);
40
+ return () => {
41
+ active = false;
42
+ providerKeys.forEach((key) => providers[key].cancel());
43
+ ctx.appendSearchResults([], load);
47
44
  };
48
45
  }
49
46
  else if (!query) {
50
- selectedProviders.forEach(function (key) { return providers[key].clear(); });
47
+ selectedProviders.forEach((key) => providers[key].clear());
51
48
  }
52
49
  }
53
- return function () { };
50
+ return () => { };
54
51
  },
55
- resetSearchResults: function (ctx, input, loading) {
56
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { search: {
57
- input: input,
52
+ resetSearchResults(ctx, input, loading) {
53
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: {
54
+ input,
58
55
  results: {
59
- loading: loading,
56
+ loading,
60
57
  items: [],
61
58
  },
62
- } })); });
59
+ } })));
63
60
  },
64
- appendSearchResults: function (ctx, items, done) {
65
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { search: __assign(__assign({}, state.search), { results: {
61
+ appendSearchResults(ctx, items, done) {
62
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { results: {
66
63
  loading: !done,
67
64
  items: appendItems(state.search.results.items, items),
68
- } }) })); });
65
+ } }) })));
69
66
  },
70
- prependSearchResults: function (ctx, items, done) {
71
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { search: __assign(__assign({}, state.search), { results: {
67
+ prependSearchResults(ctx, items, done) {
68
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { results: {
72
69
  loading: !done,
73
70
  items: prependItems(state.search.results.items, items),
74
- } }) })); });
71
+ } }) })));
75
72
  },
76
- registerSearchProvider: function (ctx, name, value) {
77
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { registry: __assign(__assign({}, state.registry), { searchProviders: withKey(state.registry.searchProviders, name, value) }) })); });
73
+ registerSearchProvider(ctx, name, value) {
74
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { searchProviders: withKey(state.registry.searchProviders, name, value) }) })));
78
75
  },
79
- unregisterSearchProvider: function (ctx, name) {
80
- ctx.dispatch(function (state) { return (__assign(__assign({}, state), { registry: __assign(__assign({}, state.registry), { searchProviders: withoutKey(state.registry.searchProviders, name) }) })); });
76
+ unregisterSearchProvider(ctx, name) {
77
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { searchProviders: withoutKey(state.registry.searchProviders, name) }) })));
81
78
  },
82
79
  };
83
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/esm/components.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getPiralComponent } from 'piral-core';
2
- export var PiralSearchContainer = getPiralComponent('SearchContainer');
3
- export var PiralSearchInput = getPiralComponent('SearchInput');
4
- export var PiralSearchResult = getPiralComponent('SearchResult');
2
+ export const PiralSearchContainer = getPiralComponent('SearchContainer');
3
+ export const PiralSearchInput = getPiralComponent('SearchInput');
4
+ export const PiralSearchResult = getPiralComponent('SearchResult');
5
5
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,IAAM,oBAAoB,GAA8C,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACpH,MAAM,CAAC,IAAM,gBAAgB,GAA0C,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACxG,MAAM,CAAC,IAAM,iBAAiB,GAA2C,iBAAiB,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,MAAM,oBAAoB,GAA8C,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACpH,MAAM,CAAC,MAAM,gBAAgB,GAA0C,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAA2C,iBAAiB,CAAC,cAAc,CAAC,CAAC"}
package/esm/create.js CHANGED
@@ -1,22 +1,20 @@
1
- import { __assign, __rest } from "tslib";
1
+ import { __rest } from "tslib";
2
2
  import { isfunc } from 'piral-base';
3
3
  import { isValidElement, createElement } from 'react';
4
4
  import { buildName, withApi } from 'piral-core';
5
5
  import { createActions } from './actions';
6
6
  import { DefaultContainer, DefaultInput, DefaultResult } from './default';
7
7
  function noop() { }
8
- function createSearchRegistration(pilet, search, settings) {
9
- if (settings === void 0) { settings = {}; }
10
- var _a = settings.onlyImmediate, onlyImmediate = _a === void 0 ? false : _a, _b = settings.onCancel, onCancel = _b === void 0 ? noop : _b, _c = settings.onClear, onClear = _c === void 0 ? noop : _c, rest = __rest(settings, ["onlyImmediate", "onCancel", "onClear"]);
11
- return __assign(__assign({}, rest), { pilet: pilet,
12
- onlyImmediate: onlyImmediate, cancel: isfunc(onCancel) ? onCancel : noop, clear: isfunc(onClear) ? onClear : noop, search: search });
8
+ function createSearchRegistration(pilet, search, settings = {}) {
9
+ const { onlyImmediate = false, onCancel = noop, onClear = noop } = settings, rest = __rest(settings, ["onlyImmediate", "onCancel", "onClear"]);
10
+ return Object.assign(Object.assign({}, rest), { pilet,
11
+ onlyImmediate, cancel: isfunc(onCancel) ? onCancel : noop, clear: isfunc(onClear) ? onClear : noop, search });
13
12
  }
14
13
  function getSearchProviders(providers) {
15
- var searchProviders = {};
16
- var i = 0;
17
- for (var _i = 0, providers_1 = providers; _i < providers_1.length; _i++) {
18
- var _a = providers_1[_i], search = _a.search, settings = _a.settings;
19
- searchProviders["global-" + i++] = createSearchRegistration(undefined, search, settings);
14
+ const searchProviders = {};
15
+ let i = 0;
16
+ for (const { search, settings } of providers) {
17
+ searchProviders[`global-${i++}`] = createSearchRegistration(undefined, search, settings);
20
18
  }
21
19
  return searchProviders;
22
20
  }
@@ -25,47 +23,44 @@ function toChild(content, api, context) {
25
23
  return content;
26
24
  }
27
25
  else {
28
- var component = withApi(context, content, api, 'extension');
26
+ const component = withApi(context, content, api, 'extension');
29
27
  return createElement(component);
30
28
  }
31
29
  }
32
30
  function wrapResults(result, api, context) {
33
- var results = Array.isArray(result) ? result : [result];
34
- return results.map(function (item) { return toChild(item, api, context); });
31
+ const results = Array.isArray(result) ? result : [result];
32
+ return results.map((item) => toChild(item, api, context));
35
33
  }
36
34
  /**
37
35
  * Creates new Pilet API extensions for search and filtering.
38
36
  */
39
- export function createSearchApi(config) {
40
- if (config === void 0) { config = {}; }
41
- var _a = config.providers, providers = _a === void 0 ? [] : _a, _b = config.results, results = _b === void 0 ? [] : _b, _c = config.query, query = _c === void 0 ? '' : _c, actionConfig = __rest(config, ["providers", "results", "query"]);
42
- return function (context) {
37
+ export function createSearchApi(config = {}) {
38
+ const { providers = [], results = [], query = '' } = config, actionConfig = __rest(config, ["providers", "results", "query"]);
39
+ return (context) => {
43
40
  context.defineActions(createActions(actionConfig));
44
- context.dispatch(function (state) { return (__assign(__assign({}, state), { components: __assign({ SearchContainer: DefaultContainer, SearchInput: DefaultInput, SearchResult: DefaultResult }, state.components), registry: __assign(__assign({}, state.registry), { searchProviders: getSearchProviders(providers) }), search: {
41
+ context.dispatch((state) => (Object.assign(Object.assign({}, state), { components: Object.assign({ SearchContainer: DefaultContainer, SearchInput: DefaultInput, SearchResult: DefaultResult }, state.components), registry: Object.assign(Object.assign({}, state.registry), { searchProviders: getSearchProviders(providers) }), search: {
45
42
  input: query,
46
43
  results: {
47
44
  loading: false,
48
45
  items: results,
49
46
  },
50
- } })); });
51
- return function (api, target) {
52
- var pilet = target.name;
53
- var next = 0;
47
+ } })));
48
+ return (api, target) => {
49
+ const pilet = target.name;
50
+ let next = 0;
54
51
  return {
55
- registerSearchProvider: function (name, provider, settings) {
52
+ registerSearchProvider(name, provider, settings) {
56
53
  if (typeof name !== 'string') {
57
54
  settings = provider;
58
55
  provider = name;
59
56
  name = next++;
60
57
  }
61
- var id = buildName(pilet, name);
62
- context.registerSearchProvider(id, createSearchRegistration(pilet, function (q) {
63
- return Promise.resolve(provider(q, api)).then(function (results) { return wrapResults(results, api, context); }, function () { return []; });
64
- }, settings));
65
- return function () { return api.unregisterSearchProvider(name); };
58
+ const id = buildName(pilet, name);
59
+ context.registerSearchProvider(id, createSearchRegistration(pilet, (q) => Promise.resolve(provider(q, api)).then((results) => wrapResults(results, api, context), () => []), settings));
60
+ return () => api.unregisterSearchProvider(name);
66
61
  },
67
- unregisterSearchProvider: function (name) {
68
- var id = buildName(pilet, name);
62
+ unregisterSearchProvider(name) {
63
+ const id = buildName(pilet, name);
69
64
  context.unregisterSearchProvider(id);
70
65
  },
71
66
  };
package/esm/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/esm/default.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { defaultRender } from 'piral-core';
3
- export var DefaultContainer = function (props) { return defaultRender(props.children); };
4
- export var DefaultResult = function (props) { return defaultRender(props.children); };
5
- export var DefaultInput = function (props) { return (React.createElement("input", { onChange: function (e) { return props.setValue(e.target.value); }, value: props.value })); };
3
+ export const DefaultContainer = (props) => defaultRender(props.children);
4
+ export const DefaultResult = (props) => defaultRender(props.children);
5
+ export const DefaultInput = (props) => (React.createElement("input", { onChange: (e) => props.setValue(e.target.value), value: props.value }));
6
6
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,IAAM,gBAAgB,GAAmC,UAAC,KAAK,IAAK,OAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC;AACzG,MAAM,CAAC,IAAM,aAAa,GAAgC,UAAC,KAAK,IAAK,OAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC;AACnG,MAAM,CAAC,IAAM,YAAY,GAA+B,UAAC,KAAK,IAAK,OAAA,CACjE,+BAAO,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAA9B,CAA8B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAC/E,EAFkE,CAElE,CAAC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,CAAC,MAAM,gBAAgB,GAAmC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,aAAa,GAAgC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,YAAY,GAA+B,CAAC,KAAK,EAAE,EAAE,CAAC,CACjE,+BAAO,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAC/E,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hook that returns the debounced (i.e., delayed) value.
3
+ * Useful when user input should not fire immediately, but rather
4
+ * only after a certain timespan without any changes passed.
5
+ * @param value The value to consider.
6
+ * @param delay The timespan to pass before applying the value.
7
+ */
8
+ export declare function useDebounce<T>(value: T, delay?: number): T;
@@ -0,0 +1,17 @@
1
+ import { useState, useEffect } from 'react';
2
+ /**
3
+ * Hook that returns the debounced (i.e., delayed) value.
4
+ * Useful when user input should not fire immediately, but rather
5
+ * only after a certain timespan without any changes passed.
6
+ * @param value The value to consider.
7
+ * @param delay The timespan to pass before applying the value.
8
+ */
9
+ export function useDebounce(value, delay = 300) {
10
+ const [debouncedValue, setDebouncedValue] = useState(value);
11
+ useEffect(() => {
12
+ const handler = setTimeout(() => setDebouncedValue(value), delay);
13
+ return () => clearTimeout(handler);
14
+ }, [value, delay]);
15
+ return debouncedValue;
16
+ }
17
+ //# sourceMappingURL=useDebounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../src/useDebounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAK,GAAG,GAAG;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
package/esm/useSearch.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
- import { useGlobalState, useDebounce, useActions } from 'piral-core';
2
+ import { useGlobalState, useActions } from 'piral-core';
3
+ import { useDebounce } from './useDebounce';
3
4
  /**
4
5
  * Hook that yields the possibility of searching in Piral.
5
6
  * Returns the current (live, i.e., non-debounced) input value
@@ -11,11 +12,11 @@ import { useGlobalState, useDebounce, useActions } from 'piral-core';
11
12
  * @param delay The delay [ms] to be used for the debounce.
12
13
  */
13
14
  export function useSearch(delay) {
14
- var _a = useActions(), setSearchInput = _a.setSearchInput, triggerSearch = _a.triggerSearch;
15
- var searchInput = useGlobalState(function (m) { return m.search.input; });
16
- var query = useDebounce(searchInput, delay);
17
- var cancel = useRef(undefined);
18
- useEffect(function () {
15
+ const { setSearchInput, triggerSearch } = useActions();
16
+ const searchInput = useGlobalState((m) => m.search.input);
17
+ const query = useDebounce(searchInput, delay);
18
+ const cancel = useRef(undefined);
19
+ useEffect(() => {
19
20
  cancel.current && cancel.current();
20
21
  cancel.current = triggerSearch(query, false);
21
22
  }, [query]);
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../src/useSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IAChC,IAAA,KAAoC,UAAU,EAAE,EAA9C,cAAc,oBAAA,EAAE,aAAa,mBAAiB,CAAC;IACvD,IAAM,WAAW,GAAG,cAAc,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,KAAK,EAAd,CAAc,CAAC,CAAC;IAC1D,IAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAM,MAAM,GAAG,MAAM,CAAa,SAAS,CAAC,CAAC;IAE7C,SAAS,CAAC;QACR,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../src/useSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAa,SAAS,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC"}
package/lib/Search.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Search = void 0;
4
- var React = require("react");
5
- var piral_core_1 = require("piral-core");
6
- var components_1 = require("./components");
7
- var Search = function () {
8
- var _a = piral_core_1.useGlobalState(function (m) { return m.search.results; }), loading = _a.loading, items = _a.items;
9
- return (React.createElement(components_1.PiralSearchContainer, { loading: loading }, items.map(function (item, i) { return (React.createElement(components_1.PiralSearchResult, { key: i }, item)); })));
4
+ const React = require("react");
5
+ const piral_core_1 = require("piral-core");
6
+ const components_1 = require("./components");
7
+ const Search = () => {
8
+ const { loading, items } = (0, piral_core_1.useGlobalState)((m) => m.search.results);
9
+ return (React.createElement(components_1.PiralSearchContainer, { loading: loading }, items.map((item, i) => (React.createElement(components_1.PiralSearchResult, { key: i }, item)))));
10
10
  };
11
11
  exports.Search = Search;
12
12
  //# sourceMappingURL=Search.js.map
package/lib/Search.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,yCAA4C;AAC5C,2CAAuE;AAEhE,IAAM,MAAM,GAAa;IACxB,IAAA,KAAqB,2BAAc,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,OAAO,EAAhB,CAAgB,CAAC,EAA1D,OAAO,aAAA,EAAE,KAAK,WAA4C,CAAC;IAEnE,OAAO,CACL,oBAAC,iCAAoB,IAAC,OAAO,EAAE,OAAO,IACnC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC,IAAK,OAAA,CACtB,oBAAC,8BAAiB,IAAC,GAAG,EAAE,CAAC,IAAG,IAAI,CAAqB,CACtD,EAFuB,CAEvB,CAAC,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAA4C;AAC5C,6CAAuE;AAEhE,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,2BAAc,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnE,OAAO,CACL,oBAAC,iCAAoB,IAAC,OAAO,EAAE,OAAO,IACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,oBAAC,8BAAiB,IAAC,GAAG,EAAE,CAAC,IAAG,IAAI,CAAqB,CACtD,CAAC,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SearchInput = void 0;
4
- var React = require("react");
5
- var useSearch_1 = require("./useSearch");
6
- var components_1 = require("./components");
7
- var SearchInput = function () {
8
- var _a = useSearch_1.useSearch(), value = _a[0], setValue = _a[1];
4
+ const React = require("react");
5
+ const useSearch_1 = require("./useSearch");
6
+ const components_1 = require("./components");
7
+ const SearchInput = () => {
8
+ const [value, setValue] = (0, useSearch_1.useSearch)();
9
9
  return React.createElement(components_1.PiralSearchInput, { setValue: setValue, value: value });
10
10
  };
11
11
  exports.SearchInput = SearchInput;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,yCAAwC;AACxC,2CAAgD;AAEzC,IAAM,WAAW,GAAa;IAC7B,IAAA,KAAoB,qBAAS,EAAE,EAA9B,KAAK,QAAA,EAAE,QAAQ,QAAe,CAAC;IACtC,OAAO,oBAAC,6BAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAChE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB"}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAAwC;AACxC,6CAAgD;AAEzC,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,qBAAS,GAAE,CAAC;IACtC,OAAO,oBAAC,6BAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAChE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB"}
package/lib/actions.js CHANGED
@@ -1,86 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createActions = void 0;
4
- var tslib_1 = require("tslib");
5
- var piral_core_1 = require("piral-core");
4
+ const piral_core_1 = require("piral-core");
6
5
  function defaultFilter(_, providerNames) {
7
6
  return providerNames;
8
7
  }
9
- function createActions(config) {
10
- if (config === void 0) { config = {}; }
11
- var _a = config.emptyTrigger, emptyTrigger = _a === void 0 ? false : _a, _b = config.filter, filter = _b === void 0 ? defaultFilter : _b;
8
+ function createActions(config = {}) {
9
+ const { emptyTrigger = false, filter = defaultFilter } = config;
12
10
  return {
13
- setSearchInput: function (ctx, input) {
14
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { search: tslib_1.__assign(tslib_1.__assign({}, state.search), { input: input }) })); });
11
+ setSearchInput(ctx, input) {
12
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { input }) })));
15
13
  },
16
- triggerSearch: function (ctx, query, immediate) {
17
- if (immediate === void 0) { immediate = false; }
18
- var providers = ctx.readState(function (state) { return state.registry.searchProviders; });
19
- var _a = ctx.readState(function (state) { return state.search; }), input = _a.input, results = _a.results;
20
- var loading = results.loading;
14
+ triggerSearch(ctx, query, immediate = false) {
15
+ const providers = ctx.readState((state) => state.registry.searchProviders);
16
+ const { input, results } = ctx.readState((state) => state.search);
17
+ const { loading } = results;
21
18
  if (query === undefined) {
22
19
  query = input;
23
20
  }
24
21
  if (input !== query || !loading) {
25
- var selectedProviders = filter(query, Object.keys(providers));
26
- var providerKeys_1 = selectedProviders.filter(function (m) { return !providers[m].onlyImmediate || immediate; });
27
- var acceptQuery = emptyTrigger || !!query;
28
- var load_1 = acceptQuery && providerKeys_1.length > 0;
29
- ctx.resetSearchResults(query, load_1);
30
- if (load_1) {
31
- var searchCount_1 = providerKeys_1.length;
32
- var active_1 = true;
33
- var opts_1 = {
34
- query: query,
35
- immediate: immediate,
22
+ const selectedProviders = filter(query, Object.keys(providers));
23
+ const providerKeys = selectedProviders.filter((m) => !providers[m].onlyImmediate || immediate);
24
+ const acceptQuery = emptyTrigger || !!query;
25
+ const load = acceptQuery && providerKeys.length > 0;
26
+ ctx.resetSearchResults(query, load);
27
+ if (load) {
28
+ let searchCount = providerKeys.length;
29
+ let active = true;
30
+ const opts = {
31
+ query,
32
+ immediate,
36
33
  };
37
- providerKeys_1.forEach(function (key) {
38
- var provider = providers[key];
39
- provider.search(opts_1).then(function (results) {
40
- active_1 && ctx.appendSearchResults(results, --searchCount_1 === 0);
41
- }, function (ex) {
34
+ providerKeys.forEach((key) => {
35
+ const provider = providers[key];
36
+ provider.search(opts).then((results) => {
37
+ active && ctx.appendSearchResults(results, --searchCount === 0);
38
+ }, (ex) => {
42
39
  console.warn(ex);
43
- active_1 && --searchCount_1 === 0 && ctx.appendSearchResults([], true);
40
+ active && --searchCount === 0 && ctx.appendSearchResults([], true);
44
41
  });
45
42
  });
46
- return function () {
47
- active_1 = false;
48
- providerKeys_1.forEach(function (key) { return providers[key].cancel(); });
49
- ctx.appendSearchResults([], load_1);
43
+ return () => {
44
+ active = false;
45
+ providerKeys.forEach((key) => providers[key].cancel());
46
+ ctx.appendSearchResults([], load);
50
47
  };
51
48
  }
52
49
  else if (!query) {
53
- selectedProviders.forEach(function (key) { return providers[key].clear(); });
50
+ selectedProviders.forEach((key) => providers[key].clear());
54
51
  }
55
52
  }
56
- return function () { };
53
+ return () => { };
57
54
  },
58
- resetSearchResults: function (ctx, input, loading) {
59
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { search: {
60
- input: input,
55
+ resetSearchResults(ctx, input, loading) {
56
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: {
57
+ input,
61
58
  results: {
62
- loading: loading,
59
+ loading,
63
60
  items: [],
64
61
  },
65
- } })); });
62
+ } })));
66
63
  },
67
- appendSearchResults: function (ctx, items, done) {
68
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { search: tslib_1.__assign(tslib_1.__assign({}, state.search), { results: {
64
+ appendSearchResults(ctx, items, done) {
65
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { results: {
69
66
  loading: !done,
70
- items: piral_core_1.appendItems(state.search.results.items, items),
71
- } }) })); });
67
+ items: (0, piral_core_1.appendItems)(state.search.results.items, items),
68
+ } }) })));
72
69
  },
73
- prependSearchResults: function (ctx, items, done) {
74
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { search: tslib_1.__assign(tslib_1.__assign({}, state.search), { results: {
70
+ prependSearchResults(ctx, items, done) {
71
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { search: Object.assign(Object.assign({}, state.search), { results: {
75
72
  loading: !done,
76
- items: piral_core_1.prependItems(state.search.results.items, items),
77
- } }) })); });
73
+ items: (0, piral_core_1.prependItems)(state.search.results.items, items),
74
+ } }) })));
78
75
  },
79
- registerSearchProvider: function (ctx, name, value) {
80
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { registry: tslib_1.__assign(tslib_1.__assign({}, state.registry), { searchProviders: piral_core_1.withKey(state.registry.searchProviders, name, value) }) })); });
76
+ registerSearchProvider(ctx, name, value) {
77
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { searchProviders: (0, piral_core_1.withKey)(state.registry.searchProviders, name, value) }) })));
81
78
  },
82
- unregisterSearchProvider: function (ctx, name) {
83
- ctx.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { registry: tslib_1.__assign(tslib_1.__assign({}, state.registry), { searchProviders: piral_core_1.withoutKey(state.registry.searchProviders, name) }) })); });
79
+ unregisterSearchProvider(ctx, name) {
80
+ ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { searchProviders: (0, piral_core_1.withoutKey)(state.registry.searchProviders, name) }) })));
84
81
  },
85
82
  };
86
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":";;;;AACA,yCAA4G;AAG5G,SAAS,aAAa,CAAC,CAAS,EAAE,aAA4B;IAC5D,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,aAAa,CAAC,MAAgC;IAAhC,uBAAA,EAAA,WAAgC;IACpD,IAAA,KAAiD,MAAM,aAAnC,EAApB,YAAY,mBAAG,KAAK,KAAA,EAAE,KAA2B,MAAM,OAAX,EAAtB,MAAM,mBAAG,aAAa,KAAA,CAAY;IAChE,OAAO;QACL,cAAc,EAAd,UAAe,GAAuB,EAAE,KAAa;YACnD,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,MAAM,wCACD,KAAK,CAAC,MAAM,KACf,KAAK,OAAA,OAEP,EANsB,CAMtB,CAAC,CAAC;QACN,CAAC;QACD,aAAa,EAAb,UAAc,GAAuB,EAAE,KAAc,EAAE,SAAiB;YAAjB,0BAAA,EAAA,iBAAiB;YACtE,IAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAQ,CAAC,eAAe,EAA9B,CAA8B,CAAC,CAAC;YACrE,IAAA,KAAqB,GAAG,CAAC,SAAS,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,EAAZ,CAAY,CAAC,EAAzD,KAAK,WAAA,EAAE,OAAO,aAA2C,CAAC;YAC1D,IAAA,OAAO,GAAK,OAAO,QAAZ,CAAa;YAE5B,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,KAAK,GAAG,KAAK,CAAC;aACf;YAED,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;gBAC/B,IAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChE,IAAM,cAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,EAAxC,CAAwC,CAAC,CAAC;gBAC/F,IAAM,WAAW,GAAG,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC;gBAC5C,IAAM,MAAI,GAAG,WAAW,IAAI,cAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpD,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAI,CAAC,CAAC;gBAEpC,IAAI,MAAI,EAAE;oBACR,IAAI,aAAW,GAAG,cAAY,CAAC,MAAM,CAAC;oBACtC,IAAI,QAAM,GAAG,IAAI,CAAC;oBAClB,IAAM,MAAI,GAAkB;wBAC1B,KAAK,OAAA;wBACL,SAAS,WAAA;qBACV,CAAC;oBAEF,cAAY,CAAC,OAAO,CAAC,UAAC,GAAG;wBACvB,IAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;wBAChC,QAAQ,CAAC,MAAM,CAAC,MAAI,CAAC,CAAC,IAAI,CACxB,UAAC,OAAO;4BACN,QAAM,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,aAAW,KAAK,CAAC,CAAC,CAAC;wBAClE,CAAC,EACD,UAAC,EAAE;4BACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACjB,QAAM,IAAI,EAAE,aAAW,KAAK,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBACrE,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,OAAO;wBACL,QAAM,GAAG,KAAK,CAAC;wBACf,cAAY,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAvB,CAAuB,CAAC,CAAC;wBACvD,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAI,CAAC,CAAC;oBACpC,CAAC,CAAC;iBACH;qBAAM,IAAI,CAAC,KAAK,EAAE;oBACjB,iBAAiB,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAtB,CAAsB,CAAC,CAAC;iBAC5D;aACF;YAED,OAAO,cAAO,CAAC,CAAC;QAClB,CAAC;QACD,kBAAkB,EAAlB,UAAmB,GAAuB,EAAE,KAAa,EAAE,OAAgB;YACzE,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,MAAM,EAAE;oBACN,KAAK,OAAA;oBACL,OAAO,EAAE;wBACP,OAAO,SAAA;wBACP,KAAK,EAAE,EAAE;qBACV;iBACF,IACD,EATsB,CAStB,CAAC,CAAC;QACN,CAAC;QACD,mBAAmB,EAAnB,UAAoB,GAAuB,EAAE,KAAwB,EAAE,IAAa;YAClF,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,MAAM,wCACD,KAAK,CAAC,MAAM,KACf,OAAO,EAAE;wBACP,OAAO,EAAE,CAAC,IAAI;wBACd,KAAK,EAAE,wBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtD,OAEH,EATsB,CAStB,CAAC,CAAC;QACN,CAAC;QACD,oBAAoB,EAApB,UAAqB,GAAuB,EAAE,KAAwB,EAAE,IAAa;YACnF,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,MAAM,wCACD,KAAK,CAAC,MAAM,KACf,OAAO,EAAE;wBACP,OAAO,EAAE,CAAC,IAAI;wBACd,KAAK,EAAE,yBAAY,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;qBACvD,OAEH,EATsB,CAStB,CAAC,CAAC;QACN,CAAC;QACD,sBAAsB,EAAtB,UAAuB,GAAuB,EAAE,IAAY,EAAE,KAAiC;YAC7F,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,QAAQ,wCACH,KAAK,CAAC,QAAQ,KACjB,eAAe,EAAE,oBAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,OAEvE,EANsB,CAMtB,CAAC,CAAC;QACN,CAAC;QACD,wBAAwB,EAAxB,UAAyB,GAAuB,EAAE,IAAY;YAC5D,GAAG,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,uCACnB,KAAK,KACR,QAAQ,wCACH,KAAK,CAAC,QAAQ,KACjB,eAAe,EAAE,uBAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,OAEnE,EANsB,CAMtB,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC;AApHD,sCAoHC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/lib/components.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PiralSearchResult = exports.PiralSearchInput = exports.PiralSearchContainer = void 0;
4
- var piral_core_1 = require("piral-core");
5
- exports.PiralSearchContainer = piral_core_1.getPiralComponent('SearchContainer');
6
- exports.PiralSearchInput = piral_core_1.getPiralComponent('SearchInput');
7
- exports.PiralSearchResult = piral_core_1.getPiralComponent('SearchResult');
4
+ const piral_core_1 = require("piral-core");
5
+ exports.PiralSearchContainer = (0, piral_core_1.getPiralComponent)('SearchContainer');
6
+ exports.PiralSearchInput = (0, piral_core_1.getPiralComponent)('SearchInput');
7
+ exports.PiralSearchResult = (0, piral_core_1.getPiralComponent)('SearchResult');
8
8
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":";;;AACA,yCAA+C;AAGlC,QAAA,oBAAoB,GAA8C,8BAAiB,CAAC,iBAAiB,CAAC,CAAC;AACvG,QAAA,gBAAgB,GAA0C,8BAAiB,CAAC,aAAa,CAAC,CAAC;AAC3F,QAAA,iBAAiB,GAA2C,8BAAiB,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":";;;AACA,2CAA+C;AAGlC,QAAA,oBAAoB,GAA8C,IAAA,8BAAiB,EAAC,iBAAiB,CAAC,CAAC;AACvG,QAAA,gBAAgB,GAA0C,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;AAC3F,QAAA,iBAAiB,GAA2C,IAAA,8BAAiB,EAAC,cAAc,CAAC,CAAC"}
package/lib/create.js CHANGED
@@ -1,74 +1,69 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSearchApi = void 0;
4
- var tslib_1 = require("tslib");
5
- var piral_base_1 = require("piral-base");
6
- var react_1 = require("react");
7
- var piral_core_1 = require("piral-core");
8
- var actions_1 = require("./actions");
9
- var default_1 = require("./default");
4
+ const tslib_1 = require("tslib");
5
+ const piral_base_1 = require("piral-base");
6
+ const react_1 = require("react");
7
+ const piral_core_1 = require("piral-core");
8
+ const actions_1 = require("./actions");
9
+ const default_1 = require("./default");
10
10
  function noop() { }
11
- function createSearchRegistration(pilet, search, settings) {
12
- if (settings === void 0) { settings = {}; }
13
- var _a = settings.onlyImmediate, onlyImmediate = _a === void 0 ? false : _a, _b = settings.onCancel, onCancel = _b === void 0 ? noop : _b, _c = settings.onClear, onClear = _c === void 0 ? noop : _c, rest = tslib_1.__rest(settings, ["onlyImmediate", "onCancel", "onClear"]);
14
- return tslib_1.__assign(tslib_1.__assign({}, rest), { pilet: pilet,
15
- onlyImmediate: onlyImmediate, cancel: piral_base_1.isfunc(onCancel) ? onCancel : noop, clear: piral_base_1.isfunc(onClear) ? onClear : noop, search: search });
11
+ function createSearchRegistration(pilet, search, settings = {}) {
12
+ const { onlyImmediate = false, onCancel = noop, onClear = noop } = settings, rest = (0, tslib_1.__rest)(settings, ["onlyImmediate", "onCancel", "onClear"]);
13
+ return Object.assign(Object.assign({}, rest), { pilet,
14
+ onlyImmediate, cancel: (0, piral_base_1.isfunc)(onCancel) ? onCancel : noop, clear: (0, piral_base_1.isfunc)(onClear) ? onClear : noop, search });
16
15
  }
17
16
  function getSearchProviders(providers) {
18
- var searchProviders = {};
19
- var i = 0;
20
- for (var _i = 0, providers_1 = providers; _i < providers_1.length; _i++) {
21
- var _a = providers_1[_i], search = _a.search, settings = _a.settings;
22
- searchProviders["global-" + i++] = createSearchRegistration(undefined, search, settings);
17
+ const searchProviders = {};
18
+ let i = 0;
19
+ for (const { search, settings } of providers) {
20
+ searchProviders[`global-${i++}`] = createSearchRegistration(undefined, search, settings);
23
21
  }
24
22
  return searchProviders;
25
23
  }
26
24
  function toChild(content, api, context) {
27
- if (typeof content === 'string' || react_1.isValidElement(content)) {
25
+ if (typeof content === 'string' || (0, react_1.isValidElement)(content)) {
28
26
  return content;
29
27
  }
30
28
  else {
31
- var component = piral_core_1.withApi(context, content, api, 'extension');
32
- return react_1.createElement(component);
29
+ const component = (0, piral_core_1.withApi)(context, content, api, 'extension');
30
+ return (0, react_1.createElement)(component);
33
31
  }
34
32
  }
35
33
  function wrapResults(result, api, context) {
36
- var results = Array.isArray(result) ? result : [result];
37
- return results.map(function (item) { return toChild(item, api, context); });
34
+ const results = Array.isArray(result) ? result : [result];
35
+ return results.map((item) => toChild(item, api, context));
38
36
  }
39
37
  /**
40
38
  * Creates new Pilet API extensions for search and filtering.
41
39
  */
42
- function createSearchApi(config) {
43
- if (config === void 0) { config = {}; }
44
- var _a = config.providers, providers = _a === void 0 ? [] : _a, _b = config.results, results = _b === void 0 ? [] : _b, _c = config.query, query = _c === void 0 ? '' : _c, actionConfig = tslib_1.__rest(config, ["providers", "results", "query"]);
45
- return function (context) {
46
- context.defineActions(actions_1.createActions(actionConfig));
47
- context.dispatch(function (state) { return (tslib_1.__assign(tslib_1.__assign({}, state), { components: tslib_1.__assign({ SearchContainer: default_1.DefaultContainer, SearchInput: default_1.DefaultInput, SearchResult: default_1.DefaultResult }, state.components), registry: tslib_1.__assign(tslib_1.__assign({}, state.registry), { searchProviders: getSearchProviders(providers) }), search: {
40
+ function createSearchApi(config = {}) {
41
+ const { providers = [], results = [], query = '' } = config, actionConfig = (0, tslib_1.__rest)(config, ["providers", "results", "query"]);
42
+ return (context) => {
43
+ context.defineActions((0, actions_1.createActions)(actionConfig));
44
+ context.dispatch((state) => (Object.assign(Object.assign({}, state), { components: Object.assign({ SearchContainer: default_1.DefaultContainer, SearchInput: default_1.DefaultInput, SearchResult: default_1.DefaultResult }, state.components), registry: Object.assign(Object.assign({}, state.registry), { searchProviders: getSearchProviders(providers) }), search: {
48
45
  input: query,
49
46
  results: {
50
47
  loading: false,
51
48
  items: results,
52
49
  },
53
- } })); });
54
- return function (api, target) {
55
- var pilet = target.name;
56
- var next = 0;
50
+ } })));
51
+ return (api, target) => {
52
+ const pilet = target.name;
53
+ let next = 0;
57
54
  return {
58
- registerSearchProvider: function (name, provider, settings) {
55
+ registerSearchProvider(name, provider, settings) {
59
56
  if (typeof name !== 'string') {
60
57
  settings = provider;
61
58
  provider = name;
62
59
  name = next++;
63
60
  }
64
- var id = piral_core_1.buildName(pilet, name);
65
- context.registerSearchProvider(id, createSearchRegistration(pilet, function (q) {
66
- return Promise.resolve(provider(q, api)).then(function (results) { return wrapResults(results, api, context); }, function () { return []; });
67
- }, settings));
68
- return function () { return api.unregisterSearchProvider(name); };
61
+ const id = (0, piral_core_1.buildName)(pilet, name);
62
+ context.registerSearchProvider(id, createSearchRegistration(pilet, (q) => Promise.resolve(provider(q, api)).then((results) => wrapResults(results, api, context), () => []), settings));
63
+ return () => api.unregisterSearchProvider(name);
69
64
  },
70
- unregisterSearchProvider: function (name) {
71
- var id = piral_core_1.buildName(pilet, name);
65
+ unregisterSearchProvider(name) {
66
+ const id = (0, piral_core_1.buildName)(pilet, name);
72
67
  context.unregisterSearchProvider(id);
73
68
  },
74
69
  };
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;;AAAA,2CAAoC;AACpC,iCAAkE;AAClE,2CAAiG;AACjG,uCAA0C;AAC1C,uCAA0E;AAsD1E,SAAS,IAAI,KAAI,CAAC;AAElB,SAAS,wBAAwB,CAC/B,KAAa,EACb,MAAqB,EACrB,WAA2B,EAAE;IAE7B,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,KAAc,QAAQ,EAAjB,IAAI,uBAAK,QAAQ,EAA9E,wCAAmE,CAAW,CAAC;IACrF,uCACK,IAAI,KACP,KAAK;QACL,aAAa,EACb,MAAM,EAAE,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAC1C,KAAK,EAAE,IAAA,mBAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACvC,MAAM,IACN;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAuC;IACjE,MAAM,eAAe,GAAqC,EAAE,CAAC;IAC7D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE;QAC5C,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC1F;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,OAAO,CAAC,OAAyB,EAAE,GAAa,EAAE,OAA2B;IACpF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;QAC1D,OAAO,OAAO,CAAC;KAChB;SAAM;QACL,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9D,OAAO,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC;KACjC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,MAAkD,EAClD,GAAa,EACb,OAA2B;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAuB,EAAE;IACvD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,KAAsB,MAAM,EAAvB,YAAY,uBAAK,MAAM,EAAtE,iCAA6D,CAAS,CAAC;IAE7E,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,IAAA,uBAAa,EAAC,YAAY,CAAC,CAAC,CAAC;QAEnD,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACvB,KAAK,KACR,UAAU,kBACR,eAAe,EAAE,0BAAgB,EACjC,WAAW,EAAE,sBAAY,EACzB,YAAY,EAAE,uBAAa,IACxB,KAAK,CAAC,UAAU,GAErB,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,eAAe,EAAE,kBAAkB,CAAC,SAAS,CAAC,KAEhD,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,OAAO;iBACf;aACF,IACD,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,OAAO;gBACL,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAS;oBAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,QAAQ,GAAG,QAAQ,CAAC;wBACpB,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,GAAG,IAAI,EAAE,CAAC;qBACf;oBAED,MAAM,EAAE,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,sBAAsB,CAC5B,EAAE,EACF,wBAAwB,CACtB,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAC/C,GAAG,EAAE,CAAC,EAAE,CACT,EACH,QAAQ,CACT,CACF,CAAC;oBACF,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;gBACD,wBAAwB,CAAC,IAAI;oBAC3B,MAAM,EAAE,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA7DD,0CA6DC"}
package/lib/default.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultInput = exports.DefaultResult = exports.DefaultContainer = void 0;
4
- var React = require("react");
5
- var piral_core_1 = require("piral-core");
6
- var DefaultContainer = function (props) { return piral_core_1.defaultRender(props.children); };
4
+ const React = require("react");
5
+ const piral_core_1 = require("piral-core");
6
+ const DefaultContainer = (props) => (0, piral_core_1.defaultRender)(props.children);
7
7
  exports.DefaultContainer = DefaultContainer;
8
- var DefaultResult = function (props) { return piral_core_1.defaultRender(props.children); };
8
+ const DefaultResult = (props) => (0, piral_core_1.defaultRender)(props.children);
9
9
  exports.DefaultResult = DefaultResult;
10
- var DefaultInput = function (props) { return (React.createElement("input", { onChange: function (e) { return props.setValue(e.target.value); }, value: props.value })); };
10
+ const DefaultInput = (props) => (React.createElement("input", { onChange: (e) => props.setValue(e.target.value), value: props.value }));
11
11
  exports.DefaultInput = DefaultInput;
12
12
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,yCAA2C;AAGpC,IAAM,gBAAgB,GAAmC,UAAC,KAAK,IAAK,OAAA,0BAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC;AAA5F,QAAA,gBAAgB,oBAA4E;AAClG,IAAM,aAAa,GAAgC,UAAC,KAAK,IAAK,OAAA,0BAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC;AAAtF,QAAA,aAAa,iBAAyE;AAC5F,IAAM,YAAY,GAA+B,UAAC,KAAK,IAAK,OAAA,CACjE,+BAAO,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAA9B,CAA8B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAC/E,EAFkE,CAElE,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAA2C;AAGpC,MAAM,gBAAgB,GAAmC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAA5F,QAAA,gBAAgB,oBAA4E;AAClG,MAAM,aAAa,GAAgC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAtF,QAAA,aAAa,iBAAyE;AAC5F,MAAM,YAAY,GAA+B,CAAC,KAAK,EAAE,EAAE,CAAC,CACjE,+BAAO,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAC/E,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
package/lib/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./create"), exports);
5
- tslib_1.__exportStar(require("./components"), exports);
6
- tslib_1.__exportStar(require("./SearchInput"), exports);
7
- tslib_1.__exportStar(require("./Search"), exports);
8
- tslib_1.__exportStar(require("./types"), exports);
9
- tslib_1.__exportStar(require("./useSearch"), exports);
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./create"), exports);
5
+ (0, tslib_1.__exportStar)(require("./components"), exports);
6
+ (0, tslib_1.__exportStar)(require("./SearchInput"), exports);
7
+ (0, tslib_1.__exportStar)(require("./Search"), exports);
8
+ (0, tslib_1.__exportStar)(require("./types"), exports);
9
+ (0, tslib_1.__exportStar)(require("./useSearch"), exports);
10
10
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,uDAA6B;AAC7B,wDAA8B;AAC9B,mDAAyB;AACzB,kDAAwB;AACxB,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,4DAA6B;AAC7B,6DAA8B;AAC9B,wDAAyB;AACzB,uDAAwB;AACxB,2DAA4B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hook that returns the debounced (i.e., delayed) value.
3
+ * Useful when user input should not fire immediately, but rather
4
+ * only after a certain timespan without any changes passed.
5
+ * @param value The value to consider.
6
+ * @param delay The timespan to pass before applying the value.
7
+ */
8
+ export declare function useDebounce<T>(value: T, delay?: number): T;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDebounce = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Hook that returns the debounced (i.e., delayed) value.
7
+ * Useful when user input should not fire immediately, but rather
8
+ * only after a certain timespan without any changes passed.
9
+ * @param value The value to consider.
10
+ * @param delay The timespan to pass before applying the value.
11
+ */
12
+ function useDebounce(value, delay = 300) {
13
+ const [debouncedValue, setDebouncedValue] = (0, react_1.useState)(value);
14
+ (0, react_1.useEffect)(() => {
15
+ const handler = setTimeout(() => setDebouncedValue(value), delay);
16
+ return () => clearTimeout(handler);
17
+ }, [value, delay]);
18
+ return debouncedValue;
19
+ }
20
+ exports.useDebounce = useDebounce;
21
+ //# sourceMappingURL=useDebounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../src/useDebounce.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAE5C;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,KAAQ,EAAE,KAAK,GAAG,GAAG;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC;AATD,kCASC"}
package/lib/useSearch.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSearch = void 0;
4
- var react_1 = require("react");
5
- var piral_core_1 = require("piral-core");
4
+ const react_1 = require("react");
5
+ const piral_core_1 = require("piral-core");
6
+ const useDebounce_1 = require("./useDebounce");
6
7
  /**
7
8
  * Hook that yields the possibility of searching in Piral.
8
9
  * Returns the current (live, i.e., non-debounced) input value
@@ -14,11 +15,11 @@ var piral_core_1 = require("piral-core");
14
15
  * @param delay The delay [ms] to be used for the debounce.
15
16
  */
16
17
  function useSearch(delay) {
17
- var _a = piral_core_1.useActions(), setSearchInput = _a.setSearchInput, triggerSearch = _a.triggerSearch;
18
- var searchInput = piral_core_1.useGlobalState(function (m) { return m.search.input; });
19
- var query = piral_core_1.useDebounce(searchInput, delay);
20
- var cancel = react_1.useRef(undefined);
21
- react_1.useEffect(function () {
18
+ const { setSearchInput, triggerSearch } = (0, piral_core_1.useActions)();
19
+ const searchInput = (0, piral_core_1.useGlobalState)((m) => m.search.input);
20
+ const query = (0, useDebounce_1.useDebounce)(searchInput, delay);
21
+ const cancel = (0, react_1.useRef)(undefined);
22
+ (0, react_1.useEffect)(() => {
22
23
  cancel.current && cancel.current();
23
24
  cancel.current = triggerSearch(query, false);
24
25
  }, [query]);
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../src/useSearch.ts"],"names":[],"mappings":";;;AAAA,+BAA0C;AAC1C,yCAAiF;AAEjF;;;;;;;;;GASG;AACH,SAAgB,SAAS,CAAC,KAAc;IAChC,IAAA,KAAoC,uBAAU,EAAE,EAA9C,cAAc,oBAAA,EAAE,aAAa,mBAAiB,CAAC;IACvD,IAAM,WAAW,GAAG,2BAAc,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,KAAK,EAAd,CAAc,CAAC,CAAC;IAC1D,IAAM,KAAK,GAAG,wBAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAM,MAAM,GAAG,cAAM,CAAa,SAAS,CAAC,CAAC;IAE7C,iBAAS,CAAC;QACR,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC;AAZD,8BAYC"}
1
+ {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../src/useSearch.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,2CAAoE;AACpE,+CAA4C;AAE5C;;;;;;;;;GASG;AACH,SAAgB,SAAS,CAAC,KAAc;IACtC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAA,uBAAU,GAAE,CAAC;IACvD,MAAM,WAAW,GAAG,IAAA,2BAAc,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,cAAM,EAAa,SAAS,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC;AAZD,8BAYC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-search",
3
- "version": "0.14.0-pre.2998",
3
+ "version": "0.14.0-pre.3079",
4
4
  "description": "Plugin for centralizing search in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -41,10 +41,10 @@
41
41
  "test": "echo \"Error: run tests from root\" && exit 1"
42
42
  },
43
43
  "devDependencies": {
44
- "piral-core": "^0.14.0-pre.2998"
44
+ "piral-core": "^0.14.0-pre.3079"
45
45
  },
46
46
  "peerDependencies": {
47
- "piral-core": "0.13.x"
47
+ "piral-core": "0.14.x"
48
48
  },
49
- "gitHead": "66f96a47afa8b44da643d3fa9c6da99095d8fb64"
49
+ "gitHead": "d9d31abfd290494a188209094b5fe54b86aedf5a"
50
50
  }
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+ import { useDebounce } from './useDebounce';
3
+
4
+ jest.mock('react');
5
+
6
+ describe('Debounce Hook Module', () => {
7
+ it('just returns initial value if nothing has been changed', () => {
8
+ const usedEffect = jest.fn();
9
+ const usedState = jest.fn((value) => [value]);
10
+ (React as any).useState = usedState;
11
+ (React as any).useEffect = usedEffect;
12
+ const result = useDebounce('foo');
13
+ expect(usedEffect).toHaveBeenCalled();
14
+ expect(usedState).toHaveBeenCalled();
15
+ expect(result).toBe('foo');
16
+ });
17
+
18
+ it('invokes useEffect immediately, but does not set value immediately', () => {
19
+ const usedEffect = jest.fn((fn) => fn());
20
+ const setValue = jest.fn();
21
+ const usedState = jest.fn((value) => [value, setValue]);
22
+ (React as any).useState = usedState;
23
+ (React as any).useEffect = usedEffect;
24
+ useDebounce('foo');
25
+ expect(setValue).not.toHaveBeenCalled();
26
+ });
27
+
28
+ it('invokes useEffect immediately, but sets value immediately if 0', () => {
29
+ jest.useFakeTimers();
30
+ const usedEffect = jest.fn((fn) => fn());
31
+ const setValue = jest.fn();
32
+ const usedState = jest.fn((value) => [value, setValue]);
33
+ (React as any).useState = usedState;
34
+ (React as any).useEffect = usedEffect;
35
+ useDebounce('foo', 0);
36
+ jest.advanceTimersByTime(0);
37
+ expect(setValue).toHaveBeenCalled();
38
+ });
39
+
40
+ it('invokes useEffect immediately, but sets value after wait time', () => {
41
+ jest.useFakeTimers();
42
+ const usedEffect = jest.fn((fn) => fn());
43
+ const setValue = jest.fn();
44
+ const usedState = jest.fn((value) => [value, setValue]);
45
+ (React as any).useState = usedState;
46
+ (React as any).useEffect = usedEffect;
47
+ expect(setValue).not.toHaveBeenCalled();
48
+ useDebounce('foo', 300);
49
+ jest.advanceTimersByTime(300);
50
+ expect(setValue).toHaveBeenCalled();
51
+ });
52
+
53
+ it('invokes useEffect immediately and resets timer if needed', () => {
54
+ jest.useFakeTimers();
55
+ const usedEffect = jest.fn((fn) => fn());
56
+ const setValue = jest.fn();
57
+ const usedState = jest.fn((value) => [value, setValue]);
58
+ (React as any).useState = usedState;
59
+ (React as any).useEffect = usedEffect;
60
+ expect(setValue).not.toHaveBeenCalled();
61
+ useDebounce('foo', 300);
62
+ jest.advanceTimersByTime(250);
63
+ usedEffect.mock.results[0].value();
64
+ jest.advanceTimersByTime(50);
65
+ expect(setValue).not.toHaveBeenCalled();
66
+ });
67
+ });
@@ -0,0 +1,19 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ /**
4
+ * Hook that returns the debounced (i.e., delayed) value.
5
+ * Useful when user input should not fire immediately, but rather
6
+ * only after a certain timespan without any changes passed.
7
+ * @param value The value to consider.
8
+ * @param delay The timespan to pass before applying the value.
9
+ */
10
+ export function useDebounce<T>(value: T, delay = 300) {
11
+ const [debouncedValue, setDebouncedValue] = useState(value);
12
+
13
+ useEffect(() => {
14
+ const handler = setTimeout(() => setDebouncedValue(value), delay);
15
+ return () => clearTimeout(handler);
16
+ }, [value, delay]);
17
+
18
+ return debouncedValue;
19
+ }
@@ -21,10 +21,13 @@ const useDebounce = jest.fn((value) => value);
21
21
  jest.mock('piral-core', () => ({
22
22
  ...jest.requireActual('piral-core'),
23
23
  useGlobalState,
24
- useDebounce,
25
24
  useActions,
26
25
  }));
27
26
 
27
+ jest.mock('./useDebounce.ts', () => ({
28
+ useDebounce,
29
+ }));
30
+
28
31
  describe('Search Hook Module', () => {
29
32
  it('just returns current input value', () => {
30
33
  const { useSearch } = require('./useSearch');
package/src/useSearch.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
- import { useGlobalState, useDebounce, useActions, Disposable } from 'piral-core';
2
+ import { useGlobalState, useActions, Disposable } from 'piral-core';
3
+ import { useDebounce } from './useDebounce';
3
4
 
4
5
  /**
5
6
  * Hook that yields the possibility of searching in Piral.