@searchcraft/javascript-sdk 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/components/index.d.ts +73 -1
  2. package/dist/components/index.js +58 -634
  3. package/dist/components/index.js.map +1 -1
  4. package/dist/components/{p-e8d97093.js → p-BV4HUriZ.js} +15 -10
  5. package/dist/components/p-BV4HUriZ.js.map +1 -0
  6. package/dist/components/{p-46ddde99.js → p-B_415D4A.js} +8 -5
  7. package/dist/components/p-B_415D4A.js.map +1 -0
  8. package/dist/components/{p-afe7ce60.js → p-BbSxfaD7.js} +12 -9
  9. package/dist/components/p-BbSxfaD7.js.map +1 -0
  10. package/dist/components/p-BfTCfPZ1.js +95 -0
  11. package/dist/components/p-BfTCfPZ1.js.map +1 -0
  12. package/dist/components/p-BlYgaV0q.js +1373 -0
  13. package/dist/components/p-BlYgaV0q.js.map +1 -0
  14. package/dist/components/{p-76d95772.js → p-C-wcIch1.js} +16 -13
  15. package/dist/components/p-C-wcIch1.js.map +1 -0
  16. package/dist/components/{p-87435aac.js → p-C1S92_N8.js} +12 -8
  17. package/dist/components/p-C1S92_N8.js.map +1 -0
  18. package/dist/components/{p-acf23bab.js → p-C681KruS.js} +10 -7
  19. package/dist/components/p-C681KruS.js.map +1 -0
  20. package/dist/components/{p-3d2107af.js → p-C7ZK8CYu.js} +11 -8
  21. package/dist/components/p-C7ZK8CYu.js.map +1 -0
  22. package/dist/components/{p-38b2dad0.js → p-Cju73I1E.js} +11 -8
  23. package/dist/components/p-Cju73I1E.js.map +1 -0
  24. package/dist/components/{p-e30203b1.js → p-D0j0UFpV.js} +2 -1
  25. package/dist/components/p-D0j0UFpV.js.map +1 -0
  26. package/dist/components/{p-16181756.js → p-D5p2scT9.js} +11 -8
  27. package/dist/components/p-D5p2scT9.js.map +1 -0
  28. package/dist/components/{p-5365011f.js → p-DO5g2x-l.js} +861 -186
  29. package/dist/components/p-DO5g2x-l.js.map +1 -0
  30. package/dist/components/{p-73db9122.js → p-Dc7S4y3b.js} +9 -6
  31. package/dist/components/p-Dc7S4y3b.js.map +1 -0
  32. package/dist/components/{p-f2585cdf.js → p-DjPZkCLP.js} +8 -5
  33. package/dist/components/p-DjPZkCLP.js.map +1 -0
  34. package/dist/components/{p-3286bbb3.js → p-DotXR-Gz.js} +10 -7
  35. package/dist/components/p-DotXR-Gz.js.map +1 -0
  36. package/dist/components/{p-90bc1590.js → p-Dr9rPC9v.js} +11 -8
  37. package/dist/components/p-Dr9rPC9v.js.map +1 -0
  38. package/dist/components/{p-fa799946.js → p-L4PwHqQC.js} +9 -6
  39. package/dist/components/p-L4PwHqQC.js.map +1 -0
  40. package/dist/components/{p-b4b67072.js → p-_aHgRsRD.js} +4 -3
  41. package/dist/components/p-_aHgRsRD.js.map +1 -0
  42. package/dist/components/{p-d54771ef.js → p-i8oXh7db.js} +2 -1
  43. package/dist/components/p-i8oXh7db.js.map +1 -0
  44. package/dist/components/searchcraft-ad.js +2 -1
  45. package/dist/components/searchcraft-button.js +2 -1
  46. package/dist/components/searchcraft-error-message.js +2 -1
  47. package/dist/components/searchcraft-facet-list.js +2 -1
  48. package/dist/components/searchcraft-filter-panel.js +11 -8
  49. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  50. package/dist/components/searchcraft-input-form.js +2 -1
  51. package/dist/components/searchcraft-input-label.js +2 -1
  52. package/dist/components/searchcraft-loading.js +2 -1
  53. package/dist/components/searchcraft-pagination.js +12 -8
  54. package/dist/components/searchcraft-pagination.js.map +1 -1
  55. package/dist/components/searchcraft-popover-button.js +9 -6
  56. package/dist/components/searchcraft-popover-button.js.map +1 -1
  57. package/dist/components/searchcraft-popover-footer.js +2 -1
  58. package/dist/components/searchcraft-popover-form.js +17 -14
  59. package/dist/components/searchcraft-popover-form.js.map +1 -1
  60. package/dist/components/searchcraft-popover-list-item.js +2 -1
  61. package/dist/components/searchcraft-popover-list-view.js +2 -1
  62. package/dist/components/searchcraft-results-info.js +10 -7
  63. package/dist/components/searchcraft-results-info.js.map +1 -1
  64. package/dist/components/searchcraft-search-result.js +2 -1
  65. package/dist/components/searchcraft-search-results-per-page.js +11 -7
  66. package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
  67. package/dist/components/searchcraft-search-results.js +11 -8
  68. package/dist/components/searchcraft-search-results.js.map +1 -1
  69. package/dist/components/searchcraft-select.js +2 -1
  70. package/dist/components/searchcraft-slider.js +2 -1
  71. package/dist/components/searchcraft-summary-box.js +12 -67
  72. package/dist/components/searchcraft-summary-box.js.map +1 -1
  73. package/dist/components/searchcraft-theme.js +8 -5
  74. package/dist/components/searchcraft-theme.js.map +1 -1
  75. package/dist/components/searchcraft-toggle-button.js +2 -1
  76. package/dist/hydrate/index.d.ts +40 -7
  77. package/dist/hydrate/index.js +3095 -2370
  78. package/dist/hydrate/index.mjs +3094 -2369
  79. package/dist/types/classes/SearchcraftCore.d.ts +1 -0
  80. package/dist/types/clients/MeasureClient.d.ts +2 -1
  81. package/dist/types/clients/SearchClient.d.ts +1 -1
  82. package/dist/types/clients/ad-clients/AdClient.d.ts +1 -1
  83. package/dist/types/clients/ad-clients/NativoClient.d.ts +1 -1
  84. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +1 -1
  85. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +1 -1
  86. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +1 -1
  87. package/dist/types/components/searchcraft-search-results/searchcraft-search-results.d.ts +2 -2
  88. package/dist/types/components.d.ts +70 -0
  89. package/dist/types/stencil-public-runtime.d.ts +84 -8
  90. package/package.json +2 -2
  91. package/dist/components/p-16181756.js.map +0 -1
  92. package/dist/components/p-3286bbb3.js.map +0 -1
  93. package/dist/components/p-38b2dad0.js.map +0 -1
  94. package/dist/components/p-3d2107af.js.map +0 -1
  95. package/dist/components/p-46ddde99.js.map +0 -1
  96. package/dist/components/p-5365011f.js.map +0 -1
  97. package/dist/components/p-5cdc6210.js +0 -82
  98. package/dist/components/p-5cdc6210.js.map +0 -1
  99. package/dist/components/p-73db9122.js.map +0 -1
  100. package/dist/components/p-76d95772.js.map +0 -1
  101. package/dist/components/p-87435aac.js.map +0 -1
  102. package/dist/components/p-90bc1590.js.map +0 -1
  103. package/dist/components/p-acf23bab.js.map +0 -1
  104. package/dist/components/p-afe7ce60.js.map +0 -1
  105. package/dist/components/p-b4b67072.js.map +0 -1
  106. package/dist/components/p-d54771ef.js.map +0 -1
  107. package/dist/components/p-e2a10337.js +0 -1355
  108. package/dist/components/p-e2a10337.js.map +0 -1
  109. package/dist/components/p-e30203b1.js.map +0 -1
  110. package/dist/components/p-e8d97093.js.map +0 -1
  111. package/dist/components/p-f2585cdf.js.map +0 -1
  112. package/dist/components/p-fa799946.js.map +0 -1
@@ -1,12 +1,14 @@
1
- import { p as proxyCustomElement, H, h } from './p-5365011f.js';
2
- import { g as getDocumentValueFromSearchResultMapping } from './p-d54771ef.js';
3
- import './p-e2a10337.js';
4
- import { r as registry } from './p-e30203b1.js';
1
+ import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
2
+ import { r as registry } from './p-D0j0UFpV.js';
3
+ import { g as getDocumentValueFromSearchResultMapping } from './p-i8oXh7db.js';
4
+ import './p-BlYgaV0q.js';
5
5
 
6
6
  const SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {
7
- constructor() {
7
+ constructor(registerHost) {
8
8
  super();
9
- this.__registerHost();
9
+ if (registerHost !== false) {
10
+ this.__registerHost();
11
+ }
10
12
  }
11
13
  item;
12
14
  popoverResultMappings;
@@ -57,7 +59,7 @@ const SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class Search
57
59
  render() {
58
60
  return (h("div", { key: 'd1c9c310b8abc9d2370efb802eac1edf4189519d', class: 'searchcraft-popover-list-item' }, h("a", { key: '30eb1a5076c5b4b95ae43147eaee0bb72ce46179', class: 'searchcraft-popover-list-item-link', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSource && (h("div", { key: 'd18ff55823dc2c61f3786f423936af8b009aeeda', class: 'searchcraft-popover-list-item-image-wrapper' }, h("img", { key: '56f4cc1d472f7da05e64fcf52c560a7ad0cdf7a6', alt: this.imageAlt, src: this.imageSource, class: 'searchcraft-popover-list-item-image' }))), h("div", { key: '78a0f0235d5e71d10076b70ccbaf4b58e0d6fea0', class: 'searchcraft-popover-list-item-content' }, this.title && (h("p", { key: '4489047af56e5aa295cb5f036e970dcad053d3b7', class: 'searchcraft-popover-list-item-content-title' }, this.title)), this.subtitle && (h("p", { key: '4d177c227a1dbf1233022d738403c8eb93ba328d', class: 'searchcraft-popover-list-item-content-subtitle' }, this.subtitle))))));
59
61
  }
60
- }, [0, "searchcraft-popover-list-item", {
62
+ }, [768, "searchcraft-popover-list-item", {
61
63
  "item": [16],
62
64
  "popoverResultMappings": [16],
63
65
  "documentPosition": [2, "document-position"],
@@ -83,5 +85,6 @@ function defineCustomElement() {
83
85
  }
84
86
 
85
87
  export { SearchcraftPopoverListItem as S, defineCustomElement as d };
88
+ //# sourceMappingURL=p-Cju73I1E.js.map
86
89
 
87
- //# sourceMappingURL=p-38b2dad0.js.map
90
+ //# sourceMappingURL=p-Cju73I1E.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Cju73I1E.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-popover-list-item/searchcraft-popover-list-item.tsx"],"sourcesContent":["import type { SearchcraftCore } from '@classes';\nimport { registry } from '@classes/CoreInstanceRegistry';\nimport { Component, Prop, State, h } from '@stencil/core';\nimport type {\n PopoverResultMappings,\n SearchClientResponseItem,\n SearchDocument,\n} from '@types';\nimport { getDocumentValueFromSearchResultMapping } from '@utils';\n\n/**\n * A single list item rendered in a searchcraft-popover-list-view.\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-popover-list-item',\n shadow: false,\n})\nexport class SearchcraftPopoverListItem {\n @Prop() item: SearchClientResponseItem | undefined;\n @Prop() popoverResultMappings: PopoverResultMappings | undefined;\n /** The document position relative to the search results (For Measure) */\n @Prop() documentPosition = 0;\n /**\n * The id of the Searchcraft instance that this component should use.\n */\n @Prop() searchcraftId?: string;\n\n @State() title?: string;\n @State() subtitle?: string;\n @State() href?: string;\n @State() imageSource?: string;\n @State() imageAlt?: string;\n core?: SearchcraftCore;\n private cleanupCore?: () => void;\n\n mapValuesFromDocument(document: SearchDocument) {\n this.title = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.title,\n );\n this.subtitle = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.subtitle,\n );\n this.href = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.href,\n );\n this.imageSource = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.imageSource,\n );\n this.imageAlt = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.imageAlt,\n );\n }\n\n onCoreAvailable(core: SearchcraftCore) {\n this.core = core;\n }\n\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n this.cleanupCore = registry.useCoreInstance(\n this.searchcraftId,\n this.onCoreAvailable.bind(this),\n );\n }\n\n disconnectedCallback() {\n this.cleanupCore?.();\n }\n\n handleLinkClick = () => {\n if (this.core) {\n const document_position = this.documentPosition;\n const search_term = this.core.store.getState().searchTerm;\n const number_of_documents =\n this.core.store.getState().searchClientResponseItems.length || 0;\n\n this.core.measureClient?.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n\n render() {\n return (\n <div class='searchcraft-popover-list-item'>\n <a\n class='searchcraft-popover-list-item-link'\n href={this.href}\n onClick={this.handleLinkClick.bind(this)}\n >\n {this.imageSource && (\n <div class='searchcraft-popover-list-item-image-wrapper'>\n <img\n alt={this.imageAlt}\n src={this.imageSource}\n class='searchcraft-popover-list-item-image'\n />\n </div>\n )}\n <div class='searchcraft-popover-list-item-content'>\n {this.title && (\n <p class='searchcraft-popover-list-item-content-title'>\n {this.title}\n </p>\n )}\n {this.subtitle && (\n <p class='searchcraft-popover-list-item-content-subtitle'>\n {this.subtitle}\n </p>\n )}\n </div>\n </a>\n </div>\n );\n }\n}\n"],"version":3}
@@ -58,5 +58,6 @@ class CoreInstanceRegistry {
58
58
  const registry = new CoreInstanceRegistry();
59
59
 
60
60
  export { DEFAULT_CORE_INSTANCE_ID as D, registry as r };
61
+ //# sourceMappingURL=p-D0j0UFpV.js.map
61
62
 
62
- //# sourceMappingURL=p-e30203b1.js.map
63
+ //# sourceMappingURL=p-D0j0UFpV.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D0j0UFpV.js","mappings":"AAEA;;;AAGG;AACI,MAAM,wBAAwB,GAAG;AAExC;;;;;;AAMG;AACH,MAAM,oBAAoB,CAAA;IAChB,aAAa,GAAoC,EAAE;IACnD,aAAa,GACnB,EAAE;AAEJ;;;;;;;;AAQG;IACH,eAAe,CACb,YAA6B,EAC7B,aAAiC,EAAA;AAEjC,QAAA,MAAM,EAAE,GAAG,aAAa,IAAI,wBAAwB;AACpD,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,YAAY;AAErC,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;YACnD,QAAQ,CAAC,YAAY,CAAC;;;AAI1B;;;;;;AAMG;IACH,eAAe,CACb,aAAiC,EACjC,WAAoD,EAAA;AAEpD,QAAA,MAAM,EAAE,GAAG,aAAa,IAAI,wBAAwB;;AAEpD,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACnC,YAAA,OAAO,MAAO,GAAC;;;QAGjB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;;QAE7B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAExC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;gBAC1B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,EAAE,KAAK,EAAE,KAAK,WAAW,CAC3B;;AAEL,SAAC;;AAEJ;AAEY,MAAA,QAAQ,GAAG,IAAI,oBAAoB;;;;","names":[],"sources":["src/classes/CoreInstanceRegistry.ts"],"sourcesContent":["import type { SearchcraftCore } from '@classes';\n\n/**\n * This is the default instance id for searchcraft core instances.\n * When no id is specified in a component's props, use this one.\n */\nexport const DEFAULT_CORE_INSTANCE_ID = 'searchcraft';\n\n/**\n * CoreInstanceRegistry\n *\n * This class is responsible for managing all of the instances of SearchcraftCore on a page.\n * It provides a means for consuming components to use the instance of SearchcraftCore that\n * they need to use when that instance of core gets added to the Registry.\n */\nclass CoreInstanceRegistry {\n private coreInstances: Record<string, SearchcraftCore> = {};\n private subscriptions: Record<string, ((core: SearchcraftCore) => void)[]> =\n {};\n\n /**\n * Adds a SearchcraftCore instance to the Registry.\n *\n * When the instance is added, iterates through the onAvailable callbacks\n * that have been subscribed via useCoreInstance.\n *\n * @param coreInstance The SearchcraftCore instance to add to the registry\n * @param searchcraftId The unique identifier for this SearchcraftCore instance.\n */\n addCoreInstance(\n coreInstance: SearchcraftCore,\n searchcraftId: string | undefined,\n ) {\n const id = searchcraftId || DEFAULT_CORE_INSTANCE_ID;\n this.coreInstances[id] = coreInstance;\n\n for (const callback of this.subscriptions[id] || []) {\n callback(coreInstance);\n }\n }\n\n /**\n * Use the specified instance of SearchcraftCore. When the instance becomes available,\n * the onAvailable callback will be called.\n *\n * @param searchcraftId The SearchcraftCore instance to use.\n * @param onAvailable The callback that gets called when the core instance becomes available.\n */\n useCoreInstance(\n searchcraftId: string | undefined,\n onAvailable: (coreInstance: SearchcraftCore) => void,\n ): () => void {\n const id = searchcraftId || DEFAULT_CORE_INSTANCE_ID;\n // If the core instance already is available, call the onAvailable callback immediately.\n if (this.coreInstances[id]) {\n onAvailable(this.coreInstances[id]);\n return () => {};\n }\n // Add the callback to the collection of callbacks for this searchcraft instance.\n if (!this.subscriptions[id]) {\n this.subscriptions[id] = [];\n }\n this.subscriptions[id].push(onAvailable);\n\n return () => {\n if (this.subscriptions[id]) {\n this.subscriptions[id] = this.subscriptions[id].filter(\n (cb) => cb !== onAvailable,\n );\n }\n };\n }\n}\n\nexport const registry = new CoreInstanceRegistry();\n"],"version":3}
@@ -1,12 +1,14 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';
2
- import { r as registry } from './p-e30203b1.js';
3
- import { c as classNames } from './p-5cdc6210.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-DO5g2x-l.js';
2
+ import { r as registry } from './p-D0j0UFpV.js';
3
+ import { c as classNames } from './p-BfTCfPZ1.js';
4
4
 
5
5
  const SearchcraftToggleButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftToggleButton extends H {
6
- constructor() {
6
+ constructor(registerHost) {
7
7
  super();
8
- this.__registerHost();
9
- this.toggleUpdated = createEvent(this, "toggleUpdated", 7);
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.toggleUpdated = createEvent(this, "toggleUpdated");
10
12
  }
11
13
  /**
12
14
  * The label.
@@ -54,7 +56,7 @@ const SearchcraftToggleButton = /*@__PURE__*/ proxyCustomElement(class Searchcra
54
56
  'searchcraft-toggle-button-active': this.isActive,
55
57
  }) }, h("div", { key: '2faa2ee1eb5cb78dc39f523415f2be96bc23fed1' }, h("p", { key: '29ea63c281b8f1ae041ba75a149ce1b60e936662', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: 'e51efaae5ca79eede71852e6dec8eff4575139fe', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: 'd590da981692db162df9b8086ba2444d6a56ef9d', class: 'searchcraft-toggle-button-background', onClick: this.handleToggle, type: 'button' }, h("div", { key: '5be6ee1dd7dc58bd67fff18923569caee37b4936', class: 'searchcraft-toggle-button-handle' }))));
56
58
  }
57
- }, [0, "searchcraft-toggle-button", {
59
+ }, [768, "searchcraft-toggle-button", {
58
60
  "label": [1],
59
61
  "subLabel": [1, "sub-label"],
60
62
  "searchcraftId": [1, "searchcraft-id"],
@@ -76,5 +78,6 @@ function defineCustomElement() {
76
78
  }
77
79
 
78
80
  export { SearchcraftToggleButton as S, defineCustomElement as d };
81
+ //# sourceMappingURL=p-D5p2scT9.js.map
79
82
 
80
- //# sourceMappingURL=p-16181756.js.map
83
+ //# sourceMappingURL=p-D5p2scT9.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D5p2scT9.js","mappings":";;;;MAqBa,uBAAuB,iBAAAA,kBAAA,CAAA,MAAA,uBAAA,SAAAC,CAAA,CAAA;;;;;;;;AAClC;;AAEG;IACK,KAAK,GAAG,QAAQ;AACxB;;AAEG;AACK,IAAA,QAAQ;AAChB;;AAEG;AACK,IAAA,aAAa;AAErB;;AAEG;AACM,IAAA,aAAa;IAEb,QAAQ,GAAG,KAAK;AAChB,IAAA,cAAc;AACf,IAAA,WAAW;AACX,IAAA,WAAW;IAEX,YAAY,GAAG,YAAW;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;QAC9B,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC,KAAC;AAED,IAAA,eAAe,CAAC,IAAqB,EAAA;;AAEnC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChD,YAAA,IACE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc;gBACxC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACpC;AACA,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEvB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU;AACxC,SAAC,CAAC;;IAGJ,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,eAAe,CACzC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAChC;;IAGH,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,IAAI;AACpB,QAAA,IAAI,CAAC,WAAW,IAAI;;IAGtB,MAAM,GAAA;AACJ,QAAA,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,UAAU,CAAC,2BAA2B,EAAE;gBAC7C,kCAAkC,EAAE,IAAI,CAAC,QAAQ;aAClD,CAAC,EAAA,EAEF,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,KAAK,CAAK,EAC1D,IAAI,CAAC,QAAQ,KACZ,0DAAG,KAAK,EAAC,qCAAqC,EAAA,EAAE,IAAI,CAAC,QAAQ,CAAK,CACnE,CACG,EACN,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,sCAAsC,EAC5C,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,kCAAkC,GAAG,CACzC,CACL;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"sourcesContent":["import type { SearchcraftCore } from '@classes';\nimport { registry } from '@classes/CoreInstanceRegistry';\nimport {\n Component,\n Event,\n type EventEmitter,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-toggle-button',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * The label.\n */\n @Prop() label = 'Toggle';\n /**\n * The secondary label displayed below the main label.\n */\n @Prop() subLabel: string | undefined;\n /**\n * The id of the Searchcraft instance that this component should use.\n */\n @Prop() searchcraftId?: string;\n\n /**\n * When the toggle element is changed.\n */\n @Event() toggleUpdated?: EventEmitter<boolean>;\n\n @State() isActive = false;\n @State() lastSearchTerm: string | undefined;\n private unsubscribe: (() => void) | undefined;\n private cleanupCore?: () => void;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated?.emit(this.isActive);\n };\n\n onCoreAvailable(core: SearchcraftCore) {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = core.store.subscribe((state) => {\n if (\n state.searchTerm !== this.lastSearchTerm &&\n state.searchTerm.trim().length === 0\n ) {\n this.isActive = false;\n }\n this.lastSearchTerm = state.searchTerm;\n });\n }\n\n connectedCallback() {\n this.cleanupCore = registry.useCoreInstance(\n this.searchcraftId,\n this.onCoreAvailable.bind(this),\n );\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n this.cleanupCore?.();\n }\n\n render() {\n return (\n <div\n class={classNames('searchcraft-toggle-button', {\n 'searchcraft-toggle-button-active': this.isActive,\n })}\n >\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class='searchcraft-toggle-button-background'\n onClick={this.handleToggle}\n type='button'\n >\n <div class='searchcraft-toggle-button-handle' />\n </button>\n </div>\n );\n }\n}\n"],"version":3}