@algolia/autocomplete-plugin-tags 1.19.7 → 1.19.8

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.
@@ -1,15 +1,15 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
3
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ 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; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import { createRef } from '@algolia/autocomplete-shared';
14
14
  export function createTags(_ref) {
15
15
  var _ref$initialTags = _ref.initialTags,
@@ -1,9 +1,9 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ 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; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  /** @jsx createElement */
8
8
 
9
9
  import { noop } from '@algolia/autocomplete-shared';
package/dist/theme.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-plugin-tags 1.19.7 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-tags 1.19.8 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  [data-autocomplete-source-id=tagsPlugin] {
3
3
  margin-bottom: var(--aa-spacing-half);
4
4
  }
@@ -1,2 +1,2 @@
1
- /*! @algolia/autocomplete-plugin-tags 1.19.7 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-tags 1.19.8 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  [data-autocomplete-source-id=tagsPlugin]{margin-bottom:var(--aa-spacing-half)}[data-autocomplete-source-id=tagsPlugin] .aa-List{display:flex;flex-wrap:wrap;margin:calc(var(--aa-spacing-half)/2*-1)}[data-autocomplete-source-id=tagsPlugin] .aa-Item{background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha));margin:calc(var(--aa-spacing-half)/2);min-height:auto}[data-autocomplete-source-id=tagsPlugin] .aa-Item[aria-selected=true]{background-color:rgba(var(--aa-selected-color-rgb),.55)}.aa-TagsPlugin-Tag{align-items:center;display:flex;padding-left:var(--aa-spacing-half)}.aa-TagsPlugin-TagLabel{font-size:.8em}.aa-TagsPlugin-RemoveButton{cursor:pointer}.aa-TagsPlugin-RemoveButton svg{color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:calc(var(--aa-spacing)/3);stroke-width:var(--aa-icon-stroke-width);width:calc(var(--aa-action-icon-size)/1.5)}.aa-TagsPlugin-RemoveButton:focus svg,.aa-TagsPlugin-RemoveButton:hover svg{color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-TagsPlugin-RemoveButton:focus,.aa-TagsPlugin-RemoveButton:hover{color:inherit}}
@@ -1,83 +1,76 @@
1
- /*! @algolia/autocomplete-plugin-tags 1.19.7 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-tags 1.19.8 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
5
5
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@algolia/autocomplete-plugin-tags"] = {}));
6
6
  })(this, (function (exports) { 'use strict';
7
7
 
8
- function ownKeys(object, enumerableOnly) {
9
- var keys = Object.keys(object);
10
- if (Object.getOwnPropertySymbols) {
11
- var symbols = Object.getOwnPropertySymbols(object);
12
- enumerableOnly && (symbols = symbols.filter(function (sym) {
13
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
14
- })), keys.push.apply(keys, symbols);
15
- }
16
- return keys;
8
+ function _arrayLikeToArray(r, a) {
9
+ (null == a || a > r.length) && (a = r.length);
10
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
11
+ return n;
17
12
  }
18
- function _objectSpread2(target) {
19
- for (var i = 1; i < arguments.length; i++) {
20
- var source = null != arguments[i] ? arguments[i] : {};
21
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
22
- _defineProperty(target, key, source[key]);
23
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
24
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
25
- });
26
- }
27
- return target;
13
+ function _arrayWithoutHoles(r) {
14
+ if (Array.isArray(r)) return _arrayLikeToArray(r);
28
15
  }
29
- function _defineProperty(obj, key, value) {
30
- key = _toPropertyKey(key);
31
- if (key in obj) {
32
- Object.defineProperty(obj, key, {
33
- value: value,
34
- enumerable: true,
35
- configurable: true,
36
- writable: true
37
- });
38
- } else {
39
- obj[key] = value;
40
- }
41
- return obj;
42
- }
43
- function _toConsumableArray(arr) {
44
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
16
+ function _defineProperty(e, r, t) {
17
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
18
+ value: t,
19
+ enumerable: !0,
20
+ configurable: !0,
21
+ writable: !0
22
+ }) : e[r] = t, e;
45
23
  }
46
- function _arrayWithoutHoles(arr) {
47
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
24
+ function _iterableToArray(r) {
25
+ if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
48
26
  }
49
- function _iterableToArray(iter) {
50
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
+ function _nonIterableSpread() {
28
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
29
  }
52
- function _unsupportedIterableToArray(o, minLen) {
53
- if (!o) return;
54
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
55
- var n = Object.prototype.toString.call(o).slice(8, -1);
56
- if (n === "Object" && o.constructor) n = o.constructor.name;
57
- if (n === "Map" || n === "Set") return Array.from(o);
58
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
30
+ function ownKeys(e, r) {
31
+ var t = Object.keys(e);
32
+ if (Object.getOwnPropertySymbols) {
33
+ var o = Object.getOwnPropertySymbols(e);
34
+ r && (o = o.filter(function (r) {
35
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
36
+ })), t.push.apply(t, o);
37
+ }
38
+ return t;
59
39
  }
60
- function _arrayLikeToArray(arr, len) {
61
- if (len == null || len > arr.length) len = arr.length;
62
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
63
- return arr2;
40
+ function _objectSpread2(e) {
41
+ for (var r = 1; r < arguments.length; r++) {
42
+ var t = null != arguments[r] ? arguments[r] : {};
43
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
44
+ _defineProperty(e, r, t[r]);
45
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
46
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
47
+ });
48
+ }
49
+ return e;
64
50
  }
65
- function _nonIterableSpread() {
66
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
+ function _toConsumableArray(r) {
52
+ return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
67
53
  }
68
- function _toPrimitive(input, hint) {
69
- if (typeof input !== "object" || input === null) return input;
70
- var prim = input[Symbol.toPrimitive];
71
- if (prim !== undefined) {
72
- var res = prim.call(input, hint || "default");
73
- if (typeof res !== "object") return res;
54
+ function _toPrimitive(t, r) {
55
+ if ("object" != typeof t || !t) return t;
56
+ var e = t[Symbol.toPrimitive];
57
+ if (void 0 !== e) {
58
+ var i = e.call(t, r || "default");
59
+ if ("object" != typeof i) return i;
74
60
  throw new TypeError("@@toPrimitive must return a primitive value.");
75
61
  }
76
- return (hint === "string" ? String : Number)(input);
62
+ return ("string" === r ? String : Number)(t);
77
63
  }
78
- function _toPropertyKey(arg) {
79
- var key = _toPrimitive(arg, "string");
80
- return typeof key === "symbol" ? key : String(key);
64
+ function _toPropertyKey(t) {
65
+ var i = _toPrimitive(t, "string");
66
+ return "symbol" == typeof i ? i : i + "";
67
+ }
68
+ function _unsupportedIterableToArray(r, a) {
69
+ if (r) {
70
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
71
+ var t = {}.toString.call(r).slice(8, -1);
72
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
73
+ }
81
74
  }
82
75
 
83
76
  function createRef(initialValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createTags.ts","../../src/createTagsPlugin.tsx"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export var noop = function noop() {};","import { BaseItem } from '@algolia/autocomplete-core';\nimport { createRef } from '@algolia/autocomplete-shared';\n\nimport { CreateTagsPluginParams } from './createTagsPlugin';\nimport { DefaultTagType, BaseTag, Tag } from './types';\n\nexport type OnTagsChangeParams<TTag extends DefaultTagType = DefaultTagType> = {\n prevTags: Array<Tag<TTag>>;\n tags: Array<Tag<TTag>>;\n};\n\ntype OnTagsChangeListener<TTag extends DefaultTagType = DefaultTagType> = (\n params: OnTagsChangeParams<TTag>\n) => void;\n\ntype CreateTagsParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n> = Pick<CreateTagsPluginParams<TItem, TTag>, 'initialTags'>;\n\nexport function createTags<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>({ initialTags = [] }: CreateTagsParams<TItem, TTag>) {\n const tagsRef = createRef(mapToTags(initialTags));\n const onChangeListeners: Array<OnTagsChangeListener<TTag>> = [];\n\n function mapToTags<TTag extends DefaultTagType = DefaultTagType>(\n baseTags: Array<BaseTag<TTag>>\n ): Array<Tag<TTag>> {\n return baseTags.map((baseTag) => {\n const tag = {\n ...baseTag,\n remove() {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = tagsRef.current.filter(\n (tagRef) => tag !== (tagRef as unknown as Tag<TTag>)\n );\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n };\n\n return tag;\n });\n }\n\n return {\n get() {\n return tagsRef.current;\n },\n set(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = mapToTags(baseTags);\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n add(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current.push(...mapToTags(baseTags));\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n onChange(listener: OnTagsChangeListener<TTag>) {\n onChangeListeners.push(listener);\n },\n };\n}\n","/** @jsx createElement */\nimport { BaseItem, PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompletePlugin,\n AutocompleteSource,\n AutocompleteState,\n} from '@algolia/autocomplete-js';\nimport { noop } from '@algolia/autocomplete-shared';\n\nimport { createTags, OnTagsChangeParams } from './createTags';\nimport type { DefaultTagType, BaseTag, Tag } from './types';\n\ntype OnChangeParams<TTag extends DefaultTagType = DefaultTagType> =\n PluginSubscribeParams<any> & OnTagsChangeParams<TTag>;\n\ntype GetTagParams<TItem extends BaseItem> = { item: TItem };\n\ntype TagsPluginData<TTag extends DefaultTagType = DefaultTagType> = {\n /**\n * Returns the current list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-tags\n */\n tags: Array<Tag<TTag>>;\n /**\n * Adds tags to the list.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-addtags\n */\n addTags: (tags: Array<BaseTag<TTag>>) => void;\n /**\n * Sets the list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-settags\n */\n setTags: (tags: Array<BaseTag<TTag>>) => void;\n};\n\nexport type TagsApi<TTag extends DefaultTagType = DefaultTagType> =\n TagsPluginData<TTag>;\n\nexport type CreateTagsPluginParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType\n> = {\n /**\n * A set of initial tags to pass to the plugin.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-initialtags\n */\n initialTags?: Array<BaseTag<TTag>>;\n /**\n * A function to specify what sources the plugin should subscribe to. The plugin adds a tag when selecting an item from these sources.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-gettagssubscribers\n */\n getTagsSubscribers?(): Array<{\n sourceId: string;\n getTag(params: GetTagParams<TItem>): BaseTag<TTag>;\n }>;\n /**\n * A function to transform the returned tags source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<Tag<TTag>>;\n state: AutocompleteState<Tag<TTag>>;\n }): AutocompleteSource<Tag<TTag>> | undefined;\n /**\n * A function called when the list of tags changes.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-onchange\n */\n onChange?(params: OnChangeParams<TTag>): void;\n};\n\nexport function createTagsPlugin<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(\n options: CreateTagsPluginParams<TItem, TTag> = {}\n): AutocompletePlugin<Tag<TTag>, TagsPluginData<TTag>> {\n const { initialTags, getTagsSubscribers, transformSource, onChange } =\n getOptions(options);\n const tags = createTags({ initialTags });\n const tagsApi = { setTags: tags.set, addTags: tags.add };\n\n return {\n name: 'aa.tagsPlugin',\n subscribe(params) {\n const { setContext, onSelect, setIsOpen, refresh } = params;\n const subscribers = getTagsSubscribers();\n\n setContext({ tagsPlugin: { ...tagsApi, tags: tags.get() } });\n\n onSelect(({ source, item }) => {\n const subscriber = subscribers.find(\n ({ sourceId }) => sourceId === source.sourceId\n );\n\n if (subscriber) {\n tags.add([subscriber.getTag({ item })]);\n }\n });\n\n tags.onChange(({ prevTags }) => {\n setContext({\n tagsPlugin: { ...tagsApi, tags: tags.get() },\n });\n\n setIsOpen(true);\n onChange({ ...params, prevTags, tags: tags.get() });\n refresh();\n });\n },\n getSources({ state }) {\n return [\n transformSource({\n source: {\n sourceId: 'tagsPlugin',\n getItems() {\n return tags.get();\n },\n onSelect({ item }) {\n item.remove();\n },\n templates: {\n item({ item, createElement }) {\n return (\n <div className=\"aa-TagsPlugin-Tag\">\n <span className=\"aa-TagsPlugin-TagLabel\">{item.label}</span>\n <button\n type=\"button\"\n className=\"aa-TagsPlugin-RemoveButton\"\n title=\"Remove this tag\"\n >\n <svg\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M18 6L6 18\"></path>\n <path d=\"M6 6L18 18\"></path>\n </svg>\n </button>\n </div>\n );\n },\n },\n },\n state: state as AutocompleteState<Tag<TTag>>,\n }),\n ];\n },\n data: {\n ...tagsApi,\n get tags() {\n return tags.get();\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(options: CreateTagsPluginParams<TItem, TTag>) {\n return {\n initialTags: [],\n getTagsSubscribers: () => [],\n transformSource: ({ source }) => source,\n onChange: noop,\n ...options,\n };\n}\n"],"names":["createRef","initialValue","current","noop","createTags","_ref","_ref$initialTags","initialTags","tagsRef","mapToTags","onChangeListeners","baseTags","map","baseTag","tag","_objectSpread","remove","prevTags","slice","filter","tagRef","forEach","listener","tags","get","set","add","_tagsRef$current","push","apply","_toConsumableArray","onChange","createTagsPlugin","options","arguments","length","undefined","_getOptions","getOptions","getTagsSubscribers","transformSource","tagsApi","setTags","addTags","name","subscribe","params","setContext","onSelect","setIsOpen","refresh","subscribers","tagsPlugin","source","item","subscriber","find","_ref2","sourceId","getTag","_ref3","getSources","_ref4","state","getItems","_ref5","templates","_ref6","createElement","className","label","type","title","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","d","data","__autocomplete_pluginOptions","_ref7"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createTags.ts","../../src/createTagsPlugin.tsx"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export var noop = function noop() {};","import { BaseItem } from '@algolia/autocomplete-core';\nimport { createRef } from '@algolia/autocomplete-shared';\n\nimport { CreateTagsPluginParams } from './createTagsPlugin';\nimport { DefaultTagType, BaseTag, Tag } from './types';\n\nexport type OnTagsChangeParams<TTag extends DefaultTagType = DefaultTagType> = {\n prevTags: Array<Tag<TTag>>;\n tags: Array<Tag<TTag>>;\n};\n\ntype OnTagsChangeListener<TTag extends DefaultTagType = DefaultTagType> = (\n params: OnTagsChangeParams<TTag>\n) => void;\n\ntype CreateTagsParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n> = Pick<CreateTagsPluginParams<TItem, TTag>, 'initialTags'>;\n\nexport function createTags<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>({ initialTags = [] }: CreateTagsParams<TItem, TTag>) {\n const tagsRef = createRef(mapToTags(initialTags));\n const onChangeListeners: Array<OnTagsChangeListener<TTag>> = [];\n\n function mapToTags<TTag extends DefaultTagType = DefaultTagType>(\n baseTags: Array<BaseTag<TTag>>\n ): Array<Tag<TTag>> {\n return baseTags.map((baseTag) => {\n const tag = {\n ...baseTag,\n remove() {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = tagsRef.current.filter(\n (tagRef) => tag !== (tagRef as unknown as Tag<TTag>)\n );\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n };\n\n return tag;\n });\n }\n\n return {\n get() {\n return tagsRef.current;\n },\n set(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = mapToTags(baseTags);\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n add(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current.push(...mapToTags(baseTags));\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n onChange(listener: OnTagsChangeListener<TTag>) {\n onChangeListeners.push(listener);\n },\n };\n}\n","/** @jsx createElement */\nimport { BaseItem, PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompletePlugin,\n AutocompleteSource,\n AutocompleteState,\n} from '@algolia/autocomplete-js';\nimport { noop } from '@algolia/autocomplete-shared';\n\nimport { createTags, OnTagsChangeParams } from './createTags';\nimport type { DefaultTagType, BaseTag, Tag } from './types';\n\ntype OnChangeParams<TTag extends DefaultTagType = DefaultTagType> =\n PluginSubscribeParams<any> & OnTagsChangeParams<TTag>;\n\ntype GetTagParams<TItem extends BaseItem> = { item: TItem };\n\ntype TagsPluginData<TTag extends DefaultTagType = DefaultTagType> = {\n /**\n * Returns the current list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-tags\n */\n tags: Array<Tag<TTag>>;\n /**\n * Adds tags to the list.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-addtags\n */\n addTags: (tags: Array<BaseTag<TTag>>) => void;\n /**\n * Sets the list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-settags\n */\n setTags: (tags: Array<BaseTag<TTag>>) => void;\n};\n\nexport type TagsApi<TTag extends DefaultTagType = DefaultTagType> =\n TagsPluginData<TTag>;\n\nexport type CreateTagsPluginParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType\n> = {\n /**\n * A set of initial tags to pass to the plugin.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-initialtags\n */\n initialTags?: Array<BaseTag<TTag>>;\n /**\n * A function to specify what sources the plugin should subscribe to. The plugin adds a tag when selecting an item from these sources.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-gettagssubscribers\n */\n getTagsSubscribers?(): Array<{\n sourceId: string;\n getTag(params: GetTagParams<TItem>): BaseTag<TTag>;\n }>;\n /**\n * A function to transform the returned tags source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<Tag<TTag>>;\n state: AutocompleteState<Tag<TTag>>;\n }): AutocompleteSource<Tag<TTag>> | undefined;\n /**\n * A function called when the list of tags changes.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-onchange\n */\n onChange?(params: OnChangeParams<TTag>): void;\n};\n\nexport function createTagsPlugin<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(\n options: CreateTagsPluginParams<TItem, TTag> = {}\n): AutocompletePlugin<Tag<TTag>, TagsPluginData<TTag>> {\n const { initialTags, getTagsSubscribers, transformSource, onChange } =\n getOptions(options);\n const tags = createTags({ initialTags });\n const tagsApi = { setTags: tags.set, addTags: tags.add };\n\n return {\n name: 'aa.tagsPlugin',\n subscribe(params) {\n const { setContext, onSelect, setIsOpen, refresh } = params;\n const subscribers = getTagsSubscribers();\n\n setContext({ tagsPlugin: { ...tagsApi, tags: tags.get() } });\n\n onSelect(({ source, item }) => {\n const subscriber = subscribers.find(\n ({ sourceId }) => sourceId === source.sourceId\n );\n\n if (subscriber) {\n tags.add([subscriber.getTag({ item })]);\n }\n });\n\n tags.onChange(({ prevTags }) => {\n setContext({\n tagsPlugin: { ...tagsApi, tags: tags.get() },\n });\n\n setIsOpen(true);\n onChange({ ...params, prevTags, tags: tags.get() });\n refresh();\n });\n },\n getSources({ state }) {\n return [\n transformSource({\n source: {\n sourceId: 'tagsPlugin',\n getItems() {\n return tags.get();\n },\n onSelect({ item }) {\n item.remove();\n },\n templates: {\n item({ item, createElement }) {\n return (\n <div className=\"aa-TagsPlugin-Tag\">\n <span className=\"aa-TagsPlugin-TagLabel\">{item.label}</span>\n <button\n type=\"button\"\n className=\"aa-TagsPlugin-RemoveButton\"\n title=\"Remove this tag\"\n >\n <svg\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M18 6L6 18\"></path>\n <path d=\"M6 6L18 18\"></path>\n </svg>\n </button>\n </div>\n );\n },\n },\n },\n state: state as AutocompleteState<Tag<TTag>>,\n }),\n ];\n },\n data: {\n ...tagsApi,\n get tags() {\n return tags.get();\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(options: CreateTagsPluginParams<TItem, TTag>) {\n return {\n initialTags: [],\n getTagsSubscribers: () => [],\n transformSource: ({ source }) => source,\n onChange: noop,\n ...options,\n };\n}\n"],"names":["createRef","initialValue","current","noop","createTags","_ref","_ref$initialTags","initialTags","tagsRef","mapToTags","onChangeListeners","baseTags","map","baseTag","tag","_objectSpread","remove","prevTags","slice","filter","tagRef","forEach","listener","tags","get","set","add","_tagsRef$current","push","apply","_toConsumableArray","onChange","createTagsPlugin","options","arguments","length","undefined","_getOptions","getOptions","getTagsSubscribers","transformSource","tagsApi","setTags","addTags","name","subscribe","params","setContext","onSelect","setIsOpen","refresh","subscribers","tagsPlugin","source","item","subscriber","find","_ref2","sourceId","getTag","_ref3","getSources","_ref4","state","getItems","_ref5","templates","_ref6","createElement","className","label","type","title","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","d","data","__autocomplete_pluginOptions","_ref7"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-plugin-tags 1.19.7 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["@algolia/autocomplete-plugin-tags"]={})}(this,(function(t){"use strict";function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var u=function(){};function a(t){var e=t.initialTags,n={current:u(void 0===e?[]:e)},i=[];function u(t){return t.map((function(t){var e=r(r({},t),{},{remove:function(){var t=n.current.slice();n.current=n.current.filter((function(t){return e!==t})),i.forEach((function(e){return e({prevTags:t,tags:n.current})}))}});return e}))}return{get:function(){return n.current},set:function(t){var e=n.current.slice();n.current=u(t),i.forEach((function(t){return t({prevTags:e,tags:n.current})}))},add:function(t){var e,r=n.current.slice();(e=n.current).push.apply(e,o(u(t))),i.forEach((function(t){return t({prevTags:r,tags:n.current})}))},onChange:function(t){i.push(t)}}}function c(t){return r({initialTags:[],getTagsSubscribers:function(){return[]},transformSource:function(t){return t.source},onChange:u},t)}t.createTagsPlugin=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=c(t),n=e.initialTags,o=e.getTagsSubscribers,i=e.transformSource,u=e.onChange,s=a({initialTags:n}),f={setTags:s.set,addTags:s.add};return{name:"aa.tagsPlugin",subscribe:function(t){var e=t.setContext,n=t.onSelect,i=t.setIsOpen,a=t.refresh,c=o();e({tagsPlugin:r(r({},f),{},{tags:s.get()})}),n((function(t){var e=t.source,r=t.item,n=c.find((function(t){return t.sourceId===e.sourceId}));n&&s.add([n.getTag({item:r})])})),s.onChange((function(n){var o=n.prevTags;e({tagsPlugin:r(r({},f),{},{tags:s.get()})}),i(!0),u(r(r({},t),{},{prevTags:o,tags:s.get()})),a()}))},getSources:function(t){var e=t.state;return[i({source:{sourceId:"tagsPlugin",getItems:function(){return s.get()},onSelect:function(t){t.item.remove()},templates:{item:function(t){var e=t.item,r=t.createElement;return r("div",{className:"aa-TagsPlugin-Tag"},r("span",{className:"aa-TagsPlugin-TagLabel"},e.label),r("button",{type:"button",className:"aa-TagsPlugin-RemoveButton",title:"Remove this tag"},r("svg",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},r("path",{d:"M18 6L6 18"}),r("path",{d:"M6 6L18 18"}))))}}},state:e})]},data:r(r({},f),{},{get tags(){return s.get()}}),__autocomplete_pluginOptions:t}},Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ /*! @algolia/autocomplete-plugin-tags 1.19.8 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["@algolia/autocomplete-plugin-tags"]={})}(this,(function(t){"use strict";function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function r(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach((function(e){r(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function i(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var a=function(){};function u(t){var e=t.initialTags,r={current:a(void 0===e?[]:e)},n=[];function a(t){return t.map((function(t){var e=o(o({},t),{},{remove:function(){var t=r.current.slice();r.current=r.current.filter((function(t){return e!==t})),n.forEach((function(e){return e({prevTags:t,tags:r.current})}))}});return e}))}return{get:function(){return r.current},set:function(t){var e=r.current.slice();r.current=a(t),n.forEach((function(t){return t({prevTags:e,tags:r.current})}))},add:function(t){var e,o=r.current.slice();(e=r.current).push.apply(e,i(a(t))),n.forEach((function(t){return t({prevTags:o,tags:r.current})}))},onChange:function(t){n.push(t)}}}function c(t){return o({initialTags:[],getTagsSubscribers:function(){return[]},transformSource:function(t){return t.source},onChange:a},t)}t.createTagsPlugin=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=c(t),r=e.initialTags,n=e.getTagsSubscribers,i=e.transformSource,a=e.onChange,s=u({initialTags:r}),f={setTags:s.set,addTags:s.add};return{name:"aa.tagsPlugin",subscribe:function(t){var e=t.setContext,r=t.onSelect,i=t.setIsOpen,u=t.refresh,c=n();e({tagsPlugin:o(o({},f),{},{tags:s.get()})}),r((function(t){var e=t.source,r=t.item,n=c.find((function(t){return t.sourceId===e.sourceId}));n&&s.add([n.getTag({item:r})])})),s.onChange((function(r){var n=r.prevTags;e({tagsPlugin:o(o({},f),{},{tags:s.get()})}),i(!0),a(o(o({},t),{},{prevTags:n,tags:s.get()})),u()}))},getSources:function(t){var e=t.state;return[i({source:{sourceId:"tagsPlugin",getItems:function(){return s.get()},onSelect:function(t){t.item.remove()},templates:{item:function(t){var e=t.item,r=t.createElement;return r("div",{className:"aa-TagsPlugin-Tag"},r("span",{className:"aa-TagsPlugin-TagLabel"},e.label),r("button",{type:"button",className:"aa-TagsPlugin-RemoveButton",title:"Remove this tag"},r("svg",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},r("path",{d:"M18 6L6 18"}),r("path",{d:"M6 6L18 18"}))))}}},state:e})]},data:o(o({},f),{},{get tags(){return s.get()}}),__autocomplete_pluginOptions:t}},Object.defineProperty(t,"__esModule",{value:!0})}));
3
3
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/noop.js","../../src/createTags.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../src/createTagsPlugin.tsx"],"sourcesContent":["export var noop = function noop() {};","import { BaseItem } from '@algolia/autocomplete-core';\nimport { createRef } from '@algolia/autocomplete-shared';\n\nimport { CreateTagsPluginParams } from './createTagsPlugin';\nimport { DefaultTagType, BaseTag, Tag } from './types';\n\nexport type OnTagsChangeParams<TTag extends DefaultTagType = DefaultTagType> = {\n prevTags: Array<Tag<TTag>>;\n tags: Array<Tag<TTag>>;\n};\n\ntype OnTagsChangeListener<TTag extends DefaultTagType = DefaultTagType> = (\n params: OnTagsChangeParams<TTag>\n) => void;\n\ntype CreateTagsParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n> = Pick<CreateTagsPluginParams<TItem, TTag>, 'initialTags'>;\n\nexport function createTags<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>({ initialTags = [] }: CreateTagsParams<TItem, TTag>) {\n const tagsRef = createRef(mapToTags(initialTags));\n const onChangeListeners: Array<OnTagsChangeListener<TTag>> = [];\n\n function mapToTags<TTag extends DefaultTagType = DefaultTagType>(\n baseTags: Array<BaseTag<TTag>>\n ): Array<Tag<TTag>> {\n return baseTags.map((baseTag) => {\n const tag = {\n ...baseTag,\n remove() {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = tagsRef.current.filter(\n (tagRef) => tag !== (tagRef as unknown as Tag<TTag>)\n );\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n };\n\n return tag;\n });\n }\n\n return {\n get() {\n return tagsRef.current;\n },\n set(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = mapToTags(baseTags);\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n add(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current.push(...mapToTags(baseTags));\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n onChange(listener: OnTagsChangeListener<TTag>) {\n onChangeListeners.push(listener);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","/** @jsx createElement */\nimport { BaseItem, PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompletePlugin,\n AutocompleteSource,\n AutocompleteState,\n} from '@algolia/autocomplete-js';\nimport { noop } from '@algolia/autocomplete-shared';\n\nimport { createTags, OnTagsChangeParams } from './createTags';\nimport type { DefaultTagType, BaseTag, Tag } from './types';\n\ntype OnChangeParams<TTag extends DefaultTagType = DefaultTagType> =\n PluginSubscribeParams<any> & OnTagsChangeParams<TTag>;\n\ntype GetTagParams<TItem extends BaseItem> = { item: TItem };\n\ntype TagsPluginData<TTag extends DefaultTagType = DefaultTagType> = {\n /**\n * Returns the current list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-tags\n */\n tags: Array<Tag<TTag>>;\n /**\n * Adds tags to the list.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-addtags\n */\n addTags: (tags: Array<BaseTag<TTag>>) => void;\n /**\n * Sets the list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-settags\n */\n setTags: (tags: Array<BaseTag<TTag>>) => void;\n};\n\nexport type TagsApi<TTag extends DefaultTagType = DefaultTagType> =\n TagsPluginData<TTag>;\n\nexport type CreateTagsPluginParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType\n> = {\n /**\n * A set of initial tags to pass to the plugin.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-initialtags\n */\n initialTags?: Array<BaseTag<TTag>>;\n /**\n * A function to specify what sources the plugin should subscribe to. The plugin adds a tag when selecting an item from these sources.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-gettagssubscribers\n */\n getTagsSubscribers?(): Array<{\n sourceId: string;\n getTag(params: GetTagParams<TItem>): BaseTag<TTag>;\n }>;\n /**\n * A function to transform the returned tags source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<Tag<TTag>>;\n state: AutocompleteState<Tag<TTag>>;\n }): AutocompleteSource<Tag<TTag>> | undefined;\n /**\n * A function called when the list of tags changes.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-onchange\n */\n onChange?(params: OnChangeParams<TTag>): void;\n};\n\nexport function createTagsPlugin<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(\n options: CreateTagsPluginParams<TItem, TTag> = {}\n): AutocompletePlugin<Tag<TTag>, TagsPluginData<TTag>> {\n const { initialTags, getTagsSubscribers, transformSource, onChange } =\n getOptions(options);\n const tags = createTags({ initialTags });\n const tagsApi = { setTags: tags.set, addTags: tags.add };\n\n return {\n name: 'aa.tagsPlugin',\n subscribe(params) {\n const { setContext, onSelect, setIsOpen, refresh } = params;\n const subscribers = getTagsSubscribers();\n\n setContext({ tagsPlugin: { ...tagsApi, tags: tags.get() } });\n\n onSelect(({ source, item }) => {\n const subscriber = subscribers.find(\n ({ sourceId }) => sourceId === source.sourceId\n );\n\n if (subscriber) {\n tags.add([subscriber.getTag({ item })]);\n }\n });\n\n tags.onChange(({ prevTags }) => {\n setContext({\n tagsPlugin: { ...tagsApi, tags: tags.get() },\n });\n\n setIsOpen(true);\n onChange({ ...params, prevTags, tags: tags.get() });\n refresh();\n });\n },\n getSources({ state }) {\n return [\n transformSource({\n source: {\n sourceId: 'tagsPlugin',\n getItems() {\n return tags.get();\n },\n onSelect({ item }) {\n item.remove();\n },\n templates: {\n item({ item, createElement }) {\n return (\n <div className=\"aa-TagsPlugin-Tag\">\n <span className=\"aa-TagsPlugin-TagLabel\">{item.label}</span>\n <button\n type=\"button\"\n className=\"aa-TagsPlugin-RemoveButton\"\n title=\"Remove this tag\"\n >\n <svg\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M18 6L6 18\"></path>\n <path d=\"M6 6L18 18\"></path>\n </svg>\n </button>\n </div>\n );\n },\n },\n },\n state: state as AutocompleteState<Tag<TTag>>,\n }),\n ];\n },\n data: {\n ...tagsApi,\n get tags() {\n return tags.get();\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(options: CreateTagsPluginParams<TItem, TTag>) {\n return {\n initialTags: [],\n getTagsSubscribers: () => [],\n transformSource: ({ source }) => source,\n onChange: noop,\n ...options,\n };\n}\n"],"names":["noop","createTags","_ref","_ref$initialTags","initialTags","tagsRef","current","mapToTags","onChangeListeners","baseTags","map","baseTag","tag","_objectSpread","remove","prevTags","slice","filter","tagRef","forEach","listener","tags","get","set","add","_tagsRef$current","push","apply","_toConsumableArray","onChange","getOptions","options","getTagsSubscribers","transformSource","_ref7","source","arguments","length","undefined","_getOptions","tagsApi","setTags","addTags","name","subscribe","params","setContext","onSelect","setIsOpen","refresh","subscribers","tagsPlugin","item","subscriber","find","_ref2","sourceId","getTag","_ref3","getSources","_ref4","state","getItems","_ref5","templates","_ref6","createElement","className","label","type","title","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","d","data","__autocomplete_pluginOptions"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/noop.js","../../src/createTags.ts","../../../autocomplete-shared/dist/esm/createRef.js","../../src/createTagsPlugin.tsx"],"sourcesContent":["export var noop = function noop() {};","import { BaseItem } from '@algolia/autocomplete-core';\nimport { createRef } from '@algolia/autocomplete-shared';\n\nimport { CreateTagsPluginParams } from './createTagsPlugin';\nimport { DefaultTagType, BaseTag, Tag } from './types';\n\nexport type OnTagsChangeParams<TTag extends DefaultTagType = DefaultTagType> = {\n prevTags: Array<Tag<TTag>>;\n tags: Array<Tag<TTag>>;\n};\n\ntype OnTagsChangeListener<TTag extends DefaultTagType = DefaultTagType> = (\n params: OnTagsChangeParams<TTag>\n) => void;\n\ntype CreateTagsParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n> = Pick<CreateTagsPluginParams<TItem, TTag>, 'initialTags'>;\n\nexport function createTags<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>({ initialTags = [] }: CreateTagsParams<TItem, TTag>) {\n const tagsRef = createRef(mapToTags(initialTags));\n const onChangeListeners: Array<OnTagsChangeListener<TTag>> = [];\n\n function mapToTags<TTag extends DefaultTagType = DefaultTagType>(\n baseTags: Array<BaseTag<TTag>>\n ): Array<Tag<TTag>> {\n return baseTags.map((baseTag) => {\n const tag = {\n ...baseTag,\n remove() {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = tagsRef.current.filter(\n (tagRef) => tag !== (tagRef as unknown as Tag<TTag>)\n );\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n };\n\n return tag;\n });\n }\n\n return {\n get() {\n return tagsRef.current;\n },\n set(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current = mapToTags(baseTags);\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n add(baseTags: Array<BaseTag<TTag>>) {\n const prevTags = tagsRef.current.slice();\n\n tagsRef.current.push(...mapToTags(baseTags));\n onChangeListeners.forEach((listener) =>\n listener({ prevTags, tags: tagsRef.current })\n );\n },\n onChange(listener: OnTagsChangeListener<TTag>) {\n onChangeListeners.push(listener);\n },\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","/** @jsx createElement */\nimport { BaseItem, PluginSubscribeParams } from '@algolia/autocomplete-core';\nimport {\n AutocompletePlugin,\n AutocompleteSource,\n AutocompleteState,\n} from '@algolia/autocomplete-js';\nimport { noop } from '@algolia/autocomplete-shared';\n\nimport { createTags, OnTagsChangeParams } from './createTags';\nimport type { DefaultTagType, BaseTag, Tag } from './types';\n\ntype OnChangeParams<TTag extends DefaultTagType = DefaultTagType> =\n PluginSubscribeParams<any> & OnTagsChangeParams<TTag>;\n\ntype GetTagParams<TItem extends BaseItem> = { item: TItem };\n\ntype TagsPluginData<TTag extends DefaultTagType = DefaultTagType> = {\n /**\n * Returns the current list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-tags\n */\n tags: Array<Tag<TTag>>;\n /**\n * Adds tags to the list.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-addtags\n */\n addTags: (tags: Array<BaseTag<TTag>>) => void;\n /**\n * Sets the list of tags.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-settags\n */\n setTags: (tags: Array<BaseTag<TTag>>) => void;\n};\n\nexport type TagsApi<TTag extends DefaultTagType = DefaultTagType> =\n TagsPluginData<TTag>;\n\nexport type CreateTagsPluginParams<\n TItem extends BaseItem,\n TTag extends DefaultTagType\n> = {\n /**\n * A set of initial tags to pass to the plugin.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-initialtags\n */\n initialTags?: Array<BaseTag<TTag>>;\n /**\n * A function to specify what sources the plugin should subscribe to. The plugin adds a tag when selecting an item from these sources.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-gettagssubscribers\n */\n getTagsSubscribers?(): Array<{\n sourceId: string;\n getTag(params: GetTagParams<TItem>): BaseTag<TTag>;\n }>;\n /**\n * A function to transform the returned tags source.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-transformsource\n */\n transformSource?(params: {\n source: AutocompleteSource<Tag<TTag>>;\n state: AutocompleteState<Tag<TTag>>;\n }): AutocompleteSource<Tag<TTag>> | undefined;\n /**\n * A function called when the list of tags changes.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-tags/createtagsplugin/#param-onchange\n */\n onChange?(params: OnChangeParams<TTag>): void;\n};\n\nexport function createTagsPlugin<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(\n options: CreateTagsPluginParams<TItem, TTag> = {}\n): AutocompletePlugin<Tag<TTag>, TagsPluginData<TTag>> {\n const { initialTags, getTagsSubscribers, transformSource, onChange } =\n getOptions(options);\n const tags = createTags({ initialTags });\n const tagsApi = { setTags: tags.set, addTags: tags.add };\n\n return {\n name: 'aa.tagsPlugin',\n subscribe(params) {\n const { setContext, onSelect, setIsOpen, refresh } = params;\n const subscribers = getTagsSubscribers();\n\n setContext({ tagsPlugin: { ...tagsApi, tags: tags.get() } });\n\n onSelect(({ source, item }) => {\n const subscriber = subscribers.find(\n ({ sourceId }) => sourceId === source.sourceId\n );\n\n if (subscriber) {\n tags.add([subscriber.getTag({ item })]);\n }\n });\n\n tags.onChange(({ prevTags }) => {\n setContext({\n tagsPlugin: { ...tagsApi, tags: tags.get() },\n });\n\n setIsOpen(true);\n onChange({ ...params, prevTags, tags: tags.get() });\n refresh();\n });\n },\n getSources({ state }) {\n return [\n transformSource({\n source: {\n sourceId: 'tagsPlugin',\n getItems() {\n return tags.get();\n },\n onSelect({ item }) {\n item.remove();\n },\n templates: {\n item({ item, createElement }) {\n return (\n <div className=\"aa-TagsPlugin-Tag\">\n <span className=\"aa-TagsPlugin-TagLabel\">{item.label}</span>\n <button\n type=\"button\"\n className=\"aa-TagsPlugin-RemoveButton\"\n title=\"Remove this tag\"\n >\n <svg\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M18 6L6 18\"></path>\n <path d=\"M6 6L18 18\"></path>\n </svg>\n </button>\n </div>\n );\n },\n },\n },\n state: state as AutocompleteState<Tag<TTag>>,\n }),\n ];\n },\n data: {\n ...tagsApi,\n get tags() {\n return tags.get();\n },\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions<\n TItem extends BaseItem,\n TTag extends DefaultTagType = DefaultTagType\n>(options: CreateTagsPluginParams<TItem, TTag>) {\n return {\n initialTags: [],\n getTagsSubscribers: () => [],\n transformSource: ({ source }) => source,\n onChange: noop,\n ...options,\n };\n}\n"],"names":["noop","createTags","_ref","_ref$initialTags","initialTags","tagsRef","current","mapToTags","onChangeListeners","baseTags","map","baseTag","tag","_objectSpread","remove","prevTags","slice","filter","tagRef","forEach","listener","tags","get","set","add","_tagsRef$current","push","apply","_toConsumableArray","onChange","getOptions","options","getTagsSubscribers","transformSource","_ref7","source","arguments","length","undefined","_getOptions","tagsApi","setTags","addTags","name","subscribe","params","setContext","onSelect","setIsOpen","refresh","subscribers","tagsPlugin","item","subscriber","find","_ref2","sourceId","getTag","_ref3","getSources","_ref4","state","getItems","_ref5","templates","_ref6","createElement","className","label","type","title","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","d","data","__autocomplete_pluginOptions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@algolia/autocomplete-plugin-tags",
3
3
  "description": "A plugin to manage and display a list of tags in Algolia Autocomplete.",
4
- "version": "1.19.7",
4
+ "version": "1.19.8",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/algolia/autocomplete",
7
7
  "repository": "algolia/autocomplete",
@@ -36,8 +36,8 @@
36
36
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
37
37
  },
38
38
  "devDependencies": {
39
- "@algolia/autocomplete-core": "1.19.7",
40
- "@algolia/autocomplete-js": "1.19.7",
41
- "@algolia/autocomplete-shared": "1.19.7"
39
+ "@algolia/autocomplete-core": "1.19.8",
40
+ "@algolia/autocomplete-js": "1.19.8",
41
+ "@algolia/autocomplete-shared": "1.19.8"
42
42
  }
43
43
  }