@searchcraft/javascript-sdk 0.13.1 → 0.13.2

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 (90) hide show
  1. package/dist/components/{p-D0j0UFpV.js → CoreInstanceRegistry.js} +2 -2
  2. package/dist/components/CoreInstanceRegistry.js.map +1 -0
  3. package/dist/components/defineCustomElements.js +23 -23
  4. package/dist/components/{p-_aHgRsRD.js → html.js} +3 -3
  5. package/dist/components/html.js.map +1 -0
  6. package/dist/components/index.js +28 -28
  7. package/dist/components/{p-DO5g2x-l.js → index2.js} +11 -5
  8. package/dist/components/index2.js.map +1 -0
  9. package/dist/components/{p-BfTCfPZ1.js → index3.js} +2 -2
  10. package/dist/components/index3.js.map +1 -0
  11. package/dist/components/{p-BlYgaV0q.js → purify.es.js} +10 -4
  12. package/dist/components/purify.es.js.map +1 -0
  13. package/dist/components/searchcraft-ad.js +1 -1
  14. package/dist/components/{p-C1S92_N8.js → searchcraft-ad2.js} +8 -8
  15. package/dist/components/searchcraft-ad2.js.map +1 -0
  16. package/dist/components/searchcraft-button.js +1 -1
  17. package/dist/components/{p-C681KruS.js → searchcraft-button2.js} +6 -6
  18. package/dist/components/searchcraft-button2.js.map +1 -0
  19. package/dist/components/searchcraft-error-message.js +1 -1
  20. package/dist/components/{p-DjPZkCLP.js → searchcraft-error-message2.js} +5 -5
  21. package/dist/components/searchcraft-error-message2.js.map +1 -0
  22. package/dist/components/searchcraft-facet-list.js +1 -1
  23. package/dist/components/{p-BV4HUriZ.js → searchcraft-facet-list2.js} +7 -7
  24. package/dist/components/searchcraft-facet-list2.js.map +1 -0
  25. package/dist/components/searchcraft-filter-panel.js +10 -10
  26. package/dist/components/searchcraft-input-form.js +1 -1
  27. package/dist/components/{p-C-wcIch1.js → searchcraft-input-form2.js} +13 -13
  28. package/dist/components/searchcraft-input-form2.js.map +1 -0
  29. package/dist/components/searchcraft-input-label.js +1 -1
  30. package/dist/components/{p-L4PwHqQC.js → searchcraft-input-label2.js} +6 -6
  31. package/dist/components/searchcraft-input-label2.js.map +1 -0
  32. package/dist/components/searchcraft-loading.js +1 -1
  33. package/dist/components/{p-B_415D4A.js → searchcraft-loading2.js} +5 -5
  34. package/dist/components/searchcraft-loading2.js.map +1 -0
  35. package/dist/components/searchcraft-pagination.js +7 -7
  36. package/dist/components/searchcraft-popover-button.js +5 -5
  37. package/dist/components/searchcraft-popover-footer.js +1 -1
  38. package/dist/components/{p-C7ZK8CYu.js → searchcraft-popover-footer2.js} +8 -8
  39. package/dist/components/searchcraft-popover-footer2.js.map +1 -0
  40. package/dist/components/searchcraft-popover-form.js +22 -22
  41. package/dist/components/searchcraft-popover-list-item.js +1 -1
  42. package/dist/components/{p-Cju73I1E.js → searchcraft-popover-list-item2.js} +8 -8
  43. package/dist/components/searchcraft-popover-list-item2.js.map +1 -0
  44. package/dist/components/searchcraft-popover-list-view.js +1 -1
  45. package/dist/components/{p-Dr9rPC9v.js → searchcraft-popover-list-view2.js} +10 -10
  46. package/dist/components/searchcraft-popover-list-view2.js.map +1 -0
  47. package/dist/components/searchcraft-results-info.js +6 -6
  48. package/dist/components/searchcraft-search-result.js +1 -1
  49. package/dist/components/{p-DotXR-Gz.js → searchcraft-search-result2.js} +7 -7
  50. package/dist/components/searchcraft-search-result2.js.map +1 -0
  51. package/dist/components/searchcraft-search-results-per-page.js +6 -6
  52. package/dist/components/searchcraft-search-results.js +10 -10
  53. package/dist/components/searchcraft-select.js +1 -1
  54. package/dist/components/{p-Dc7S4y3b.js → searchcraft-select2.js} +5 -5
  55. package/dist/components/searchcraft-select2.js.map +1 -0
  56. package/dist/components/searchcraft-slider.js +1 -1
  57. package/dist/components/{p-BbSxfaD7.js → searchcraft-slider2.js} +8 -8
  58. package/dist/components/searchcraft-slider2.js.map +1 -0
  59. package/dist/components/searchcraft-summary-box.js +7 -7
  60. package/dist/components/searchcraft-theme.js +3 -3
  61. package/dist/components/searchcraft-toggle-button.js +1 -1
  62. package/dist/components/{p-D5p2scT9.js → searchcraft-toggle-button2.js} +7 -7
  63. package/dist/components/searchcraft-toggle-button2.js.map +1 -0
  64. package/dist/components/{p-i8oXh7db.js → units.js} +2 -2
  65. package/dist/components/units.js.map +1 -0
  66. package/dist/hydrate/index.d.ts +12 -0
  67. package/dist/hydrate/index.js +1186 -1136
  68. package/dist/hydrate/index.mjs +1185 -1137
  69. package/dist/types/stencil-public-runtime.d.ts +43 -0
  70. package/package.json +3 -3
  71. package/dist/components/p-BV4HUriZ.js.map +0 -1
  72. package/dist/components/p-B_415D4A.js.map +0 -1
  73. package/dist/components/p-BbSxfaD7.js.map +0 -1
  74. package/dist/components/p-BfTCfPZ1.js.map +0 -1
  75. package/dist/components/p-BlYgaV0q.js.map +0 -1
  76. package/dist/components/p-C-wcIch1.js.map +0 -1
  77. package/dist/components/p-C1S92_N8.js.map +0 -1
  78. package/dist/components/p-C681KruS.js.map +0 -1
  79. package/dist/components/p-C7ZK8CYu.js.map +0 -1
  80. package/dist/components/p-Cju73I1E.js.map +0 -1
  81. package/dist/components/p-D0j0UFpV.js.map +0 -1
  82. package/dist/components/p-D5p2scT9.js.map +0 -1
  83. package/dist/components/p-DO5g2x-l.js.map +0 -1
  84. package/dist/components/p-Dc7S4y3b.js.map +0 -1
  85. package/dist/components/p-DjPZkCLP.js.map +0 -1
  86. package/dist/components/p-DotXR-Gz.js.map +0 -1
  87. package/dist/components/p-Dr9rPC9v.js.map +0 -1
  88. package/dist/components/p-L4PwHqQC.js.map +0 -1
  89. package/dist/components/p-_aHgRsRD.js.map +0 -1
  90. package/dist/components/p-i8oXh7db.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-facet-list2.js","mappings":";;;;AAOA;;;AAGG;AACI,MAAM,sBAAsB,GAAG,CACpC,IAAe,EACf,SAAmB,KACoB;IACvC,IAAI,MAAM,GAAwC,IAAI;AACtD,IAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,QAAA,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;;AAGrC,IAAA,OAAO,MAAM;AACf,CAAC;AAED;;;AAGG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAI;AAChD,IAAA,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE;AAE1B,IAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;;AAEtB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE;AAC9D,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;;iBAClD;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;;;;AAK7B,IAAA,OAAO,MAAM;AACf,CAAC;AAED;;;AAGG;AACG,SAAU,sBAAsB,CAAC,GAAa,EAAA;AAClD,IAAA,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KAClB,CAAC,KAAK,CAAC,IAAI,CACT,CAAC,UAAU,EAAE,UAAU,KACrB,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CACrD,CACJ;AACH;AAEA;;;;;;;AAOG;AACI,MAAM,eAAe,GAAG,CAC7B,WAAsB,EACtB,YAAuB,KACV;AACb,IAAA,MAAM,UAAU,GAAc,eAAe,CAAC,WAAW,CAAC;AAE1D,IAAA,MAAM,KAAK,GAAG,CACZ,aAAsC,EACtC,QAAkB,KACS;AAC3B,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC;QACnD,MAAM,cAAc,GAAG,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC;QAErE,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,YAAY;;AAGrB,QAAA,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC1D,YAAA,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrC,gBAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG;AAChC,oBAAA,GAAG,mBAAmB,CACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClC;oBACD,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC;iBACnD;;AACI,iBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC1C,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CACrC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC/B,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CACxB;;;AAIL,QAAA,OAAO,YAAY;AACrB,KAAC;AAED,IAAA,OAAO,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;AAUG;AACI,MAAM,yCAAyC,GAAG,CACvD,SAAiC,EACjC,OAAkB,KACL;;AAEb,IAAA,MAAM,IAAI,GAAc;AACtB,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,QAAQ,EAAE,EAAE;KACb;;IAGD,MAAM,SAAS,GAAY,EAAE;AAC7B,IAAA,MAAM,OAAO,GAAG,CAAC,IAA4B,KAAI;AAC/C,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AACrB,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;AAExD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,OAAO,CAAC,KAAK,CAAC;;;AAGpB,KAAC;IACD,OAAO,CAAC,SAAS,CAAC;;IAGlB,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE;AACvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;QAGjD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,aAAa,GAAG,KAAK;AAEzB,YAAA,KAAK,MAAM,YAAY,IAAI,OAAO,EAAE;AAClC,gBAAA,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;;AAEhC,oBAAA,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,CAAG,EAAA,YAAY,CAAG,CAAA,CAAA,CAAC,EAAE;wBAChE,aAAa,GAAG,IAAI;wBACpB;;;qBAEG;;AAEL,oBAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;wBACnC,aAAa,GAAG,IAAI;wBACpB;;;;YAKN,IAAI,aAAa,EAAE;gBACjB;;;AAIJ,QAAA,IAAI,MAAM,GAA4B,IAAI,CAAC;AAC3C,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;;YAE9B,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,GAAG,GAAG,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,GAAG,CAAG,EAAA,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;;YAGnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7B,gBAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG;AACzB,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,QAAQ,EAAE,EAAE;iBACb;;;AAIH,YAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;;;AAInC,QAAA,MAAM,CAAC,KAAK,GAAG,KAAK;;AAGtB,IAAA,OAAO,IAAI;AACb,CAAC;;MCrIY,oBAAoB,iBAAAA,kBAAA,CAAA,MAAA,oBAAA,SAAAC,CAAA,CAAA;;;;;;;;AAC/B;;AAEG;AACK,IAAA,aAAa;AACrB;;AAEG;IACK,SAAS,GAAG,EAAE;AACtB;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;AACM,IAAA,qBAAqB;AAE9B;;AAEG;IACM,aAAa,GAA4B,EAAE;AAEpD;;AAEG;AACM,IAAA,oCAAoC,GAA4B;AACvE,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,QAAQ,EAAE,EAAE;KACb;AAED;;;AAGG;AACH,IAAA,0CAA0C,GAA4B;AACpE,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,QAAQ,EAAE,EAAE;KACb;AAED;;;AAGG;AACM,IAAA,iBAAiB,GAA4B;AACpD,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,QAAQ,EAAE,EAAE;KACb;;AAGO,IAAA,aAAa;AACb,IAAA,cAAc;AACd,IAAA,cAAc;AACd,IAAA,YAAY;AACZ,IAAA,eAAe;AACf,IAAA,eAAe;AAEf,IAAA,WAAW;AACX,IAAA,WAAW;AAEnB,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CACzC,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CACjC;;IAGH,4BAA4B,CAC1B,KAAuB,EACvB,UAA6B,EAAA;;QAG7B,MAAM,iBAAiB,GACrB,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAClC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD;QACH,MAAM,+BAA+B,GAAG,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3E,MAAM,iBAAiB,GAAG,yCAAyC,CACjE;AACE,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,+BAA+B,IAAI,EAAE;AAChD,SAAA,EACD,IAAI,CAAC,OAAO,CACb;;;QAID,QAAQ,UAAU;AAChB,YAAA,KAAK,mBAAmB;gBACtB,IAAI,CAAC,oCAAoC,GAAG;AAC1C,oBAAA,IAAI,EAAE,GAAG;AACT,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,QAAQ,EAAE,EAAE;iBACb;gBACD;AACF,YAAA,KAAK,iBAAiB;AACpB,gBAAA,IAAI,CAAC,oCAAoC,GAAG,iBAAiB;gBAC7D;AACF,YAAA,KAAK,qCAAqC;AAC1C,YAAA,KAAK,oBAAoB;YACzB,KAAK,oBAAoB,EAAE;AACzB,gBAAA,IAAI,KAAK,CAAC,sBAAsB,EAAE;oBAChC,MAAM,qBAAqB,GACzB,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAChC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD;oBACH,MAAM,mCAAmC,GACvC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzC,MAAM,qBAAqB,GACzB,yCAAyC,CACvC;AACE,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,mCAAmC,IAAI,EAAE;AACpD,qBAAA,EACD,IAAI,CAAC,OAAO,CACb;oBAEH,IAAI,CAAC,oCAAoC,GAAG,eAAe,CACzD,qBAAqB,EACrB,iBAAiB,CAClB;;qBACI;AACL,oBAAA,IAAI,CAAC,oCAAoC,GAAG,iBAAiB;;gBAE/D;;AAEF,YAAA,KAAK,cAAc;AACnB,YAAA,KAAK,mBAAmB;gBACtB,IAAI,CAAC,oCAAoC,GAAG,eAAe,CACzD,IAAI,CAAC,oCAAoC,EACzC,iBAAiB,CAClB;gBACD;AACF,YAAA;gBACE;;;;QAKJ,IAAI,CAAC,0CAA0C,GAAG;AAChD,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,QAAQ,EAAE,EAAE;SACb;AACD,QAAA,MAAM,mBAAmB,GAA2B;AAClD,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAC3D,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CACnC,EAAE;AACD,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG;kBACrC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;AACjC,kBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AAEvB,YAAA,MAAM,mBAAmB,GAAG,CAAC,CAAC,sBAAsB,CAClD,IAAI,CAAC,oCAAoC,EACzC,SAAS,CACV;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,mBAAmB,IAAI,WAAW,EAAE;AACvC,gBAAA,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC;AACjC,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA,CAAC;;;AAGN,QAAA,IAAI,CAAC,0CAA0C;AAC7C,YAAA,yCAAyC,CACvC,mBAAmB,EACnB,IAAI,CAAC,OAAO,CACb;;;AAIH,QAAA,IAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAC1C,IAAI,CAAC,0CAA0C,EAC/C,IAAI,CAAC,oCAAoC,CAC1C;;AAGH,IAAA,iBAAiB,CAAC,MAAwB,EAAA;AACxC,QAAA,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE;;;AAI3B,QAAA,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,6BAA6B,KAAK,QAAQ;AACvD,YAAA,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;AAEhC,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;AACrD,YAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,CAAC;AAC7D,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AACnB,aAAA,IACL,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,uBAAuB;YACpD,KAAK,CAAC,6BAA6B,EACnC;;AAEA,YAAA,IAAI,OAAO,KAAK,CAAC,6BAA6B,KAAK,QAAQ,EAAE;AAC3D,gBAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,6BAA6B;gBAC7D,IAAI,UAAU,GAAsB,SAAS;gBAE7C,IAAI,IAAI,CAAC,cAAc,KAAK,iBAAiB,CAAC,UAAU,EAAE;AACxD,oBAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;wBACjC,UAAU,GAAG,qCAAqC;;yBAC7C;wBACL,UAAU,GAAG,iBAAiB;;;qBAE3B,IACL,IAAI,CAAC,eAAe;oBACpB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAC1D;oBACA,UAAU,GAAG,oBAAoB;;qBAC5B,IACL,IAAI,CAAC,eAAe;oBACpB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAC1D;oBACA,UAAU,GAAG,cAAc;;qBACtB,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,CAAC,QAAQ,EAAE;oBAC3D,UAAU,GAAG,mBAAmB;;qBAC3B,IAAI,IAAI,CAAC,cAAc,KAAK,iBAAiB,CAAC,IAAI,EAAE;oBACzD,UAAU,GAAG,oBAAoB;;gBAGnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CACnC,iBAAiB,CAAC,wBAAwB,CAC3C;gBACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CACnC,iBAAiB,CAAC,wBAAwB,CAC3C;AACD,gBAAA,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,QAAQ;AAC9C,gBAAA,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI;AAC5C,gBAAA,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,UAAU;AAClD,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,uBAAuB;;AAElD,gBAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,UAAU,CAAC;;AAC/C,iBAAA,IAAI,OAAO,KAAK,CAAC,6BAA6B,KAAK,QAAQ,EAAE;;;gBAGlE,IAAI,UAAU,GAAsB,iBAAiB;;gBAGrD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC;gBAClE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;sBAC7C,UAAU,CAAC;AACb,sBAAE,CAAC,UAAU,CAAC,KAAK,CAAC;;AAGtB,gBAAA,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CACrC,CAAC,CAAoB,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,CAC7C;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;AAGpD,gBAAA,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;AAClC,oBAAA,IAAI,CAAC,eAAe,KAAK,cAAc,EACvC;;oBAEA,UAAU,GAAG,cAAc;;AACtB,qBAAA,IACL,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;AAC9B,oBAAA,IAAI,CAAC,cAAc,KAAK,EAAE,EAC1B;;oBAEA,UAAU,GAAG,iBAAiB;;qBACzB,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,UAAU,EAAE;;AAEnD,oBAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;wBACjC,UAAU,GAAG,qCAAqC;;yBAC7C;wBACL,UAAU,GAAG,iBAAiB;;;AAIlC,gBAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU;AACtC,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,uBAAuB;;AAElD,gBAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,UAAU,CAAC;;;;AAK1D,IAAA,eAAe,CAAC,IAAqB,EAAA;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AAE7C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChD,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC/B,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;;AAGtB,IAAA,oBAAoB,CAAC,IAAY,EAAA;QAC/B,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAEnD,IAAI,iBAAiB,EAAE;AACrB;;;AAGG;YACH,IAAI,CAAC,aAAa,GAAG;gBACnB,GAAG,IAAI,CAAC,aAAa;gBACrB,CAAC,IAAI,GAAG,IAAI;aACb;;aACI;AACL;;AAEG;YACH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CACzD,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvC;AAED,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,GAAG,KAAI;AACX,gBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;AACf,gBAAA,OAAO,GAAG;aACX,EACD,EAA6B,CAC9B;;AAGH;;AAEG;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAClD,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CACnC;AACD,QAAA,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,KAAK,CAAC;QAEjE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;AAG1E,IAAA,eAAe,GAAG,CAAC,IAAY,KAAY;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA,CAAE;AACrF,KAAC;IAED,WAAW,CAAC,OAAe,EAAE,KAA8B,EAAA;QACzD,IAAI,eAAe,GAAG,KAAK;AAC3B,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;AAClD,YAAA,IACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAC/B;gBACA,eAAe,GAAG,IAAI;;;AAI1B,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;AAEvE,QAAA,MAAM,oBAAoB,GACxB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;AACrC,aAAC,UAAU,IAAI,eAAe,CAAC;YACjC,OAAO,KAAK,QAAQ;AAEtB,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,6BAA6B,EAAA,EACrC,OAAO,KAAK,QAAQ,KACnB,CAAO,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,uCAAuC,EAAA,EAClD,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,+CAA+C,EAAA,EACxD,CACE,CAAA,OAAA,EAAA,EAAA,KAAK,EAAC,uCAAuC,EAC7C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,QAAQ,EAAE,CAAC,MAAa,KAAI;AAC1B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;aACtC,EACD,IAAI,EAAC,UAAU,EACf,CAAA,EACD,eAAe,IACd,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iDAAiD,EAAA,EAC1D,CAAA,CAAA,KAAA,EAAA,EAAK,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAA,EACjC,CAA4B,CAAA,OAAA,EAAA,IAAA,EAAA,eAAA,CAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EACE,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,KAAK,EACR,MAAM,EAAC,OAAO,EACD,cAAA,EAAA,GAAG,EACD,gBAAA,EAAA,OAAO,GACtB,CACE,CACF,KAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,kDAAkD,EAAA,EAC3D,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EACzD,CAA6B,CAAA,OAAA,EAAA,IAAA,EAAA,gBAAA,CAAA,EAC7B,CAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAC,uCAAuC,EACzC,MAAM,EAAC,OAAO,EAAA,cAAA,EACD,GAAG,EAAA,gBAAA,EACD,OAAO,EACN,iBAAA,EAAA,OAAO,GACvB,CACE,CACF,CACP,CACG,EACN,CAAA,CAAA,MAAA,EAAA,IAAA,EACG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAI,KAAK,CAAC,KAAK,EACxC,GAAA,CAAA,CACD,CACT,EACA,oBAAoB,KACnB,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE;gBACL,WAAW,EAAE,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG,KAAK;gBAClD,UAAU,EAAE,OAAO,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK;AACjD,aAAA,EAAA,EAEA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;AACvC,YAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACvB,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;AAErD,SAAC,CAAC,CACE,CACP,CACG;;IAIV,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB;;QAGF,IACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,MAAM;YACpE,CAAC;AACH,YAAA,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC/C;YACA;;QAGF,IACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,MAAM;YACpE,CAAC;AACH,YAAA,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAC7C;AACA,YAAA,QACE,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,gCAAgC,EAAA,EAAA,gDAAA,CAErC;;QAIR,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wBAAwB,EAAA,EAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/utils/facets.ts","src/components/searchcraft-facet-list/searchcraft-facet-list.tsx"],"sourcesContent":["import type {\n Facet,\n FacetTree,\n FacetWithChildrenArray,\n FacetWithChildrenObject,\n} from '@types';\n\n/**\n * Helper function for getting a Node (FacetWithChildrenObject)\n * at a given path. Traverses the node tree to get the node.\n */\nexport const getFacetTreeNodeAtPath = (\n tree: FacetTree,\n nodePaths: string[],\n): FacetWithChildrenObject | undefined => {\n let cursor: FacetWithChildrenObject | undefined = tree;\n for (const nodePath of nodePaths) {\n cursor = cursor?.children[nodePath];\n }\n\n return cursor;\n};\n\n/**\n * Helper function to perform a deep merge.\n * Used for merging two branches of a facet tree together.\n */\nexport const deepMergeWithSpread = (obj1, obj2) => {\n const result = { ...obj1 };\n\n for (const key in obj2) {\n // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>\n if (obj2.hasOwnProperty(key)) {\n if (obj2[key] instanceof Object && obj1[key] instanceof Object) {\n result[key] = deepMergeWithSpread(obj1[key], obj2[key]);\n } else {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n};\n\n/**\n * Given an array of facet paths, removes parent facet paths so that only the\n * Leaf facets are sent with the search request.\n */\nexport function removeSubstringMatches(arr: string[]): string[] {\n return arr.filter(\n (entry, index, array) =>\n !array.some(\n (otherEntry, otherIndex) =>\n otherIndex !== index && otherEntry.includes(entry),\n ),\n );\n}\n\n/**\n * Merges a current facet tree with an incoming facet tree.\n *\n * At each branch, the incoming facet tree's facets override current facet tree\n *\n * @param currentTree\n * @param incomingTree\n */\nexport const mergeFacetTrees = (\n currentTree: FacetTree,\n incomingTree: FacetTree,\n): FacetTree => {\n const mergedTree: FacetTree = structuredClone(currentTree);\n\n const merge = (\n currentBranch: FacetWithChildrenObject,\n nodePath: string[],\n ): FacetWithChildrenObject => {\n const mergedBranch = structuredClone(currentBranch);\n const incomingBranch = getFacetTreeNodeAtPath(incomingTree, nodePath);\n\n if (!incomingBranch) {\n return mergedBranch;\n }\n\n for (const nodeName of Object.keys(currentBranch.children)) {\n if (incomingBranch.children[nodeName]) {\n mergedBranch.children[nodeName] = {\n ...deepMergeWithSpread(\n currentBranch.children[nodeName],\n incomingBranch.children[nodeName],\n ),\n count: mergedBranch.children[nodeName]?.count || 0,\n };\n } else if (mergedBranch.children[nodeName]) {\n mergedBranch.children[nodeName] = merge(\n mergedBranch.children[nodeName],\n [...nodePath, nodeName],\n );\n }\n }\n\n return mergedBranch;\n };\n\n return merge(mergedTree, []);\n};\n\n/**\n * A function that converts a FacetWithChidrenArray to a complete FacetTree object.\n *\n * It uses the `path` of each Facet to build the tree.\n *\n * @param facetWithChildArray\n * @param exclude - Optional array of facet values or paths to exclude from the tree.\n * - Values starting with \"/\" are treated as full paths and exclude the path and all children\n * (e.g., \"/news\" excludes \"/news\", \"/news/local\", \"/news/national\", etc.)\n * - Values without \"/\" are treated as segment names (e.g., \"local\" excludes all paths containing \"local\")\n */\nexport const facetWithChildrenArrayToCompleteFacetTree = (\n rootArray: FacetWithChildrenArray,\n exclude?: string[],\n): FacetTree => {\n // 1) Start with an empty tree at root \"/\"\n const tree: FacetTree = {\n path: '/',\n count: 0,\n children: {},\n };\n\n // 2) Recursively collect all nodes except the implicit \"/\" itself\n const allFacets: Facet[] = [];\n const collect = (node: FacetWithChildrenArray) => {\n if (node.path !== '/') {\n allFacets.push({ path: node.path, count: node.count });\n }\n if (node.children) {\n for (const child of node.children) {\n collect(child);\n }\n }\n };\n collect(rootArray);\n\n // 3) Insert each flat node into our tree, creating missing ancestors\n for (const { path, count } of allFacets) {\n const segments = path.split('/').filter(Boolean); // \"/sports/outdoors\" -> [\"sports\",\"outdoors\"]\n\n // Skip this facet if it matches any excluded value\n if (exclude && exclude.length > 0) {\n let shouldExclude = false;\n\n for (const excludeValue of exclude) {\n if (excludeValue.startsWith('/')) {\n // Full path exclusion: prefix match (excludes the path and all children)\n if (path === excludeValue || path.startsWith(`${excludeValue}/`)) {\n shouldExclude = true;\n break;\n }\n } else {\n // Segment exclusion: check if any segment matches\n if (segments.includes(excludeValue)) {\n shouldExclude = true;\n break;\n }\n }\n }\n\n if (shouldExclude) {\n continue;\n }\n }\n\n let cursor: FacetWithChildrenObject = tree; // start at the root\n for (const segment of segments) {\n // Build the full path of this level\n const prefixPath =\n cursor.path === '/' ? `/${segment}` : `${cursor.path}/${segment}`;\n\n // If this segment doesn't exist yet, create it\n if (!cursor.children[segment]) {\n cursor.children[segment] = {\n path: prefixPath,\n count: count,\n children: {},\n };\n }\n\n // Descend to the next level deeper\n cursor = cursor.children[segment];\n }\n\n // 4) Now `cursor` is the node matching `path` assign its real count\n cursor.count = count;\n }\n\n return tree;\n};\n","import {\n Component,\n Event,\n type EventEmitter,\n Prop,\n State,\n h,\n} from '@stencil/core';\n\nimport type {\n FacetRoot,\n FacetWithChildrenArray,\n FacetWithChildrenObject,\n SearchClientQuery,\n} from '@types';\n\nimport type { SearchcraftCore } from '@classes';\nimport { registry } from '@classes/CoreInstanceRegistry';\nimport type { SearchcraftState } from '@store';\nimport {\n deepMergeWithSpread,\n facetWithChildrenArrayToCompleteFacetTree,\n getFacetTreeNodeAtPath,\n mergeFacetTrees,\n removeSubstringMatches,\n} from '@utils';\n\ntype HandlerActionType =\n | 'SEARCH_TERM_EMPTY'\n | 'NEW_SEARCH_TERM'\n | 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE'\n | 'RANGE_VALUE_UPDATE'\n | 'EXACT_MATCH_UPDATE'\n | 'SORT_ORDER_UPDATE'\n | 'FACET_UPDATE'\n | 'UNKNOWN';\n\n/**\n * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.\n * It is consumed within the `searchcraft-filter-panel`.\n *\n * @js-example\n * ```html\n * <!-- index.html -->\n * <searchcraft-facet-list field-name=\"title\" />\n * ```\n *\n * ```js\n * // index.js\n * const facetList = document.querySelector('searchcraft-facet-list');\n *\n * facetList.addEventListener('facetSelectionUpdated', () => {\n * console.log('Facet selection updated');\n * });\n * ```\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-facet-list',\n shadow: false,\n})\nexport class SearchcraftFacetList {\n /**\n * The id of the Searchcraft instance that this component should use.\n */\n @Prop() searchcraftId?: string;\n /**\n * The name of the field where facets are applied.\n */\n @Prop() fieldName = '';\n /**\n * Array of facet values to exclude from rendering.\n */\n @Prop() exclude?: string[];\n\n /**\n * Emitted when the facets are updated.\n */\n @Event() facetSelectionUpdated?: EventEmitter<{ paths: string[] }>;\n\n /**\n * The currently selected facet paths.\n */\n @State() selectedPaths: Record<string, boolean> = {};\n\n /**\n * A Tree representing all of the facets collected from search responses.\n */\n @State() facetTreeCollectedFromSearchResponse: FacetWithChildrenObject = {\n path: '/',\n count: 0,\n children: {},\n };\n\n /**\n * A Tree representing the facet paths that are selected, but were not included\n * in any search response.\n */\n facetTreeFromFacetPathsNotInSearchResponse: FacetWithChildrenObject = {\n path: '/',\n count: 0,\n children: {},\n };\n\n /**\n * The facet tree that ultimately gets rendered.\n * This is a mergin of the facetTreeCollectedFromSearchResponse and the facetTreeFromFacetPathsNotInSearchResponse tree\n */\n @State() renderedFacetTree: FacetWithChildrenObject = {\n path: '/',\n count: 0,\n children: {},\n };\n\n // Internal vars used to track when to perform various facet actions.\n private lastTimeTaken?: number;\n private lastSearchTerm?: string;\n private lastSearchMode?: string;\n private lastSortType?: string | null;\n private lastRangeValues?: string;\n private lastFacetValues?: string;\n\n private unsubscribe?: () => void;\n private cleanupCore?: () => void;\n\n get areAnyFacetPathsSelected(): boolean {\n return Object.keys(this.selectedPaths).some(\n (key) => this.selectedPaths[key],\n );\n }\n\n handleIncomingSearchResponse(\n state: SearchcraftState,\n actionType: HandlerActionType,\n ) {\n // Look at the incoming facet root from the search response, and convert it to a FacetTree\n const incomingFacetRoot: FacetRoot | undefined =\n state.searchResponseFacetPrime?.find(\n (facet) => this.fieldName === Object.keys(facet)[0],\n );\n const incomingFacetsWithChildrenArray = incomingFacetRoot?.[this.fieldName];\n const incomingFacetTree = facetWithChildrenArrayToCompleteFacetTree(\n {\n path: '/',\n count: 0,\n children: incomingFacetsWithChildrenArray || [],\n },\n this.exclude,\n );\n\n // Determine what action to take to accumulate items into the `facetTreeCollectedFromSearchResponse`.\n // This facet tree gets accumulated in different ways depending on what action type occured.\n switch (actionType) {\n case 'SEARCH_TERM_EMPTY':\n this.facetTreeCollectedFromSearchResponse = {\n path: '/',\n count: 0,\n children: {},\n };\n break;\n case 'NEW_SEARCH_TERM':\n this.facetTreeCollectedFromSearchResponse = incomingFacetTree;\n break;\n case 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE':\n case 'EXACT_MATCH_UPDATE':\n case 'RANGE_VALUE_UPDATE': {\n if (state.supplementalFacetPrime) {\n const supplementalFacetRoot: FacetRoot | undefined =\n state.supplementalFacetPrime?.find(\n (facet) => this.fieldName === Object.keys(facet)[0],\n );\n const supplementalFacetsWithChildrenArray =\n supplementalFacetRoot?.[this.fieldName];\n const supplementalFacetTree =\n facetWithChildrenArrayToCompleteFacetTree(\n {\n path: '/',\n count: 0,\n children: supplementalFacetsWithChildrenArray || [],\n },\n this.exclude,\n );\n\n this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(\n supplementalFacetTree,\n incomingFacetTree,\n );\n } else {\n this.facetTreeCollectedFromSearchResponse = incomingFacetTree;\n }\n break;\n }\n case 'FACET_UPDATE':\n case 'SORT_ORDER_UPDATE':\n this.facetTreeCollectedFromSearchResponse = mergeFacetTrees(\n this.facetTreeCollectedFromSearchResponse,\n incomingFacetTree,\n );\n break;\n default:\n return;\n }\n\n // Determine if there are any selected facet paths not in the current tree.\n // If there are, we add them to \"facetTreeFromFacetPathsNotInSearchResponse\"\n this.facetTreeFromFacetPathsNotInSearchResponse = {\n path: '/',\n count: 0,\n children: {},\n };\n const collectedFacetArray: FacetWithChildrenArray = {\n path: '/',\n count: 0,\n children: [],\n };\n for (const pathName of Object.keys(this.selectedPaths).filter(\n (path) => this.selectedPaths[path],\n )) {\n const nodePaths = pathName.startsWith('/')\n ? pathName.substring(1).split('/')\n : pathName.split('/');\n\n const wasFoundInFacetTree = !!getFacetTreeNodeAtPath(\n this.facetTreeCollectedFromSearchResponse,\n nodePaths,\n );\n\n const pathKeyName = nodePaths.at(-1);\n if (!wasFoundInFacetTree && pathKeyName) {\n collectedFacetArray.children?.push({\n children: [],\n count: 0,\n path: pathName,\n });\n }\n }\n this.facetTreeFromFacetPathsNotInSearchResponse =\n facetWithChildrenArrayToCompleteFacetTree(\n collectedFacetArray,\n this.exclude,\n );\n\n // Merges facetTreeCollectedFromSearchResponse with selectedFacetPathsNotInCurrentFacetTree.\n // This results in a single, final facet tree that gets rendered in as Checkboxes\n this.renderedFacetTree = deepMergeWithSpread(\n this.facetTreeFromFacetPathsNotInSearchResponse,\n this.facetTreeCollectedFromSearchResponse,\n );\n }\n\n handleStateUpdate(_state: SearchcraftState) {\n const state = { ..._state };\n // Determine what action to take based on the current State\n\n // Check if this is an initialQuery case (string requestProperties with empty searchTerm)\n const isInitialQuery =\n typeof state.searchClientRequestProperties === 'string' &&\n state.searchTerm.trim() === '';\n\n if (state.searchTerm.trim() === '' && !isInitialQuery) {\n this.handleIncomingSearchResponse(state, 'SEARCH_TERM_EMPTY');\n this.lastSearchTerm = '';\n } else if (\n this.lastTimeTaken !== state.searchResponseTimeTaken &&\n state.searchClientRequestProperties\n ) {\n // Handle both object and string requestProperties (string is used for initialQuery)\n if (typeof state.searchClientRequestProperties === 'object') {\n const requestProperties = state.searchClientRequestProperties;\n let actionType: HandlerActionType = 'UNKNOWN';\n\n if (this.lastSearchTerm !== requestProperties.searchTerm) {\n if (this.areAnyFacetPathsSelected) {\n actionType = 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE';\n } else {\n actionType = 'NEW_SEARCH_TERM';\n }\n } else if (\n this.lastRangeValues !==\n JSON.stringify(requestProperties.rangeValueForIndexFields)\n ) {\n actionType = 'RANGE_VALUE_UPDATE';\n } else if (\n this.lastFacetValues !==\n JSON.stringify(requestProperties.facetPathsForIndexFields)\n ) {\n actionType = 'FACET_UPDATE';\n } else if (this.lastSortType !== requestProperties.order_by) {\n actionType = 'SORT_ORDER_UPDATE';\n } else if (this.lastSearchMode !== requestProperties.mode) {\n actionType = 'EXACT_MATCH_UPDATE';\n }\n\n this.lastRangeValues = JSON.stringify(\n requestProperties.rangeValueForIndexFields,\n );\n this.lastFacetValues = JSON.stringify(\n requestProperties.facetPathsForIndexFields,\n );\n this.lastSortType = requestProperties.order_by;\n this.lastSearchMode = requestProperties.mode;\n this.lastSearchTerm = requestProperties.searchTerm;\n this.lastTimeTaken = state.searchResponseTimeTaken;\n // Handle the incoming response, using the action we have determined.\n this.handleIncomingSearchResponse(state, actionType);\n } else if (typeof state.searchClientRequestProperties === 'string') {\n // Handle initialQuery case where requestProperties is a string\n // For initialQuery, searchTerm will be empty but we still want to show facets\n let actionType: HandlerActionType = 'NEW_SEARCH_TERM';\n\n // Parse the request to get facet and range filters from the query array\n const requestObj = JSON.parse(state.searchClientRequestProperties);\n const queryArray = Array.isArray(requestObj.query)\n ? requestObj.query\n : [requestObj.query];\n\n // Extract filter queries (those with occur: 'must')\n const filterQueries = queryArray.filter(\n (q: SearchClientQuery) => q.occur === 'must',\n );\n const currentFilters = JSON.stringify(filterQueries);\n\n // Determine the action type based on what changed\n if (\n this.lastFacetValues !== undefined &&\n this.lastFacetValues !== currentFilters\n ) {\n // Filters have changed (not initial load)\n actionType = 'FACET_UPDATE';\n } else if (\n state.searchTerm.trim() === '' &&\n this.lastSearchTerm === ''\n ) {\n // Initial load or no changes with empty search term\n actionType = 'NEW_SEARCH_TERM';\n } else if (this.lastSearchTerm !== state.searchTerm) {\n // User has typed a new search term after initialQuery\n if (this.areAnyFacetPathsSelected) {\n actionType = 'NEW_SEARCH_TERM_WHILE_FACETS_ACTIVE';\n } else {\n actionType = 'NEW_SEARCH_TERM';\n }\n }\n\n this.lastFacetValues = currentFilters;\n this.lastSearchTerm = state.searchTerm;\n this.lastTimeTaken = state.searchResponseTimeTaken;\n // Handle the incoming response, using the action we have determined.\n this.handleIncomingSearchResponse(state, actionType);\n }\n }\n }\n\n onCoreAvailable(core: SearchcraftCore) {\n this.handleStateUpdate(core.store.getState());\n\n this.unsubscribe = core.store.subscribe((state) => {\n this.handleStateUpdate(state);\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 handleCheckboxChange(path: string) {\n const isCheckboxChecked = !this.selectedPaths[path];\n\n if (isCheckboxChecked) {\n /**\n * Checkbox Checked: Add to the selectedPaths record\n * Uses spread operator here so UI updates.\n */\n this.selectedPaths = {\n ...this.selectedPaths,\n [path]: true,\n };\n } else {\n /**\n * Checkbox Uncheck: Remove any paths and sub-paths\n */\n const updatedPaths = Object.keys(this.selectedPaths).filter(\n (testPath) => !testPath.includes(path),\n );\n\n this.selectedPaths = updatedPaths.reduce(\n (acc, str) => {\n acc[str] = true;\n return acc;\n },\n {} as Record<string, boolean>,\n );\n }\n\n /**\n * Emit the paths array, with parent paths removed.\n */\n const paths = Object.keys(this.selectedPaths).filter(\n (path) => this.selectedPaths[path],\n );\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n\n this.facetSelectionUpdated?.emit({ paths: pathsWithParentPathsRemoved });\n }\n\n formatFacetName = (name: string): string => {\n const label = name.replace(/^\\//, '');\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())}`;\n };\n\n renderFacet(keyName: string, facet: FacetWithChildrenObject) {\n let isChildSelected = false;\n for (const path of Object.keys(this.selectedPaths)) {\n if (\n this.selectedPaths[path] &&\n path.startsWith(facet.path) &&\n path.length > facet.path.length\n ) {\n isChildSelected = true;\n }\n }\n\n const isSelected = Object.keys(this.selectedPaths).includes(facet.path);\n\n const shouldRenderChildren =\n (Object.keys(facet.children).length > 0 &&\n (isSelected || isChildSelected)) ||\n keyName === '@@root';\n\n return (\n <div class='searchcraft-facet-list-item'>\n {keyName !== '@@root' && (\n <label class='searchcraft-facet-list-checkbox-label'>\n <div class='searchcraft-facet-list-checkbox-input-wrapper'>\n <input\n class='searchcraft-facet-list-checkbox-input'\n checked={this.selectedPaths[facet.path]}\n onChange={(_event: Event) => {\n this.handleCheckboxChange(facet.path);\n }}\n type='checkbox'\n />\n {isChildSelected ? (\n <div class='searchcraft-facet-list-checkbox-input-dash-icon'>\n <svg viewBox='0 0 14 3' fill='none'>\n <title>Checkbox dash</title>\n <line\n x1='1.5'\n y1='1.5'\n x2='12.5'\n y2='1.5'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n />\n </svg>\n </div>\n ) : (\n <div class='searchcraft-facet-list-checkbox-input-check-icon'>\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none'>\n <title>Checkbox check</title>\n <path\n d='M13.9999 2L5.74988 10L1.99988 6.36364'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n )}\n </div>\n <span>\n {this.formatFacetName(keyName)} ({facet.count})\n </span>\n </label>\n )}\n {shouldRenderChildren && (\n <div\n class='searchcraft-facet-list'\n style={{\n paddingLeft: keyName !== '@@root' ? '24px' : '0px',\n paddingTop: keyName !== '@@root' ? '6px' : '0px',\n }}\n >\n {Object.keys(facet.children).map((key) => {\n if (facet.children[key]) {\n return this.renderFacet(key, facet.children[key]);\n }\n })}\n </div>\n )}\n </div>\n );\n }\n\n render() {\n if (!this.fieldName) {\n return;\n }\n\n if (\n Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===\n 0 &&\n (this.lastSearchTerm || '').trim().length === 0\n ) {\n return;\n }\n\n if (\n Object.keys(this.facetTreeCollectedFromSearchResponse.children).length ===\n 0 &&\n (this.lastSearchTerm || '').trim().length > 0\n ) {\n return (\n <p class='searchcraft-facet-list-message'>\n No facets are available for this search query.\n </p>\n );\n }\n\n return (\n <div class='searchcraft-facet-list'>\n {this.renderFacet('@@root', this.renderedFacetTree)}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
- import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
2
- import { r as registry } from './p-D0j0UFpV.js';
3
- import { d as defineCustomElement$4 } from './p-BV4HUriZ.js';
4
- import { d as defineCustomElement$3 } from './p-BbSxfaD7.js';
5
- import { d as defineCustomElement$2 } from './p-D5p2scT9.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { d as defineCustomElement$4 } from './searchcraft-facet-list2.js?v=0.13.2';
4
+ import { d as defineCustomElement$3 } from './searchcraft-slider2.js?v=0.13.2';
5
+ import { d as defineCustomElement$2 } from './searchcraft-toggle-button2.js?v=0.13.2';
6
6
 
7
7
  const SearchcraftFilterPanel$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftFilterPanel extends H {
8
8
  constructor(registerHost) {
@@ -310,22 +310,22 @@ function defineCustomElement$1() {
310
310
  const components = ["searchcraft-filter-panel", "searchcraft-facet-list", "searchcraft-slider", "searchcraft-toggle-button"];
311
311
  components.forEach(tagName => { switch (tagName) {
312
312
  case "searchcraft-filter-panel":
313
- if (!customElements.get(tagName)) {
314
- customElements.define(tagName, SearchcraftFilterPanel$1);
313
+ if (!customElements.get(transformTag(tagName))) {
314
+ customElements.define(transformTag(tagName), SearchcraftFilterPanel$1);
315
315
  }
316
316
  break;
317
317
  case "searchcraft-facet-list":
318
- if (!customElements.get(tagName)) {
318
+ if (!customElements.get(transformTag(tagName))) {
319
319
  defineCustomElement$4();
320
320
  }
321
321
  break;
322
322
  case "searchcraft-slider":
323
- if (!customElements.get(tagName)) {
323
+ if (!customElements.get(transformTag(tagName))) {
324
324
  defineCustomElement$3();
325
325
  }
326
326
  break;
327
327
  case "searchcraft-toggle-button":
328
- if (!customElements.get(tagName)) {
328
+ if (!customElements.get(transformTag(tagName))) {
329
329
  defineCustomElement$2();
330
330
  }
331
331
  break;
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftInputForm$1, d as defineCustomElement$1 } from './p-C-wcIch1.js';
1
+ import { S as SearchcraftInputForm$1, d as defineCustomElement$1 } from './searchcraft-input-form2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftInputForm = SearchcraftInputForm$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,9 +1,9 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-DO5g2x-l.js';
2
- import { c as classNames } from './p-BfTCfPZ1.js';
3
- import { r as registry } from './p-D0j0UFpV.js';
4
- import { d as defineCustomElement$3 } from './p-C681KruS.js';
5
- import { d as defineCustomElement$2 } from './p-DjPZkCLP.js';
6
- import { d as defineCustomElement$1 } from './p-L4PwHqQC.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { c as classNames } from './index3.js?v=0.13.2';
3
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
4
+ import { d as defineCustomElement$3 } from './searchcraft-button2.js?v=0.13.2';
5
+ import { d as defineCustomElement$2 } from './searchcraft-error-message2.js?v=0.13.2';
6
+ import { d as defineCustomElement$1 } from './searchcraft-input-label2.js?v=0.13.2';
7
7
 
8
8
  const SearchcraftInputForm = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputForm extends H {
9
9
  constructor(registerHost) {
@@ -185,22 +185,22 @@ function defineCustomElement() {
185
185
  const components = ["searchcraft-input-form", "searchcraft-button", "searchcraft-error-message", "searchcraft-input-label"];
186
186
  components.forEach(tagName => { switch (tagName) {
187
187
  case "searchcraft-input-form":
188
- if (!customElements.get(tagName)) {
189
- customElements.define(tagName, SearchcraftInputForm);
188
+ if (!customElements.get(transformTag(tagName))) {
189
+ customElements.define(transformTag(tagName), SearchcraftInputForm);
190
190
  }
191
191
  break;
192
192
  case "searchcraft-button":
193
- if (!customElements.get(tagName)) {
193
+ if (!customElements.get(transformTag(tagName))) {
194
194
  defineCustomElement$3();
195
195
  }
196
196
  break;
197
197
  case "searchcraft-error-message":
198
- if (!customElements.get(tagName)) {
198
+ if (!customElements.get(transformTag(tagName))) {
199
199
  defineCustomElement$2();
200
200
  }
201
201
  break;
202
202
  case "searchcraft-input-label":
203
- if (!customElements.get(tagName)) {
203
+ if (!customElements.get(transformTag(tagName))) {
204
204
  defineCustomElement$1();
205
205
  }
206
206
  break;
@@ -208,6 +208,6 @@ function defineCustomElement() {
208
208
  }
209
209
 
210
210
  export { SearchcraftInputForm as S, defineCustomElement as d };
211
- //# sourceMappingURL=p-C-wcIch1.js.map
211
+ //# sourceMappingURL=searchcraft-input-form2.js.map
212
212
 
213
- //# sourceMappingURL=p-C-wcIch1.js.map
213
+ //# sourceMappingURL=searchcraft-input-form2.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-input-form2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-input-form/searchcraft-input-form.tsx"],"sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport type { SearchcraftCore } from '@classes';\nimport { registry } from '@classes/CoreInstanceRegistry';\nimport type { SearchcraftState } from '@store';\n\n/**\n * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.\n * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.\n *\n * @react-import\n * ```jsx\n * import { SearchcraftInputForm } from \"@searchcraft/react-sdk\";\n * ```\n *\n * @vue-import\n * ```jsx\n * import { SearchcraftInputForm } from \"@searchcraft/vue-sdk\";\n * ```\n *\n * @js-example\n * ```html\n * <searchcraft-input-form auto-search />\n * ```\n *\n * @react-example\n * ```jsx\n * <SearchcraftInputForm autoSearch />\n * ```\n *\n * @vue-example\n * ```jsx\n * <SearchcraftInputForm autoSearch />\n * ```\n */\n@Component({\n tag: 'searchcraft-input-form',\n shadow: false,\n})\nexport class SearchcraftInputForm {\n /**\n * The id of the Searchcraft instance that this component should use.\n */\n @Prop() searchcraftId?: string;\n /**\n * Whether or not to automatically submit the search term when the input changes.\n */\n @Prop() autoSearch?: boolean = true;\n /**\n * Where to place the search button.\n */\n @Prop() buttonPlacement?: 'left' | 'right' | 'none' = 'none';\n /**\n * The label for the submit button.\n */\n @Prop() buttonLabel?: string;\n /**\n * The label rendered above the input.\n */\n @Prop() inputLabel?: string;\n /**\n * The input element's placeholder value.\n */\n @Prop() placeholderValue?: string = 'Enter Search';\n /**\n * The placeholder's render behavior.\n * 'hide-on-focus' - Hide the placeholder text immediately when the input form gains focus.\n * 'hide-on-text-entered' - Only hide the placeholder when the input form has text entered into it.\n */\n @Prop() placeholderBehavior?: 'hide-on-focus' | 'hide-on-text-entered';\n /**\n * The value to display in the input field.\n */\n @Prop() value?: string;\n /**\n * When the input becomes focused.\n */\n @Event() inputFocus?: EventEmitter<void>;\n /**\n * When the input becomes unfocused.\n */\n @Event() inputBlur?: EventEmitter<void>;\n /**\n * Event emitted when input initializes.\n */\n @Event() inputInit?: EventEmitter<void>;\n\n @State() inputValue = '';\n @State() searchTerm = '';\n @State() error = false;\n\n private core?: SearchcraftCore;\n private unsubscribe?: () => void;\n private cleanupCore?: () => void;\n\n init() {\n if (this.core) {\n // Initialize inputValue from prop if provided\n if (this.value !== undefined && this.value.trim().length > 0) {\n this.inputValue = this.value;\n this.core.store.getState().setSearchTerm(this.value);\n // Trigger search if autoSearch is enabled\n if (this.autoSearch) {\n this.core.store.getState().search();\n }\n }\n this.inputInit?.emit();\n }\n }\n\n @Watch('core')\n onCoreChange() {\n this.init();\n }\n\n @Watch('value')\n onValueChange(newValue: string | undefined) {\n if (newValue !== undefined && newValue !== this.inputValue) {\n this.inputValue = newValue;\n this.core?.store.getState().setSearchTerm(newValue);\n // Trigger search if autoSearch is enabled and value is not empty\n if (this.autoSearch && newValue.trim().length > 0) {\n this.core?.store.getState().search();\n }\n }\n }\n\n onCoreAvailable(core: SearchcraftCore) {\n this.core = core;\n this.init();\n this.unsubscribe = core.store.subscribe((state: SearchcraftState) => {\n this.searchTerm = state.searchTerm;\n // Only update inputValue from store if value prop is not set\n // OR if the store was cleared (empty string)\n if (this.value === undefined || state.searchTerm === '') {\n this.inputValue = state.searchTerm;\n }\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 handleInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.core?.store.getState().setSearchTerm(input.value);\n\n if (!this.autoSearch) {\n return;\n }\n\n this.performSearch();\n };\n\n private performSearch = async () => {\n this.error = false;\n\n try {\n await this.core?.store.getState().search();\n } catch (error) {\n this.error = true;\n }\n };\n\n handleClearInput = () => {\n // Clear the input value even if controlled by prop\n this.inputValue = '';\n this.core?.store.getState().resetSearchValues();\n this.error = false;\n };\n\n handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n await this.performSearch();\n };\n\n render() {\n const isShowingClearButton = this.inputValue.length > 0;\n const inputGridClassNames = classNames('searchcraft-input-form-grid', {\n 'searchcraft-input-form-grid-button-left':\n this.buttonPlacement === 'left',\n 'searchcraft-input-form-grid-button-right':\n this.buttonPlacement === 'right',\n 'searchcraft-input-form-grid-button-none':\n this.buttonPlacement === 'none',\n });\n const shouldHaveVerticalGap = this.inputLabel || this.error;\n const inputGridStyles = {\n gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',\n };\n return (\n <form class='searchcraft-input-form' onSubmit={this.handleFormSubmit}>\n <div class={inputGridClassNames} style={inputGridStyles}>\n <div class='searchcraft-input-form-button'>\n <searchcraft-button\n onButtonClick={this.handleFormSubmit}\n label={this.buttonLabel}\n />\n </div>\n {this.inputLabel && (\n <div class='searchcraft-input-form-label'>\n <searchcraft-input-label label={this.inputLabel} />\n </div>\n )}\n {this.error && (\n <div class='searchcraft-input-form-error-message'>\n <searchcraft-error-message>\n Something went wrong.\n </searchcraft-error-message>\n </div>\n )}\n <div class='searchcraft-input-form-input-wrapper'>\n <input\n autoComplete='off'\n class={classNames('searchcraft-input-form-input', {\n 'searchcraft-placeholder-hide-on-focus':\n this.placeholderBehavior === 'hide-on-focus',\n })}\n onFocus={() => this.inputFocus?.emit()}\n onBlur={() => this.inputBlur?.emit()}\n onInput={(event) => {\n this.handleInput(event);\n }}\n placeholder={this.placeholderValue}\n type='text'\n value={this.inputValue}\n />\n <div class='searchcraft-input-form-input-icon'>\n <svg\n class='searchcraft-input-form-input-search-icon'\n viewBox='0 0 20 20'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='searchcraft-title'\n >\n <title>Search icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='currentColor'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n {isShowingClearButton && (\n <button\n type='button'\n class='searchcraft-input-form-clear-button'\n onClick={this.handleClearInput}\n >\n <svg\n class='searchcraft-input-form-clear-icon'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title>Clear icon</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='currentColor'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n </form>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftInputLabel$1, d as defineCustomElement$1 } from './p-L4PwHqQC.js';
1
+ import { S as SearchcraftInputLabel$1, d as defineCustomElement$1 } from './searchcraft-input-label2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftInputLabel = SearchcraftInputLabel$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
2
- import { c as classNames } from './p-BfTCfPZ1.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { c as classNames } from './index3.js?v=0.13.2';
3
3
 
4
4
  const SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {
5
5
  constructor(registerHost) {
@@ -27,14 +27,14 @@ function defineCustomElement() {
27
27
  const components = ["searchcraft-input-label"];
28
28
  components.forEach(tagName => { switch (tagName) {
29
29
  case "searchcraft-input-label":
30
- if (!customElements.get(tagName)) {
31
- customElements.define(tagName, SearchcraftInputLabel);
30
+ if (!customElements.get(transformTag(tagName))) {
31
+ customElements.define(transformTag(tagName), SearchcraftInputLabel);
32
32
  }
33
33
  break;
34
34
  } });
35
35
  }
36
36
 
37
37
  export { SearchcraftInputLabel as S, defineCustomElement as d };
38
- //# sourceMappingURL=p-L4PwHqQC.js.map
38
+ //# sourceMappingURL=searchcraft-input-label2.js.map
39
39
 
40
- //# sourceMappingURL=p-L4PwHqQC.js.map
40
+ //# sourceMappingURL=searchcraft-input-label2.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-input-label2.js","mappings":";;;MAiBa,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;;;;;;;AAChC;;AAEG;IACK,mBAAmB,GAAI,EAAE;IACzB,KAAK,GAAG,EAAE;IAElB,MAAM,GAAA;AACJ,QAAA,QACE,8DACE,KAAK,EAAE,UAAU,CAAC,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,EACtE,OAAO,EAAC,sBAAsB,EAAA,EAE7B,IAAI,CAAC,KAAK,CACL;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component serves as the input label for the searchcraft-input-form component.\n *\n * @js-example\n * ```html\n * <searchcraft-input-label label=\"Search\" />\n * ```\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-input-label',\n shadow: false,\n})\nexport class SearchcraftInputLabel {\n /**\n * The classname applied to the label element.\n */\n @Prop() inputLabelClassName? = '';\n @Prop() label = '';\n\n render() {\n return (\n <label\n class={classNames('searchcraft-input-label', this.inputLabelClassName)}\n htmlFor='searchcraft-input-id'\n >\n {this.label}\n </label>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftInputLabel, d as defineCustomElement$1 } from './p-B_415D4A.js';
1
+ import { S as SearchcraftInputLabel, d as defineCustomElement$1 } from './searchcraft-loading2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftLoading = SearchcraftInputLabel;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {
4
4
  constructor(registerHost) {
@@ -21,14 +21,14 @@ function defineCustomElement() {
21
21
  const components = ["searchcraft-loading"];
22
22
  components.forEach(tagName => { switch (tagName) {
23
23
  case "searchcraft-loading":
24
- if (!customElements.get(tagName)) {
25
- customElements.define(tagName, SearchcraftInputLabel);
24
+ if (!customElements.get(transformTag(tagName))) {
25
+ customElements.define(transformTag(tagName), SearchcraftInputLabel);
26
26
  }
27
27
  break;
28
28
  } });
29
29
  }
30
30
 
31
31
  export { SearchcraftInputLabel as S, defineCustomElement as d };
32
- //# sourceMappingURL=p-B_415D4A.js.map
32
+ //# sourceMappingURL=searchcraft-loading2.js.map
33
33
 
34
- //# sourceMappingURL=p-B_415D4A.js.map
34
+ //# sourceMappingURL=searchcraft-loading2.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-loading2.js","mappings":";;MAWa,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;;;;;;;AACxB,IAAA,KAAK;IAEb,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,2BAA2B,EAAA,CAAG,CACrC,EACN,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAE,EAAA,IAAI,CAAC,KAAK,CAAK,CACjD;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-loading/searchcraft-loading.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n/**\n * Renders a loading spinner/loading state for use in things like the summary box.\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-loading',\n shadow: false,\n})\nexport class SearchcraftInputLabel {\n @Prop() label?: string;\n\n render() {\n return (\n <div class='searchcraft-loading'>\n <div class='searchcraft-loading-bars'>\n <div class='searchcraft-loading-bar-1' />\n <div class='searchcraft-loading-bar-2' />\n <div class='searchcraft-loading-bar-3' />\n <div class='searchcraft-loading-bar-4' />\n <div class='searchcraft-loading-bar-5' />\n <div class='searchcraft-loading-bar-6' />\n </div>\n <p class='searchcraft-loading-label'>{this.label}</p>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, 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
- import { d as defineCustomElement$2 } from './p-C681KruS.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { c as classNames } from './index3.js?v=0.13.2';
4
+ import { d as defineCustomElement$2 } from './searchcraft-button2.js?v=0.13.2';
5
5
 
6
6
  const SearchcraftPagination$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPagination extends H {
7
7
  constructor(registerHost) {
@@ -128,12 +128,12 @@ function defineCustomElement$1() {
128
128
  const components = ["searchcraft-pagination", "searchcraft-button"];
129
129
  components.forEach(tagName => { switch (tagName) {
130
130
  case "searchcraft-pagination":
131
- if (!customElements.get(tagName)) {
132
- customElements.define(tagName, SearchcraftPagination$1);
131
+ if (!customElements.get(transformTag(tagName))) {
132
+ customElements.define(transformTag(tagName), SearchcraftPagination$1);
133
133
  }
134
134
  break;
135
135
  case "searchcraft-button":
136
- if (!customElements.get(tagName)) {
136
+ if (!customElements.get(transformTag(tagName))) {
137
137
  defineCustomElement$2();
138
138
  }
139
139
  break;
@@ -1,6 +1,6 @@
1
- import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
2
- import { r as registry } from './p-D0j0UFpV.js';
3
- import { h as html } from './p-_aHgRsRD.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { h as html } from './html.js?v=0.13.2';
4
4
 
5
5
  const SearchcraftPopoverButton$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverButton extends H {
6
6
  constructor(registerHost) {
@@ -128,8 +128,8 @@ function defineCustomElement$1() {
128
128
  const components = ["searchcraft-popover-button"];
129
129
  components.forEach(tagName => { switch (tagName) {
130
130
  case "searchcraft-popover-button":
131
- if (!customElements.get(tagName)) {
132
- customElements.define(tagName, SearchcraftPopoverButton$1);
131
+ if (!customElements.get(transformTag(tagName))) {
132
+ customElements.define(transformTag(tagName), SearchcraftPopoverButton$1);
133
133
  }
134
134
  break;
135
135
  } });
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftPopoverFooter$1, d as defineCustomElement$1 } from './p-C7ZK8CYu.js';
1
+ import { S as SearchcraftPopoverFooter$1, d as defineCustomElement$1 } from './searchcraft-popover-footer2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftPopoverFooter = SearchcraftPopoverFooter$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, h } from './p-DO5g2x-l.js';
2
- import { r as registry } from './p-D0j0UFpV.js';
3
- import { f as formatNumberWithCommas } from './p-i8oXh7db.js';
4
- import './p-BlYgaV0q.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { f as formatNumberWithCommas } from './units.js?v=0.13.2';
4
+ import './purify.es.js';
5
5
 
6
6
  const SearchcraftPopoverFooter = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverFooter extends H {
7
7
  constructor(registerHost) {
@@ -46,14 +46,14 @@ function defineCustomElement() {
46
46
  const components = ["searchcraft-popover-footer"];
47
47
  components.forEach(tagName => { switch (tagName) {
48
48
  case "searchcraft-popover-footer":
49
- if (!customElements.get(tagName)) {
50
- customElements.define(tagName, SearchcraftPopoverFooter);
49
+ if (!customElements.get(transformTag(tagName))) {
50
+ customElements.define(transformTag(tagName), SearchcraftPopoverFooter);
51
51
  }
52
52
  break;
53
53
  } });
54
54
  }
55
55
 
56
56
  export { SearchcraftPopoverFooter as S, defineCustomElement as d };
57
- //# sourceMappingURL=p-C7ZK8CYu.js.map
57
+ //# sourceMappingURL=searchcraft-popover-footer2.js.map
58
58
 
59
- //# sourceMappingURL=p-C7ZK8CYu.js.map
59
+ //# sourceMappingURL=searchcraft-popover-footer2.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-popover-footer2.js","mappings":";;;;;MAea,wBAAwB,iBAAAA,kBAAA,CAAA,MAAA,wBAAA,SAAAC,CAAA,CAAA;;;;;;;AACnC;;AAEG;AACK,IAAA,aAAa;AACZ,IAAA,kBAAkB;AAEnB,IAAA,WAAW,GAAe,MAAK,GAAG;AAClC,IAAA,WAAW;AAEnB,IAAA,eAAe,CAAC,IAAqB,EAAA;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,kBAAkB;AAElE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChD,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB;AACpD,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,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,4BAA4B,EAAA,EACxC,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,yCAAyC,EAC/C,EAAA,IAAI,CAAC;cACF,GAAG,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAgB,cAAA;cAClE,GAAG,CACL,EACJ,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,iCAAiC,EACvC,IAAI,EAAC,yBAAyB,EAC9B,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,EAAA,EAEhB,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uCAAuC,EAC7C,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,YAAY,EACpB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAAA,EAElC,CAAqC,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,wBAAA,CAAA,EACrC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,CAAC,EAAC,kmOAAkmO,EACpmO,IAAI,EAAC,cAAc,EAAA,CACnB,CACE,CACJ,CACG;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/searchcraft-popover-footer/searchcraft-popover-footer.tsx"],"sourcesContent":["import type { SearchcraftCore } from '@classes';\nimport { registry } from '@classes/CoreInstanceRegistry';\nimport { Component, Prop, State, h } from '@stencil/core';\n\nimport { formatNumberWithCommas } from '@utils';\n\n/**\n * Renders the footer for the searchcraft-popover-form.\n *\n * @internal\n */\n@Component({\n tag: 'searchcraft-popover-footer',\n shadow: false,\n})\nexport class SearchcraftPopoverFooter {\n /**\n * The id of the Searchcraft instance that this component should use.\n */\n @Prop() searchcraftId?: string;\n @State() searchResultsCount;\n\n private unsubscribe: () => void = () => {};\n private cleanupCore?: () => void;\n\n onCoreAvailable(core: SearchcraftCore) {\n this.searchResultsCount = core.store.getState().searchResultsCount;\n\n this.unsubscribe = core.store.subscribe((state) => {\n this.searchResultsCount = state.searchResultsCount;\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 <footer class='searchcraft-popover-footer'>\n <p class='searchcraft-popover-footer-results-info'>\n {this.searchResultsCount\n ? `${formatNumberWithCommas(this.searchResultsCount)} Results Found`\n : ' '}\n </p>\n <a\n class='searchcraft-popover-footer-link'\n href='https://searchcraft.io/'\n target='_blank'\n rel='noreferrer'\n >\n <svg\n class='searchcraft-popover-footer-link-image'\n width='169'\n height='16'\n viewBox='0 0 169 16'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <title>Powered by Searchcraft</title>\n <path\n d='M5.07288 0.608C7.60088 0.608 8.84888 2.064 8.84888 4.112C8.84888 6.16 7.60088 7.616 5.07288 7.616H1.68088V12H0.336875V0.608H5.07288ZM5.07288 6.4C6.67288 6.4 7.45688 5.552 7.45688 4.112C7.45688 2.672 6.67288 1.824 5.07288 1.824H1.68088V6.4H5.07288ZM13.31 12.192C10.99 12.192 9.31 10.512 9.31 7.872C9.31 5.232 10.99 3.552 13.31 3.552C15.63 3.552 17.31 5.232 17.31 7.872C17.31 10.512 15.63 12.192 13.31 12.192ZM13.31 11.04C14.91 11.04 15.966 9.872 15.966 7.872C15.966 5.872 14.91 4.704 13.31 4.704C11.71 4.704 10.654 5.872 10.654 7.872C10.654 9.872 11.71 11.04 13.31 11.04ZM28.3826 3.744H29.7586L27.0066 12H25.6626L24.4466 8.176C24.1586 7.264 23.8706 6.304 23.6146 5.376C23.3426 6.304 23.0546 7.264 22.7666 8.176L21.5666 12H20.2226L17.4706 3.744H18.8466L20.0146 7.472C20.3346 8.48 20.6226 9.472 20.9106 10.48C21.1826 9.472 21.4706 8.48 21.7906 7.472L22.9426 3.744H24.2866L25.4386 7.472C25.7426 8.464 26.0466 9.456 26.3346 10.448C26.6066 9.456 26.9106 8.464 27.2146 7.472L28.3826 3.744ZM37.5194 7.872V8.32H31.2474C31.3754 10.176 32.3514 11.024 33.7914 11.024C34.9594 11.024 35.6954 10.416 35.9834 9.488H37.3114C36.9114 11.04 35.7274 12.192 33.7594 12.192C31.5034 12.192 29.9194 10.544 29.9194 7.872C29.9194 5.28 31.4394 3.552 33.7274 3.552C36.1914 3.552 37.5194 5.504 37.5194 7.872ZM33.7274 4.72C32.4314 4.72 31.4874 5.536 31.2794 7.168H36.1434C36.0154 5.808 35.1994 4.72 33.7274 4.72ZM42.9101 3.616C43.0381 3.616 43.1661 3.616 43.3421 3.632V4.864H43.0221C41.3741 4.864 40.3181 5.696 40.3181 7.296V12H39.0381V3.744H40.2541V5.2C40.7181 4.336 41.5661 3.616 42.9101 3.616ZM51.2538 7.872V8.32H44.9818C45.1098 10.176 46.0858 11.024 47.5258 11.024C48.6938 11.024 49.4298 10.416 49.7178 9.488H51.0458C50.6458 11.04 49.4618 12.192 47.4938 12.192C45.2378 12.192 43.6538 10.544 43.6538 7.872C43.6538 5.28 45.1738 3.552 47.4618 3.552C49.9258 3.552 51.2538 5.504 51.2538 7.872ZM47.4618 4.72C46.1658 4.72 45.2218 5.536 45.0138 7.168H49.8778C49.7498 5.808 48.9338 4.72 47.4618 4.72ZM58.9805 0.608H60.2605V12H59.0445V10.72C58.4205 11.664 57.4445 12.192 56.2125 12.192C53.8925 12.192 52.3725 10.512 52.3725 7.872C52.3725 5.232 53.8925 3.552 56.2125 3.552C57.4125 3.552 58.3565 4.048 58.9805 4.928V0.608ZM56.3725 11.04C57.9725 11.04 59.0285 9.872 59.0285 7.872C59.0285 5.872 57.9725 4.704 56.3725 4.704C54.7725 4.704 53.7165 5.936 53.7165 7.936C53.7165 9.936 54.7725 11.04 56.3725 11.04ZM69.2736 3.552C71.5936 3.552 73.1136 5.232 73.1136 7.872C73.1136 10.512 71.5936 12.192 69.2736 12.192C68.0416 12.192 67.0656 11.664 66.4416 10.72V12H65.2256V0.608H66.5056V4.928C67.1296 4.048 68.0736 3.552 69.2736 3.552ZM69.1136 11.04C70.7136 11.04 71.7696 9.808 71.7696 7.808C71.7696 5.808 70.7136 4.704 69.1136 4.704C67.5136 4.704 66.4576 5.872 66.4576 7.872C66.4576 9.872 67.5136 11.04 69.1136 11.04ZM79.3795 3.744H80.7715L77.2835 13.296C76.7555 14.752 75.9075 15.184 74.5955 15.184C74.3395 15.184 74.0995 15.168 73.8275 15.136V14.064H74.5795C75.3955 14.064 75.8275 13.696 76.0835 13.04C76.1795 12.8 76.2755 12.528 76.3715 12.272L73.2675 3.744H74.6755L75.8435 7.184C76.2595 8.384 76.6435 9.568 77.0275 10.752C77.3955 9.568 77.7955 8.368 78.2115 7.168L79.3795 3.744ZM89.1546 12.256C86.1146 12.256 84.2906 10.864 84.2746 8.24H86.4026C86.4346 10.032 87.6346 10.512 89.2186 10.512C90.7066 10.512 91.5226 9.936 91.5226 8.864C91.5226 7.968 90.9306 7.568 89.1866 7.216L88.2266 7.024C86.0186 6.608 84.5626 5.632 84.5626 3.568C84.5626 1.68 86.0506 0.351999 88.7866 0.351999C91.9866 0.351999 93.3466 1.856 93.4266 4H91.3306C91.2506 2.784 90.6266 2.096 88.8186 2.096C87.4426 2.096 86.7706 2.64 86.7706 3.504C86.7706 4.416 87.2986 4.832 88.9946 5.184L89.9866 5.376C92.6746 5.904 93.7626 6.944 93.7626 8.752C93.7626 11.008 92.0026 12.256 89.1546 12.256ZM102.952 8.016V8.496H96.7758C96.9198 9.968 97.7518 10.624 98.9198 10.624C99.8798 10.624 100.504 10.176 100.808 9.44H102.744C102.328 11.12 100.888 12.192 98.9038 12.192C96.4718 12.192 94.7918 10.512 94.7918 7.872C94.7918 5.28 96.4238 3.552 98.8718 3.552C101.4 3.552 102.952 5.392 102.952 8.016ZM98.8558 5.12C97.7838 5.12 96.9838 5.728 96.7918 7.088H100.936C100.776 5.92 100.056 5.12 98.8558 5.12ZM111.599 12H109.583C109.455 11.776 109.391 11.392 109.359 10.992C108.815 11.76 107.919 12.192 106.703 12.192C104.943 12.192 103.727 11.312 103.727 9.712C103.727 8.336 104.559 7.36 106.895 7.136L108.143 7.024C108.911 6.928 109.311 6.688 109.311 6.08C109.311 5.44 108.975 5.056 107.807 5.056C106.655 5.056 106.175 5.36 106.095 6.368H104.111C104.223 4.624 105.247 3.552 107.823 3.552C110.287 3.552 111.263 4.544 111.263 6.032V10.432C111.263 11.024 111.375 11.68 111.599 12ZM107.183 10.752C108.255 10.752 109.311 10.176 109.311 8.736V7.984C109.103 8.176 108.799 8.272 108.367 8.32L107.279 8.448C106.159 8.576 105.791 8.976 105.791 9.632C105.791 10.32 106.255 10.752 107.183 10.752ZM117.216 3.616C117.392 3.616 117.536 3.616 117.712 3.648V5.504H117.2C115.712 5.504 114.816 6.24 114.816 7.808V12H112.8V3.744H114.752V5.216C115.152 4.288 115.936 3.616 117.216 3.616ZM122.137 12.192C119.689 12.192 118.057 10.512 118.057 7.872C118.057 5.232 119.673 3.552 122.137 3.552C124.297 3.552 125.737 4.784 125.977 6.72H123.961C123.769 5.696 123.033 5.232 122.137 5.232C120.937 5.232 120.121 6.064 120.121 7.872C120.121 9.68 120.969 10.512 122.137 10.512C123.049 10.512 123.833 10.016 123.993 8.928H126.009C125.785 10.944 124.249 12.192 122.137 12.192ZM131.641 3.552C133.369 3.552 134.537 4.56 134.537 6.528V12H132.521V6.864C132.521 5.808 131.993 5.296 130.969 5.296C130.089 5.296 129.129 5.904 129.129 7.376V12H127.113V0.608H129.129V4.848C129.673 4.096 130.521 3.552 131.641 3.552ZM139.887 12.192C137.439 12.192 135.807 10.512 135.807 7.872C135.807 5.232 137.423 3.552 139.887 3.552C142.047 3.552 143.487 4.784 143.727 6.72H141.711C141.519 5.696 140.783 5.232 139.887 5.232C138.687 5.232 137.871 6.064 137.871 7.872C137.871 9.68 138.719 10.512 139.887 10.512C140.799 10.512 141.583 10.016 141.743 8.928H143.759C143.535 10.944 141.999 12.192 139.887 12.192ZM149.279 3.616C149.455 3.616 149.599 3.616 149.775 3.648V5.504H149.263C147.775 5.504 146.879 6.24 146.879 7.808V12H144.863V3.744H146.815V5.216C147.215 4.288 147.999 3.616 149.279 3.616ZM157.803 12H155.787C155.659 11.776 155.595 11.392 155.563 10.992C155.019 11.76 154.123 12.192 152.907 12.192C151.147 12.192 149.931 11.312 149.931 9.712C149.931 8.336 150.763 7.36 153.099 7.136L154.347 7.024C155.115 6.928 155.515 6.688 155.515 6.08C155.515 5.44 155.179 5.056 154.011 5.056C152.859 5.056 152.379 5.36 152.299 6.368H150.315C150.427 4.624 151.451 3.552 154.027 3.552C156.491 3.552 157.467 4.544 157.467 6.032V10.432C157.467 11.024 157.579 11.68 157.803 12ZM153.387 10.752C154.459 10.752 155.515 10.176 155.515 8.736V7.984C155.307 8.176 155.003 8.272 154.571 8.32L153.483 8.448C152.363 8.576 151.995 8.976 151.995 9.632C151.995 10.32 152.459 10.752 153.387 10.752ZM162.466 2.16C161.746 2.16 161.426 2.512 161.426 3.152V3.744H163.122V5.28H161.426V12H159.426V5.28H158.146V3.744H159.426V3.12C159.426 1.664 160.146 0.559999 162.13 0.559999C162.45 0.559999 162.882 0.575999 163.17 0.608V2.16H162.466ZM168.636 5.28H167.004V9.744C167.004 10.288 167.276 10.464 167.948 10.464H168.636V12C168.268 12.032 167.9 12.064 167.58 12.064C165.836 12.064 165.004 11.472 165.004 9.952V5.28H163.724V3.744H165.004V1.344H167.004V3.744H168.636V5.28Z'\n fill='currentColor'\n />\n </svg>\n </a>\n </footer>\n );\n }\n}\n"],"version":3}
@@ -1,14 +1,14 @@
1
- import { p as proxyCustomElement, H, 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
- import { d as defineCustomElement$9 } from './p-C1S92_N8.js';
5
- import { d as defineCustomElement$8 } from './p-C681KruS.js';
6
- import { d as defineCustomElement$7 } from './p-DjPZkCLP.js';
7
- import { d as defineCustomElement$6 } from './p-C-wcIch1.js';
8
- import { d as defineCustomElement$5 } from './p-L4PwHqQC.js';
9
- import { d as defineCustomElement$4 } from './p-C7ZK8CYu.js';
10
- import { d as defineCustomElement$3 } from './p-Cju73I1E.js';
11
- import { d as defineCustomElement$2 } from './p-Dr9rPC9v.js';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { c as classNames } from './index3.js?v=0.13.2';
4
+ import { d as defineCustomElement$9 } from './searchcraft-ad2.js?v=0.13.2';
5
+ import { d as defineCustomElement$8 } from './searchcraft-button2.js?v=0.13.2';
6
+ import { d as defineCustomElement$7 } from './searchcraft-error-message2.js?v=0.13.2';
7
+ import { d as defineCustomElement$6 } from './searchcraft-input-form2.js?v=0.13.2';
8
+ import { d as defineCustomElement$5 } from './searchcraft-input-label2.js?v=0.13.2';
9
+ import { d as defineCustomElement$4 } from './searchcraft-popover-footer2.js?v=0.13.2';
10
+ import { d as defineCustomElement$3 } from './searchcraft-popover-list-item2.js?v=0.13.2';
11
+ import { d as defineCustomElement$2 } from './searchcraft-popover-list-view2.js?v=0.13.2';
12
12
 
13
13
  const SearchcraftPopoverForm$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverForm extends H {
14
14
  constructor(registerHost) {
@@ -286,52 +286,52 @@ function defineCustomElement$1() {
286
286
  const components = ["searchcraft-popover-form", "searchcraft-ad", "searchcraft-button", "searchcraft-error-message", "searchcraft-input-form", "searchcraft-input-label", "searchcraft-popover-footer", "searchcraft-popover-form", "searchcraft-popover-list-item", "searchcraft-popover-list-view"];
287
287
  components.forEach(tagName => { switch (tagName) {
288
288
  case "searchcraft-popover-form":
289
- if (!customElements.get(tagName)) {
290
- customElements.define(tagName, SearchcraftPopoverForm$1);
289
+ if (!customElements.get(transformTag(tagName))) {
290
+ customElements.define(transformTag(tagName), SearchcraftPopoverForm$1);
291
291
  }
292
292
  break;
293
293
  case "searchcraft-ad":
294
- if (!customElements.get(tagName)) {
294
+ if (!customElements.get(transformTag(tagName))) {
295
295
  defineCustomElement$9();
296
296
  }
297
297
  break;
298
298
  case "searchcraft-button":
299
- if (!customElements.get(tagName)) {
299
+ if (!customElements.get(transformTag(tagName))) {
300
300
  defineCustomElement$8();
301
301
  }
302
302
  break;
303
303
  case "searchcraft-error-message":
304
- if (!customElements.get(tagName)) {
304
+ if (!customElements.get(transformTag(tagName))) {
305
305
  defineCustomElement$7();
306
306
  }
307
307
  break;
308
308
  case "searchcraft-input-form":
309
- if (!customElements.get(tagName)) {
309
+ if (!customElements.get(transformTag(tagName))) {
310
310
  defineCustomElement$6();
311
311
  }
312
312
  break;
313
313
  case "searchcraft-input-label":
314
- if (!customElements.get(tagName)) {
314
+ if (!customElements.get(transformTag(tagName))) {
315
315
  defineCustomElement$5();
316
316
  }
317
317
  break;
318
318
  case "searchcraft-popover-footer":
319
- if (!customElements.get(tagName)) {
319
+ if (!customElements.get(transformTag(tagName))) {
320
320
  defineCustomElement$4();
321
321
  }
322
322
  break;
323
323
  case "searchcraft-popover-form":
324
- if (!customElements.get(tagName)) {
324
+ if (!customElements.get(transformTag(tagName))) {
325
325
  defineCustomElement$1();
326
326
  }
327
327
  break;
328
328
  case "searchcraft-popover-list-item":
329
- if (!customElements.get(tagName)) {
329
+ if (!customElements.get(transformTag(tagName))) {
330
330
  defineCustomElement$3();
331
331
  }
332
332
  break;
333
333
  case "searchcraft-popover-list-view":
334
- if (!customElements.get(tagName)) {
334
+ if (!customElements.get(transformTag(tagName))) {
335
335
  defineCustomElement$2();
336
336
  }
337
337
  break;
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftPopoverListItem$1, d as defineCustomElement$1 } from './p-Cju73I1E.js';
1
+ import { S as SearchcraftPopoverListItem$1, d as defineCustomElement$1 } from './searchcraft-popover-list-item2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftPopoverListItem = SearchcraftPopoverListItem$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
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';
1
+ import { p as proxyCustomElement, H, h, t as transformTag } from './index2.js?v=0.13.2';
2
+ import { r as registry } from './CoreInstanceRegistry.js?v=0.13.2';
3
+ import { g as getDocumentValueFromSearchResultMapping } from './units.js?v=0.13.2';
4
+ import './purify.es.js';
5
5
 
6
6
  const SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {
7
7
  constructor(registerHost) {
@@ -77,14 +77,14 @@ function defineCustomElement() {
77
77
  const components = ["searchcraft-popover-list-item"];
78
78
  components.forEach(tagName => { switch (tagName) {
79
79
  case "searchcraft-popover-list-item":
80
- if (!customElements.get(tagName)) {
81
- customElements.define(tagName, SearchcraftPopoverListItem);
80
+ if (!customElements.get(transformTag(tagName))) {
81
+ customElements.define(transformTag(tagName), SearchcraftPopoverListItem);
82
82
  }
83
83
  break;
84
84
  } });
85
85
  }
86
86
 
87
87
  export { SearchcraftPopoverListItem as S, defineCustomElement as d };
88
- //# sourceMappingURL=p-Cju73I1E.js.map
88
+ //# sourceMappingURL=searchcraft-popover-list-item2.js.map
89
89
 
90
- //# sourceMappingURL=p-Cju73I1E.js.map
90
+ //# sourceMappingURL=searchcraft-popover-list-item2.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-popover-list-item2.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}
@@ -1,4 +1,4 @@
1
- import { S as SearchcraftPopoverListView$1, d as defineCustomElement$1 } from './p-Dr9rPC9v.js';
1
+ import { S as SearchcraftPopoverListView$1, d as defineCustomElement$1 } from './searchcraft-popover-list-view2.js?v=0.13.2';
2
2
 
3
3
  const SearchcraftPopoverListView = SearchcraftPopoverListView$1;
4
4
  const defineCustomElement = defineCustomElement$1;