@fluid-topics/public-api 1.0.75 → 1.0.76

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 (34) hide show
  1. package/.npmignore +13 -0
  2. package/dist/cjs/types/ft-common/public.js +83 -29
  3. package/dist/fluidtopics.min.js +1 -1
  4. package/dist/mjs/types/ft-common/public.d.ts +57 -17
  5. package/dist/mjs/types/ft-common/public.js +72 -25
  6. package/package.json +1 -1
  7. package/yarn.lock +4146 -0
  8. package/.yarnrc +0 -1
  9. package/build/cjs/helpers/GenAIChunkReader.js +0 -66
  10. package/build/cjs/index.js +0 -476
  11. package/build/cjs/preferences/unauthenticated-preferences.js +0 -67
  12. package/build/cjs/roles/roles.js +0 -31
  13. package/build/cjs/types/ft-common/public.js +0 -848
  14. package/build/cjs/types/ft-server/public.js +0 -146
  15. package/build/mjs/helpers/GenAIChunkReader.d.ts +0 -19
  16. package/build/mjs/helpers/GenAIChunkReader.js +0 -37
  17. package/build/mjs/index.d.ts +0 -190
  18. package/build/mjs/index.js +0 -432
  19. package/build/mjs/preferences/unauthenticated-preferences.d.ts +0 -9
  20. package/build/mjs/preferences/unauthenticated-preferences.js +0 -61
  21. package/build/mjs/roles/roles.d.ts +0 -2
  22. package/build/mjs/roles/roles.js +0 -25
  23. package/build/mjs/types/ft-common/public.d.ts +0 -657
  24. package/build/mjs/types/ft-common/public.js +0 -762
  25. package/build/mjs/types/ft-server/public.d.ts +0 -104
  26. package/build/mjs/types/ft-server/public.js +0 -127
  27. package/build/rollup/fluidtopics.min.js +0 -1
  28. package/build/test-results/public-api.xml +0 -18
  29. package/build/test-results/web-components.xml +0 -12
  30. package/packages/cjs/package.json +0 -3
  31. package/packages/mjs/package.json +0 -3
  32. package/test-browser/helpers/GenAIChunkReader.test.ts +0 -54
  33. package/vite-plugin.mjs +0 -95
  34. package/web-test-runner.config.mjs +0 -58
package/.npmignore ADDED
@@ -0,0 +1,13 @@
1
+ .gradle
2
+ build
3
+ build.gradle.kts
4
+ node_modules
5
+ test
6
+ test-browser
7
+ packages
8
+ src
9
+ tsconfig.*
10
+ rollup.config.js
11
+ INTERNAL_README.md
12
+ vite-plugin.mjs
13
+ web-test-runner.config.mjs
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FtPeriodFilterType = exports.isFtSearchPreferencesConfiguration = exports.isFtMetadataPreferenceConfiguration = exports.isFtMapResource = exports.isFtTopicsRatingSummary = exports.isFtTopicRating = exports.isFtRatingSummary = exports.isFtRatingCreation = exports.isFtPublicationRatingSummary = exports.isFtPublicationRating = exports.isFtRatingType = exports.FtRatingType = exports.isFtMySearchRequest = exports.isFtMySearch = exports.isFtMetadataDescriptor = exports.isFtMetadataConfiguration = exports.isFtMetadataSortRule = exports.FtMetadataSortRule = exports.isFtMetadata = exports.isFtFacetType = exports.FtFacetType = exports.isFtUiLocale = exports.isFtMessageContext = exports.isFtSearchLocales = exports.isFtSearchLocale = exports.isFtMetadataHomeLayout = exports.FtMetadataHomeLayout = exports.isFtFeedbackCreation = exports.isFtExternalWebComponentContext = exports.FtExternalWebComponentContext = exports.isFtTopicContentTarget = exports.FtTopicContentTarget = exports.isFtUnstructuredDocument = exports.isFtTopicOrigin = exports.isFtTopic = exports.isFtTocNode = exports.isFtMapStyles = exports.isFtMap = exports.isFtCollectionDocument = exports.isFtBookmark = exports.isFtPersonalBookTopicLinkCreation = exports.isFtPersonalBookNodeCreation = exports.isFtPersonalBookMetadataUpdate = exports.isFtPersonalBookCreation = exports.isFtCredentials = exports.isFtTopicOriginType = exports.FtTopicOriginType = exports.isFtMyLibraryColors = exports.FtMyLibraryColors = exports.isFtHttpErrorDetails = void 0;
4
- exports.isFtWatermark = exports.isFtUserProfile = exports.isFtSession = exports.isFtSearchPreferences = exports.isFtAuthenticatedSession = exports.isFtAuthenticationIdentifier = exports.isFtUserRole = exports.FtUserRole = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtSearchScope = exports.FtSearchScope = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtPeriodFilter = exports.isFtPeriod = exports.isFtLabeledSearchFilter = exports.isFtSearchResults = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPublicClusterSortCriterion = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = exports.isFtSearchResultsPageInfo = exports.isFtVirtualField = exports.FtVirtualField = exports.isFtSearchSortCriterionType = exports.FtSearchSortCriterionType = exports.isFtSearchSortCriterionOrder = exports.FtSearchSortCriterionOrder = exports.isFtSearchPreset = exports.isFtSearchFilter = exports.isFtPeriodFilterType = void 0;
4
+ exports.FtUserRole = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtValueFilter = exports.isFtSearchScope = exports.FtSearchScope = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtRangeFilter = exports.isFtPeriod = exports.isFtMetadataFilter = exports.isFtPeriodFilter = exports.isFtLegacyMetadataFilter = exports.isFtLegacyLabeledMetadataFilter = exports.isFtLabeledMetadataFilter = exports.isFtSearchResults = exports.isFtDateFilterType = exports.FtDateFilterType = exports.isFtDateFilter = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPublicClusterSortCriterion = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = exports.isFtSearchResultsPageInfo = exports.isFtVirtualField = exports.FtVirtualField = exports.isFtSearchSortCriterionType = exports.FtSearchSortCriterionType = exports.isFtSearchSortCriterionOrder = exports.FtSearchSortCriterionOrder = exports.isFtSearchPreset = exports.isFtPeriodFilterType = void 0;
5
+ exports.isFtWatermark = exports.isFtUserProfile = exports.isFtSession = exports.isFtSearchPreferences = exports.isFtAuthenticatedSession = exports.isFtAuthenticationIdentifier = exports.isFtUserRole = void 0;
5
6
  const isObject = (o) => typeof o === "object" && o != null;
6
7
  const isBoolean = (o) => typeof o === "boolean";
7
8
  const isNumber = (o) => typeof o === "number";
@@ -337,14 +338,16 @@ const isFtMySearch = (o) => {
337
338
  exports.isFtMySearch = isFtMySearch;
338
339
  const isFtMySearchRequest = (o) => {
339
340
  return isObject(o)
340
- && (o.periodFilter == null || (0, exports.isFtPeriodFilter)(o.periodFilter))
341
+ && (o.periodFilter == null || o.periodFilter == null || (0, exports.isFtPeriodFilter)(o.periodFilter))
341
342
  && (isString(o.query))
342
343
  && (o.scope == null || (0, exports.isFtSearchScope)(o.scope))
343
- && ((Array.isArray(o.filters)
344
- && o.filters.every((v) => (0, exports.isFtLabeledSearchFilter)(v))))
344
+ && (o.filters == null || (Array.isArray(o.filters)
345
+ && o.filters.every((v) => (0, exports.isFtLegacyLabeledMetadataFilter)(v))))
345
346
  && ((Array.isArray(o.sort)
346
347
  && o.sort.every((v) => (0, exports.isFtSearchSortCriterion)(v))))
347
348
  && (o.virtualField == null || (0, exports.isFtVirtualField)(o.virtualField))
349
+ && (o.metadataFilters == null || (Array.isArray(o.metadataFilters)
350
+ && o.metadataFilters.every((v) => (0, exports.isFtLabeledMetadataFilter)(v))))
348
351
  && (o.contentLocale == null || isString(o.contentLocale));
349
352
  };
350
353
  exports.isFtMySearchRequest = isFtMySearchRequest;
@@ -436,21 +439,13 @@ const isFtPeriodFilterType = (o) => {
436
439
  return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR", "CUSTOM"].includes(o);
437
440
  };
438
441
  exports.isFtPeriodFilterType = isFtPeriodFilterType;
439
- const isFtSearchFilter = (o) => {
440
- return isObject(o)
441
- && (isBoolean(o.negative))
442
- && ((Array.isArray(o.values)
443
- && o.values.every((v) => isString(v))))
444
- && (isString(o.key));
445
- };
446
- exports.isFtSearchFilter = isFtSearchFilter;
447
442
  const isFtSearchPreset = (o) => {
448
443
  return isObject(o)
449
444
  && (isString(o.name))
450
- && ((Array.isArray(o.filters)
451
- && o.filters.every((v) => (0, exports.isFtSearchFilter)(v))))
452
445
  && (isNumber(o.priority))
453
- && (o.contentLocale == null || isString(o.contentLocale));
446
+ && (o.contentLocale == null || isString(o.contentLocale))
447
+ && ((Array.isArray(o.metadataFilters)
448
+ && o.metadataFilters.every((v) => (0, exports.isFtMetadataFilter)(v))));
454
449
  };
455
450
  exports.isFtSearchPreset = isFtSearchPreset;
456
451
  // From: SearchSortCriterionOrder
@@ -537,6 +532,23 @@ const isFtCollectionDocumentType = (o) => {
537
532
  return ["MAP", "DOCUMENT", "TOPIC", "PERSONAL_BOOK", "SHARED_BOOK"].includes(o);
538
533
  };
539
534
  exports.isFtCollectionDocumentType = isFtCollectionDocumentType;
535
+ const isFtDateFilter = (o) => {
536
+ return isObject(o)
537
+ && ((0, exports.isFtDateFilterType)(o.type));
538
+ };
539
+ exports.isFtDateFilter = isFtDateFilter;
540
+ // From: WsPublicDateFilterType
541
+ var FtDateFilterType;
542
+ (function (FtDateFilterType) {
543
+ FtDateFilterType["LAST_WEEK"] = "LAST_WEEK";
544
+ FtDateFilterType["LAST_MONTH"] = "LAST_MONTH";
545
+ FtDateFilterType["LAST_QUARTER"] = "LAST_QUARTER";
546
+ FtDateFilterType["LAST_YEAR"] = "LAST_YEAR";
547
+ })(FtDateFilterType = exports.FtDateFilterType || (exports.FtDateFilterType = {}));
548
+ const isFtDateFilterType = (o) => {
549
+ return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR"].includes(o);
550
+ };
551
+ exports.isFtDateFilterType = isFtDateFilterType;
540
552
  const isFtSearchResults = (o) => {
541
553
  return isObject(o)
542
554
  && (o.spellcheck == null || (0, exports.isFtSpellcheck)(o.spellcheck))
@@ -547,7 +559,16 @@ const isFtSearchResults = (o) => {
547
559
  && o.facets.every((v) => (0, exports.isFtSearchFacet)(v))));
548
560
  };
549
561
  exports.isFtSearchResults = isFtSearchResults;
550
- const isFtLabeledSearchFilter = (o) => {
562
+ const isFtLabeledMetadataFilter = (o) => {
563
+ return isObject(o)
564
+ && (o.valueFilter == null || (0, exports.isFtValueFilter)(o.valueFilter))
565
+ && (o.rangeFilter == null || (0, exports.isFtRangeFilter)(o.rangeFilter))
566
+ && (isString(o.label))
567
+ && (isString(o.key))
568
+ && (o.dateFilter == null || (0, exports.isFtDateFilter)(o.dateFilter));
569
+ };
570
+ exports.isFtLabeledMetadataFilter = isFtLabeledMetadataFilter;
571
+ const isFtLegacyLabeledMetadataFilter = (o) => {
551
572
  return isObject(o)
552
573
  && (isBoolean(o.negative))
553
574
  && ((Array.isArray(o.values)
@@ -555,13 +576,15 @@ const isFtLabeledSearchFilter = (o) => {
555
576
  && (isString(o.label))
556
577
  && (isString(o.key));
557
578
  };
558
- exports.isFtLabeledSearchFilter = isFtLabeledSearchFilter;
559
- const isFtPeriod = (o) => {
579
+ exports.isFtLegacyLabeledMetadataFilter = isFtLegacyLabeledMetadataFilter;
580
+ const isFtLegacyMetadataFilter = (o) => {
560
581
  return isObject(o)
561
- && (isString(o.from))
562
- && (isString(o.to));
582
+ && (isBoolean(o.negative))
583
+ && ((Array.isArray(o.values)
584
+ && o.values.every((v) => isString(v))))
585
+ && (isString(o.key));
563
586
  };
564
- exports.isFtPeriod = isFtPeriod;
587
+ exports.isFtLegacyMetadataFilter = isFtLegacyMetadataFilter;
565
588
  const isFtPeriodFilter = (o) => {
566
589
  return isObject(o)
567
590
  && (o.period == null || (0, exports.isFtPeriod)(o.period))
@@ -569,6 +592,26 @@ const isFtPeriodFilter = (o) => {
569
592
  && (o.key == null || isString(o.key));
570
593
  };
571
594
  exports.isFtPeriodFilter = isFtPeriodFilter;
595
+ const isFtMetadataFilter = (o) => {
596
+ return isObject(o)
597
+ && (o.valueFilter == null || (0, exports.isFtValueFilter)(o.valueFilter))
598
+ && (o.rangeFilter == null || (0, exports.isFtRangeFilter)(o.rangeFilter))
599
+ && (isString(o.key))
600
+ && (o.dateFilter == null || (0, exports.isFtDateFilter)(o.dateFilter));
601
+ };
602
+ exports.isFtMetadataFilter = isFtMetadataFilter;
603
+ const isFtPeriod = (o) => {
604
+ return isObject(o)
605
+ && (isString(o.from))
606
+ && (isString(o.to));
607
+ };
608
+ exports.isFtPeriod = isFtPeriod;
609
+ const isFtRangeFilter = (o) => {
610
+ return isObject(o)
611
+ && (isString(o.from))
612
+ && (isString(o.to));
613
+ };
614
+ exports.isFtRangeFilter = isFtRangeFilter;
572
615
  const isFtSearchPrior = (o) => {
573
616
  return isObject(o)
574
617
  && (isNumber(o.weight))
@@ -578,14 +621,16 @@ const isFtSearchPrior = (o) => {
578
621
  exports.isFtSearchPrior = isFtSearchPrior;
579
622
  const isFtSearchRequest = (o) => {
580
623
  return isObject(o)
581
- && (o.periodFilter == null || (0, exports.isFtPeriodFilter)(o.periodFilter))
624
+ && (o.periodFilter == null || o.periodFilter == null || (0, exports.isFtPeriodFilter)(o.periodFilter))
582
625
  && (isString(o.query))
583
626
  && ((0, exports.isFtPageRequest)(o.paging))
584
- && ((Array.isArray(o.filters)
585
- && o.filters.every((v) => (0, exports.isFtSearchFilter)(v))))
627
+ && (o.filters == null || (Array.isArray(o.filters)
628
+ && o.filters.every((v) => (0, exports.isFtLegacyMetadataFilter)(v))))
586
629
  && ((Array.isArray(o.sort)
587
630
  && o.sort.every((v) => (0, exports.isFtSearchSortCriterion)(v))))
588
631
  && (o.virtualField == null || (0, exports.isFtVirtualField)(o.virtualField))
632
+ && ((Array.isArray(o.metadataFilters)
633
+ && o.metadataFilters.every((v) => (0, exports.isFtMetadataFilter)(v))))
589
634
  && ((Array.isArray(o.facets)
590
635
  && o.facets.every((v) => (0, exports.isFtSearchFacetConf)(v))))
591
636
  && (o.scope == null || (0, exports.isFtSearchScope)(o.scope))
@@ -695,6 +740,13 @@ const isFtSearchScope = (o) => {
695
740
  return ["DEFAULT", "DOCUMENTS", "ALL_TOPICS"].includes(o);
696
741
  };
697
742
  exports.isFtSearchScope = isFtSearchScope;
743
+ const isFtValueFilter = (o) => {
744
+ return isObject(o)
745
+ && (isBoolean(o.negative))
746
+ && ((Array.isArray(o.values)
747
+ && o.values.every((v) => isString(v))));
748
+ };
749
+ exports.isFtValueFilter = isFtValueFilter;
698
750
  const isFtSearchFacet = (o) => {
699
751
  return isObject(o)
700
752
  && (isBoolean(o.hierarchical))
@@ -749,12 +801,12 @@ const isFtSuggestRequest = (o) => {
749
801
  return isObject(o)
750
802
  && (isString(o.input))
751
803
  && (o.scope == null || (0, exports.isFtSearchScope)(o.scope))
752
- && ((Array.isArray(o.filters)
753
- && o.filters.every((v) => (0, exports.isFtSearchFilter)(v))))
754
804
  && ((Array.isArray(o.sort)
755
805
  && o.sort.every((v) => (0, exports.isFtSearchSortCriterion)(v))))
756
806
  && (o.maxCount == null || isNumber(o.maxCount))
757
- && (o.contentLocale == null || isString(o.contentLocale));
807
+ && (o.contentLocale == null || isString(o.contentLocale))
808
+ && ((Array.isArray(o.metadataFilters)
809
+ && o.metadataFilters.every((v) => (0, exports.isFtMetadataFilter)(v))));
758
810
  };
759
811
  exports.isFtSuggestRequest = isFtSuggestRequest;
760
812
  const isFtSuggestResult = (o) => {
@@ -814,8 +866,10 @@ const isFtAuthenticatedSession = (o) => {
814
866
  exports.isFtAuthenticatedSession = isFtAuthenticatedSession;
815
867
  const isFtSearchPreferences = (o) => {
816
868
  return isObject(o)
817
- && ((Array.isArray(o.defaultFilters)
818
- && o.defaultFilters.every((v) => (0, exports.isFtSearchFilter)(v))));
869
+ && (o.defaultFilters == null || (Array.isArray(o.defaultFilters)
870
+ && o.defaultFilters.every((v) => (0, exports.isFtLegacyMetadataFilter)(v))))
871
+ && ((Array.isArray(o.defaultMetadataFilters)
872
+ && o.defaultMetadataFilters.every((v) => (0, exports.isFtMetadataFilter)(v))));
819
873
  };
820
874
  exports.isFtSearchPreferences = isFtSearchPreferences;
821
875
  const isFtSession = (o) => {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var i={exports:{}};!function(e,r){var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==t&&t,a=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();!function(e){!function(r){var i=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==t&&t||{},a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};if(a.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return a.iterable&&(t[Symbol.iterator]=function(){return t}),t}function c(e){this.map={},e instanceof c?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function d(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function h(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function f(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:a.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a.arrayBuffer&&a.blob&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||n(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=d(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(a.blob)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,i,a,s=d(this);if(s)return s;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=p(t),i=/charset=([A-Za-z0-9_-]+)/.exec(e.type),a=i?i[1]:"utf-8",t.readAsText(e,a),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(E)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=o(e),t=l(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[o(e)]},c.prototype.get=function(e){return e=o(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(o(e))},c.prototype.set=function(e,t){this.map[o(e)]=l(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),u(e)},c.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},c.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),u(e)},a.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var A=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function m(e,t){if(!(this instanceof m))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,a,s=(t=t||{}).body;if(e instanceof m){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=(r=t.method||this.method||"GET",a=r.toUpperCase(),A.indexOf(a)>-1?a:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in i)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(s),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function E(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),a=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(a))}})),t}function g(e,t){if(!(this instanceof g))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},f.call(m.prototype),f.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},g.error=function(){var e=new g(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var T=[301,302,303,307,308];g.redirect=function(e,t){if(-1===T.indexOf(t))throw new RangeError("Invalid status code");return new g(null,{status:t,headers:{location:e}})},r.DOMException=i.DOMException;try{new r.DOMException}catch(e){r.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function b(e,t){return new Promise((function(s,n){var u=new m(e,t);if(u.signal&&u.signal.aborted)return n(new r.DOMException("Aborted","AbortError"));var d=new XMLHttpRequest;function p(){d.abort()}if(d.onload=function(){var e,t,r={statusText:d.statusText,headers:(e=d.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),i=r.shift().trim();if(i){var a=r.join(":").trim();try{t.append(i,a)}catch(e){console.warn("Response "+e.message)}}})),t)};0===u.url.indexOf("file://")&&(d.status<200||d.status>599)?r.status=200:r.status=d.status,r.url="responseURL"in d?d.responseURL:r.headers.get("X-Request-URL");var i="response"in d?d.response:d.responseText;setTimeout((function(){s(new g(i,r))}),0)},d.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},d.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request timed out"))}),0)},d.onabort=function(){setTimeout((function(){n(new r.DOMException("Aborted","AbortError"))}),0)},d.open(u.method,function(e){try{return""===e&&i.location.href?i.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?d.withCredentials=!0:"omit"===u.credentials&&(d.withCredentials=!1),"responseType"in d&&(a.blob?d.responseType="blob":a.arrayBuffer&&(d.responseType="arraybuffer")),t&&"object"==typeof t.headers&&!(t.headers instanceof c||i.Headers&&t.headers instanceof i.Headers)){var h=[];Object.getOwnPropertyNames(t.headers).forEach((function(e){h.push(o(e)),d.setRequestHeader(e,l(t.headers[e]))})),u.headers.forEach((function(e,t){-1===h.indexOf(t)&&d.setRequestHeader(t,e)}))}else u.headers.forEach((function(e,t){d.setRequestHeader(t,e)}));u.signal&&(u.signal.addEventListener("abort",p),d.onreadystatechange=function(){4===d.readyState&&u.signal.removeEventListener("abort",p)}),d.send(void 0===u._bodyInit?null:u._bodyInit)}))}b.polyfill=!0,i.fetch||(i.fetch=b,i.Headers=c,i.Request=m,i.Response=g),r.Headers=c,r.Request=m,r.Response=g,r.fetch=b}({})}(a),a.fetch.ponyfill=!0,delete a.fetch.polyfill;var s=i.fetch?i:a;(r=s.fetch).default=s.fetch,r.fetch=s.fetch,r.Headers=s.Headers,r.Request=s.Request,r.Response=s.Response,e.exports=r}(i,i.exports);var a=r(i.exports);class s{reader;decoder=new TextDecoder;partialChunk="";constructor(e){this.reader=e}async*read(){for(;;){const{done:e,value:t}=await this.reader.read();if(e)return void(yield*this.readRemainingChunks());yield*this.readChunksFromValue(t)}}*readRemainingChunks(){yield*this.parseLine(this.partialChunk)}*readChunksFromValue(e){const t=(this.partialChunk+this.decoder.decode(e)).split("\n");this.partialChunk=t.pop();for(let e of t)yield*this.parseLine(e)}*parseLine(e){const[t,r]=e.split(/:(.*)/);"data"==t&&r.length>0&&(yield JSON.parse(r))}}const n=e=>"object"==typeof e&&null!=e,o=e=>"boolean"==typeof e,l=e=>"number"==typeof e,u=e=>"string"==typeof e;var c;e.FtMyLibraryColors=void 0,(c=e.FtMyLibraryColors||(e.FtMyLibraryColors={})).black="black",c.green="green",c.blue="blue",c.purple="purple",c.red="red",c.orange="orange",c.yellow="yellow";const d=e=>["black","green","blue","purple","red","orange","yellow"].includes(e);var p;e.FtTopicOriginType=void 0,(p=e.FtTopicOriginType||(e.FtTopicOriginType={})).OFFICIAL="OFFICIAL",p.PERSONAL="PERSONAL",p.SHARED="SHARED";const h=e=>["OFFICIAL","PERSONAL","SHARED"].includes(e),y=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>Array.isArray(e)&&e.every((e=>u(e)))))&&u(e.key),f=e=>n(e)&&u(e.notes)&&Array.isArray(e.children)&&e.children.every((e=>f(e)))&&(null==e.topicLink||A(e.topicLink))&&u(e.title)&&(null==e.htmlContent||u(e.htmlContent)),A=e=>n(e)&&u(e.tocId)&&u(e.contentId)&&u(e.mapId),m=e=>n(e)&&u(e.topicStylesheetUrl)&&u(e.titleStylesheetUrl)&&Array.isArray(e.customCssClasses)&&e.customCssClasses.every((e=>u(e))),E=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&(null==e.hasRating||o(e.hasRating))&&u(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>E(e)))&&(null==e.origin||g(e.origin))&&u(e.contentId)&&u(e.title),g=e=>n(e)&&u(e.mapTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.contentId)&&u(e.mapId)&&h(e.type);var T;e.FtTopicContentTarget=void 0,(T=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",T.OFF_THE_GRID="OFF_THE_GRID",T.CONTENT_PACKAGER="CONTENT_PACKAGER",T.PAGES="PAGES",T.DESIGNED_READER="DESIGNED_READER";var b;e.FtExternalWebComponentContext=void 0,(b=e.FtExternalWebComponentContext||(e.FtExternalWebComponentContext={})).HOMEPAGE="HOMEPAGE",b.CUSTOM="CUSTOM",b.HEADER="HEADER",b.READER="READER",b.TOPIC_TEMPLATE="TOPIC_TEMPLATE",b.SEARCH="SEARCH",b.SEARCH_RESULT="SEARCH_RESULT";var S;e.FtMetadataHomeLayout=void 0,(S=e.FtMetadataHomeLayout||(e.FtMetadataHomeLayout={})).CLASSIC="CLASSIC",S.CUSTOM="CUSTOM",S.DESIGNER="DESIGNER";const R=e=>n(e)&&l(e.count)&&u(e.label)&&(null==e.lang||u(e.lang));var F;e.FtFacetType=void 0,(F=e.FtFacetType||(e.FtFacetType={})).AND="AND",F.OR="OR",F.MONOVALUED="MONOVALUED";const O=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>u(e))))))&&u(e.label)&&u(e.key);var v;e.FtMetadataSortRule=void 0,(v=e.FtMetadataSortRule||(e.FtMetadataSortRule={})).NONE="NONE",v.ALPHABET="ALPHABET",v.VERSION="VERSION";const U=e=>["NONE","ALPHABET","VERSION"].includes(e),I=e=>n(e)&&o(e.date)&&U(e.sortRule)&&u(e.label)&&o(e.reverseSort)&&u(e.key),C=e=>n(e)&&(null==e.periodFilter||ie(e.periodFilter))&&u(e.query)&&(null==e.scope||he(e.scope))&&Array.isArray(e.filters)&&e.filters.every((e=>te(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>me(e)))&&(null==e.virtualField||K(e.virtualField))&&(null==e.contentLocale||u(e.contentLocale));var _;e.FtRatingType=void 0,(_=e.FtRatingType||(e.FtRatingType={})).STARS="STARS",_.LIKE="LIKE",_.DICHOTOMOUS="DICHOTOMOUS",_.NO_RATING="NO_RATING";const L=e=>["STARS","LIKE","DICHOTOMOUS","NO_RATING"].includes(e),P=e=>n(e)&&u(e.date)&&L(e.type)&&l(e.value),D=e=>n(e)&&(null==e.rating||P(e.rating))&&L(e.type),N=e=>n(e)&&u(e.date)&&u(e.tocId)&&L(e.type)&&l(e.value),k=e=>n(e)&&Array.isArray(e.ratings)&&e.ratings.every((e=>N(e)))&&L(e.type),M=e=>n(e)&&Array.isArray(e.filter)&&e.filter.every((e=>u(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>u(e)));var w;e.FtPeriodFilterType=void 0,(w=e.FtPeriodFilterType||(e.FtPeriodFilterType={})).LAST_WEEK="LAST_WEEK",w.LAST_MONTH="LAST_MONTH",w.LAST_QUARTER="LAST_QUARTER",w.LAST_YEAR="LAST_YEAR",w.CUSTOM="CUSTOM";const B=e=>["LAST_WEEK","LAST_MONTH","LAST_QUARTER","LAST_YEAR","CUSTOM"].includes(e),H=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.key);var x;e.FtSearchSortCriterionOrder=void 0,(x=e.FtSearchSortCriterionOrder||(e.FtSearchSortCriterionOrder={})).ASC="ASC",x.DESC="DESC";const V=e=>["ASC","DESC"].includes(e);var $;e.FtSearchSortCriterionType=void 0,($=e.FtSearchSortCriterionType||(e.FtSearchSortCriterionType={})).ALPHA="ALPHA",$.NATURAL="NATURAL";const j=e=>["ALPHA","NATURAL"].includes(e);var G;e.FtVirtualField=void 0,(G=e.FtVirtualField||(e.FtVirtualField={})).EVERYWHERE="EVERYWHERE",G.TITLE_ONLY="TITLE_ONLY",G.NONE="NONE";const K=e=>["EVERYWHERE","TITLE_ONLY","NONE"].includes(e),q=e=>n(e)&&l(e.totalResultsCount)&&o(e.isLastPage)&&l(e.currentPage)&&l(e.totalClustersCount);var z;e.FtEditorialType=void 0,(z=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",z.BOOK="BOOK",z.SHARED_BOOK="SHARED_BOOK";const X=e=>["ARTICLE","BOOK","SHARED_BOOK"].includes(e);var Y;e.FtOpenMode=void 0,(Y=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",Y.EXTERNAL="EXTERNAL";const W=e=>["FLUIDTOPICS","EXTERNAL"].includes(e),J=e=>n(e)&&(null==e.perPage||l(e.perPage))&&l(e.page),Q=e=>n(e)&&u(e.key);var Z;e.FtCollectionDocumentType=void 0,(Z=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",Z.DOCUMENT="DOCUMENT",Z.TOPIC="TOPIC",Z.PERSONAL_BOOK="PERSONAL_BOOK",Z.SHARED_BOOK="SHARED_BOOK";const ee=e=>["MAP","DOCUMENT","TOPIC","PERSONAL_BOOK","SHARED_BOOK"].includes(e),te=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.label)&&u(e.key),re=e=>n(e)&&u(e.from)&&u(e.to),ie=e=>n(e)&&(null==e.period||re(e.period))&&B(e.periodType)&&(null==e.key||u(e.key)),ae=e=>n(e)&&l(e.weight)&&u(e.value)&&u(e.key),se=e=>n(e)&&Array.isArray(e.entries)&&e.entries.every((e=>ne(e)))&&(null==e.metadataVariableAxis||u(e.metadataVariableAxis)),ne=e=>n(e)&&Array.isArray(e.missingTerms)&&e.missingTerms.every((e=>u(e)))&&(null==e.document||oe(e.document))&&(null==e.topic||ue(e.topic))&&de(e.type)&&(null==e.map||le(e.map)),oe=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&W(e.openMode)&&u(e.documentUrl)&&u(e.mimeType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.viewerUrl)&&u(e.contentUrl)&&u(e.filename)&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.documentId)&&u(e.lastEditionDate)&&u(e.htmlExcerpt),le=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&(null==e.openMode||W(e.openMode))&&X(e.editorialType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.mapUrl)&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt),ue=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&W(e.openMode)&&u(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>ge(e)))&&u(e.title)&&u(e.mapTitle)&&u(e.topicUrl)&&u(e.contentUrl)&&u(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt);var ce;e.FtSearchResultType=void 0,(ce=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",ce.DOCUMENT="DOCUMENT",ce.TOPIC="TOPIC";const de=e=>["MAP","DOCUMENT","TOPIC"].includes(e);var pe;e.FtSearchScope=void 0,(pe=e.FtSearchScope||(e.FtSearchScope={})).DEFAULT="DEFAULT",pe.DOCUMENTS="DOCUMENTS",pe.ALL_TOPICS="ALL_TOPICS";const he=e=>["DEFAULT","DOCUMENTS","ALL_TOPICS"].includes(e),ye=e=>n(e)&&o(e.hierarchical)&&u(e.label)&&o(e.multiSelectionable)&&u(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>Ae(e))),fe=e=>n(e)&&(null==e.maxDepth||l(e.maxDepth))&&u(e.id),Ae=e=>n(e)&&l(e.totalResultsCount)&&o(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>Ae(e)))&&u(e.label)&&u(e.value)&&o(e.selected),me=e=>n(e)&&j(e.type)&&u(e.key)&&V(e.order),Ee=e=>n(e)&&u(e.suggestedQuery)&&u(e.htmlSuggestedQuery),ge=e=>n(e)&&u(e.filename)&&u(e.resourceUrl)&&u(e.id)&&u(e.mimeType)&&u(e.resourceContentUrl)&&u(e.viewerUrl),Te=e=>n(e)&&(null==e.filenameExtension||u(e.filenameExtension))&&(null==e.editorialType||X(e.editorialType))&&(null==e.mimeType||u(e.mimeType))&&de(e.type)&&u(e.value);var be;e.FtUserRole=void 0,(be=e.FtUserRole||(e.FtUserRole={})).PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",be.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",be.HTML_EXPORT_USER="HTML_EXPORT_USER",be.PDF_EXPORT_USER="PDF_EXPORT_USER",be.SAVED_SEARCH_USER="SAVED_SEARCH_USER",be.COLLECTION_USER="COLLECTION_USER",be.OFFLINE_USER="OFFLINE_USER",be.ANALYTICS_USER="ANALYTICS_USER",be.BETA_USER="BETA_USER",be.DEBUG_USER="DEBUG_USER",be.PRINT_USER="PRINT_USER",be.RATING_USER="RATING_USER",be.FEEDBACK_USER="FEEDBACK_USER",be.GENERATIVE_AI_USER="GENERATIVE_AI_USER",be.CONTENT_PUBLISHER="CONTENT_PUBLISHER",be.KHUB_ADMIN="KHUB_ADMIN",be.USERS_ADMIN="USERS_ADMIN",be.PORTAL_ADMIN="PORTAL_ADMIN",be.ADMIN="ADMIN",be.DEVELOPER="DEVELOPER";const Se=e=>["PERSONAL_BOOK_USER","PERSONAL_BOOK_SHARE_USER","HTML_EXPORT_USER","PDF_EXPORT_USER","SAVED_SEARCH_USER","COLLECTION_USER","OFFLINE_USER","ANALYTICS_USER","BETA_USER","DEBUG_USER","PRINT_USER","RATING_USER","FEEDBACK_USER","GENERATIVE_AI_USER","CONTENT_PUBLISHER","KHUB_ADMIN","USERS_ADMIN","PORTAL_ADMIN","ADMIN","DEVELOPER"].includes(e),Re=e=>n(e)&&u(e.identifier)&&u(e.realm),Fe=e=>n(e)&&Array.isArray(e.defaultFilters)&&e.defaultFilters.every((e=>H(e))),Oe=e=>n(e)&&(null==e.emailAddress||u(e.emailAddress))&&(null==e.displayName||u(e.displayName))&&Array.isArray(e.roles)&&e.roles.every((e=>Se(e)))&&(null==e.userId||u(e.userId))&&Array.isArray(e.tags)&&e.tags.every((e=>u(e))),ve=e=>n(e)&&u(e.color)&&Array.isArray(e.text)&&e.text.every((e=>u(e)))&&l(e.opacity),Ue=e=>"object"==typeof e&&null!=e,Ie=e=>"boolean"==typeof e,Ce=e=>"number"==typeof e,_e=e=>"string"==typeof e;var Le;e.FtConfigurationHistoryEntryStatus=void 0,(Le=e.FtConfigurationHistoryEntryStatus||(e.FtConfigurationHistoryEntryStatus={})).VALID="VALID",Le.INVALID="INVALID";const Pe=e=>Ue(e)&&Ie(e.mailsSentByFluidTopics)&&Ie(e.mailsSentByFluidTopicsForUnauthenticatedUsers)&&Array.isArray(e.recipients)&&e.recipients.every((e=>_e(e)))&&Array.isArray(e.bodyMetadataIds)&&e.bodyMetadataIds.every((e=>_e(e)))&&Array.isArray(e.subjectMetadataIds)&&e.subjectMetadataIds.every((e=>_e(e))),De=e=>Ue(e)&&_e(e.role)&&_e(e.content),Ne=e=>Ue(e)&&(null==e.parentsVisibility||Array.isArray(e.parentsVisibility)&&e.parentsVisibility.every((e=>Ie(e))))&&Ie(e.isVisible),ke=e=>Ue(e)&&(null==e.prettyUrl||_e(e.prettyUrl))&&(null==e.hasRating||Ie(e.hasRating))&&(null==e.pageToc||Array.isArray(e.pageToc))&&(null==e.tocId||_e(e.tocId))&&Array.isArray(e.children)&&e.children.every((e=>ke(e)))&&(null==e.pageConfiguration||Ne(e.pageConfiguration))&&(null==e.contentId||_e(e.contentId))&&(null==e.title||_e(e.title)),Me=e=>Ue(e)&&Ie(e.splitCurrentPageToc),we=e=>Ue(e)&&Ue(e.metadata)&&Object.keys(e.metadata).every((e=>_e(e)))&&Object.values(e.metadata).every((e=>Array.isArray(e)&&e.every((e=>_e(e)))))&&_e(e.excerpt)&&Ce(e.relevance),Be=e=>Ue(e)&&Array.isArray(e.values)&&e.values.every((e=>_e(e)))&&_e(e.key),He={[e.FtUserRole.PERSONAL_BOOK_SHARE_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.HTML_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.PDF_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.KHUB_ADMIN]:[e.FtUserRole.CONTENT_PUBLISHER],[e.FtUserRole.ADMIN]:[e.FtUserRole.KHUB_ADMIN,e.FtUserRole.USERS_ADMIN,e.FtUserRole.PORTAL_ADMIN],[e.FtUserRole.DEVELOPER]:[e.FtUserRole.BETA_USER,e.FtUserRole.DEBUG_USER]};function xe(e,t){return e===t||(He[e]??[]).some((e=>xe(e,t)))}const Ve="undefined"==typeof window?globalThis:window;function $e(e){let t={};for(let r in e){let i=e[r];("object"!=typeof i||Array.isArray(i))&&(i={prior:i});for(let e of["prior","filter"])i[e]=Array.isArray(i[e])?i[e]:[i[e]],i[e]=i[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=i}return t}function je(e){return`${e}-FluidTopicsUnauthenticatedUserSearchPreferences`}const Ge="undefined"==typeof window?globalThis:window;class Ke extends Error{method;endpoint;status;statusText;body;constructor(e,t,r,i,a){super(`${e} ${t} -> ${r} - ${i}: ${a}`),this.method=e,this.endpoint=t,this.status=r,this.statusText=i,this.body=a}}class qe extends CustomEvent{constructor(e){super("ft-api-http-error",{detail:e})}}async function ze(e,t,r){if(!r.ok){let i={method:e,endpoint:t,status:r.status,statusText:r.statusText,body:await r.text()};throw"function"==typeof Ge.dispatchEvent&&Ge.dispatchEvent(new qe(i)),new Ke(i.method,i.endpoint,i.status,i.statusText,i.body)}return r}function Xe(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class Ye{tenantBaseUrl;tenantBaseUrlNoTrailingSlash;ftCallingApp;authorization;searchLabel;endpoints={authentication:{login:"api/authentication/login",logout:"api/authentication/logout",currentSession:"api/authentication/current-session"},khub:{maps:{mapId:e=>({info:`api/khub/maps/${e}`,toc:`api/khub/maps/${e}/toc`,pages:`api/khub/maps/${e}/pages`,feedback:`api/khub/maps/${e}/feedback`,rating:`api/khub/maps/${e}/rating`,attachments:{list:`api/khub/maps/${e}/attachments`,attachmentId:t=>({content:`api/khub/maps/${e}/attachments/${t}/content`})},resources:{list:`api/khub/maps/${e}/resources`,resourceId:t=>({content:`api/khub/maps/${e}/resources/${t}/content`})},topics:{contentId:t=>({info:`api/khub/maps/${e}/topics/${t}`,content:`api/khub/maps/${e}/topics/${t}/content`}),tocId:t=>({feedback:`api/khub/maps/${e}/topics/${t}/feedback`,rating:`api/khub/maps/${e}/topics/${t}/rating`})}})},documents:{documentId:e=>({info:`api/khub/documents/${e}`,content:`api/khub/documents/${e}/content`,text:`api/khub/documents/${e}/content/text`,feedback:`api/khub/documents/${e}/feedback`,rating:`api/khub/documents/${e}/rating`})},semantic:{search:"api/khub/semantic/search",clusteredSearch:"api/khub/semantic/clustered-search"},suggest:"api/khub/suggest",clusteredSearch:"api/khub/clustered-search",locales:"api/khub/locales"},users:{userId:e=>({collections:{collectionId:t=>({documents:`api/users/${e}/collections/${t}/documents`})},searches:{list:`api/users/${e}/searches`},bookmarks:{list:`api/users/${e}/bookmarks`}})},stylesheets:{fonts:"stylesheets/fonts.css",theme:"stylesheets/theme.css",content:{title:"stylesheets/content/title.css",topic:"stylesheets/content/topic.css"}},configuration:{reader:"api/configuration/reader",metadata:"api/configuration/metadata"},locales:{ui:"api/locales/ui"},messages:{locale:e=>({fluidTopics:{contextName:t=>({endpoint:`api/messages/${e}/fluid-topics/${t}`})},custom:{contextName:t=>({endpoint:`api/messages/${e}/custom/${t}`})}})},ai:{generate:"api/ai/generate",sendFeedback:"api/ai/rate",chat:"/api/ai/rag/chat"}};get defaultHeaders(){return{...this.authorization,...this.searchLabel,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){e=(e??Ge.fluidTopicsBaseUrl??Ge.__gwt_ft_moduleBase??"").trim(),this.tenantBaseUrl=e.endsWith("/")?e:e+"/",this.tenantBaseUrlNoTrailingSlash=this.tenantBaseUrl.replace(/\/$/,""),r&&void 0!==Ge.location&&Ge.location.href.startsWith(this.tenantBaseUrl)?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization=void 0}setSearchLabel(e){this.searchLabel={"FT-search-label":e}}clearSearchLabel(){this.searchLabel=void 0}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post(this.endpoints.authentication.login,r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post(this.endpoints.authentication.logout).then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get(this.endpoints.authentication.currentSession)}getReaderConfiguration(){return this.get(this.endpoints.configuration.reader)}getMap(e,t){return this.get(this.endpoints.khub.maps.mapId(e).info,t)}getTableOfContent(e,t){return this.get(this.endpoints.khub.maps.mapId(e).toc,t)}getPages(e,t){return this.get(this.endpoints.khub.maps.mapId(e).pages,t)}getTopic(e,t,r){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).info,r)}getTopicHTMLContent(e,t,r,i){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).content+(r?"?target="+r:""),i)}getMapAttachments(e,t){return this.get(this.endpoints.khub.maps.mapId(e).attachments.list,t)}getMapAttachmentContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).attachments.attachmentId(t).content,r)}getMapResources(e,t){return this.get(this.endpoints.khub.maps.mapId(e).resources.list,t)}getMapResourceContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).resources.resourceId(t).content,r)}getUnstructuredDocument(e,t){return this.get(this.endpoints.khub.documents.documentId(e).info,t)}getUnstructuredDocumentContent(e,t){return this.fetchRawData(this.endpoints.khub.documents.documentId(e).content,t)}getUnstructuredDocumentTextContent(e,t){return this.get(this.endpoints.khub.documents.documentId(e).text,t)}getCollectionDocuments(e,t){return this.get(this.endpoints.users.userId(e).collections.collectionId(t).documents)}getSuggestions(e){return this.post(this.endpoints.khub.suggest,e)}search(e){return this.post(this.endpoints.khub.clusteredSearch,e)}getAvailableSearchLocales(){return this.get(this.endpoints.khub.locales)}getAvailableUiLocales(){return this.get(this.endpoints.locales.ui)}getMetadataConfiguration(){return this.get(this.endpoints.configuration.metadata)}getMapRating(e){return this.get(this.endpoints.khub.maps.mapId(e).rating)}rateMap(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).rating,{type:t,value:r})}unrateMap(e){return this.delete(this.endpoints.khub.maps.mapId(e).rating)}sendMapFeedback(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).feedback,{message:t,from:r})}rateTopic(e,t,r,i){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating,{type:r,value:i})}unrateTopic(e,t){return this.delete(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating)}sendTopicFeedback(e,t,r,i){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).feedback,{message:r,from:i})}getDocumentRating(e){return this.get(this.endpoints.khub.documents.documentId(e).rating)}rateDocument(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).rating,{type:t,value:r})}unrateDocument(e){return this.delete(this.endpoints.khub.documents.documentId(e).rating)}sendDocumentFeedback(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).feedback,{message:t,from:r})}semanticSearch(e){return this.post(this.endpoints.khub.semantic.search,{request:e})}clusteredSemanticSearch(e){return this.post(this.endpoints.khub.semantic.clusteredSearch,{request:e})}getFluidTopicsMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).fluidTopics.contextName(t).endpoint)}getCustomMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).custom.contextName(t).endpoint)}listMySearches(e){return this.get(this.endpoints.users.userId(e).searches.list)}listMyBookmarks(e){return this.get(this.endpoints.users.userId(e).bookmarks.list)}async*generate(e,t){const r=await this.fetch(this.endpoints.ai.generate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profileId:e,parameters:t}),credentials:null==this.authorization?"include":void 0});await ze("POST",this.endpoints.ai.generate,r);const i=new s(r.body.getReader());yield*i.read()}async*chat(e){const t=await this.fetch(this.endpoints.ai.chat,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:null==this.authorization?"include":void 0});await ze("POST",this.endpoints.ai.chat,t);const r=new s(t.body.getReader());yield*r.read()}sendFeedback(e){return this.post(this.endpoints.ai.sendFeedback,e)}get(e,t){return this.makeRequest("GET",this.withVersion(e,t))}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}makeAbsolute(e){return e.startsWith(this.tenantBaseUrl)||e===this.tenantBaseUrlNoTrailingSlash?e:this.tenantBaseUrl+e.replace(/^\//,"")}async fetch(e,t){const r=t;return await a(this.makeAbsolute(e),{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}upload(e,t,r,i=(()=>{})){return"undefined"!=typeof XMLHttpRequest?new Promise(((a,s)=>{let n=new XMLHttpRequest;n.onload=()=>{if(n.status>=200&&n.status<300){let e="application/json"===n.getResponseHeader("Content-Type")?JSON.parse(n.responseText):n.responseText;a(e)}else s(new Ke("GET",t,n.status,n.statusText,n.responseText))},n.upload.onprogress=e=>i(e),n.open(e,this.makeAbsolute(t),!0),n.send(r)})):this.fetch(t,{method:e,body:r}).then((r=>ze(e,t,r))).then(Xe)}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0,credentials:null==this.authorization?"include":void 0}).then((r=>ze(e,t,r))).then(Xe)}fetchRawData(e,t){return a(this.withVersion(e,t),{headers:this.defaultHeaders,credentials:null==this.authorization?"include":void 0}).then((t=>ze("GET",e,t))).then((e=>e.arrayBuffer()))}withVersion(e,t){let r=new URL(this.makeAbsolute(e));return t&&r.searchParams.append("v",t),r.toString()}}e.FluidTopicsApi=Ye,e.HttpError=Ke,e.HttpErrorEvent=qe,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(Ve.localStorage){const r=je(e),i=e=>{e.storageArea===Ve.localStorage&&e.key===r&&t(JSON.parse(e.newValue??"{}"))};return Ve.addEventListener("storage",i),{removeHandler:()=>Ve.removeEventListener("storage",i)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=Ye,e.getUnauthenticatedUserSearchPreferences=function(e){if(Ve.localStorage)return JSON.parse(Ve.localStorage.getItem(je(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAuthenticatedSession=e=>n(e)&&Re(e.authenticationIdentifier)&&Oe(e.profile),e.isFtAuthenticationIdentifier=Re,e.isFtBookmark=e=>n(e)&&u(e.mapTitle)&&d(e.color)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.lastUpdate)&&u(e.readerUrl)&&u(e.mapId)&&u(e.id)&&u(e.title)&&u(e.creationDate),e.isFtClusteredSemanticSearchReply=e=>Ue(e)&&Array.isArray(e.documents)&&e.documents.every((e=>we(e)))&&Array.isArray(e.clusterId)&&e.clusterId.every((e=>_e(e))),e.isFtCollectionDocument=e=>n(e)&&o(e.deleted)&&(null==e.apiUrl||u(e.apiUrl))&&(null==e.portalUrl||u(e.portalUrl))&&u(e.id)&&u(e.title)&&ee(e.type),e.isFtCollectionDocumentType=ee,e.isFtConfigurationHistoryEntryStatus=e=>["VALID","INVALID"].includes(e),e.isFtCredentials=e=>n(e)&&u(e.password)&&(null==e.newPassword||u(e.newPassword))&&o(e.rememberMe)&&u(e.login),e.isFtEditorialType=X,e.isFtExternalWebComponentContext=e=>["HOMEPAGE","CUSTOM","HEADER","READER","TOPIC_TEMPLATE","SEARCH","SEARCH_RESULT"].includes(e),e.isFtFacetType=e=>["AND","OR","MONOVALUED"].includes(e),e.isFtFeedbackCreation=e=>n(e)&&(null==e.from||u(e.from))&&u(e.message),e.isFtGenAIGenerateInput=e=>Ue(e)&&_e(e.profileId)&&(null==e.parameters||Ue(e.parameters)&&Object.keys(e.parameters).every((e=>_e(e)))&&Object.values(e.parameters).every((e=>_e(e)))),e.isFtGenAIRating=e=>Ue(e)&&Ce(e.rating)&&_e(e.comment)&&_e(e.queryId),e.isFtHttpErrorDetails=e=>n(e)&&u(e.endpoint)&&u(e.method)&&u(e.statusText)&&u(e.body)&&l(e.status),e.isFtLabeledSearchFilter=te,e.isFtMap=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&(null==e.watermark||ve(e.watermark))&&W(e.openMode)&&(null==e.topicsApiEndpoint||u(e.topicsApiEndpoint))&&(null==e.description||u(e.description))&&(null==e.attachmentsApiEndpoint||u(e.attachmentsApiEndpoint))&&X(e.editorialType)&&u(e.baseId)&&u(e.clusterId)&&u(e.title)&&u(e.lastPublication)&&o(e.pbkConfidential)&&u(e.lastEdition)&&u(e.originId)&&(null==e.rightsApiEndpoint||u(e.rightsApiEndpoint))&&m(e.contentStyles)&&(null==e.originUrl||u(e.originUrl))&&u(e.fingerprint)&&u(e.readerUrl)&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtMapAttachment=e=>Ue(e)&&_e(e.file)&&(null==e.size||Ce(e.size))&&Ie(e.externalLink)&&_e(e.name)&&_e(e.id)&&(null==e.mimeType||_e(e.mimeType))&&(null==e.viewerUrl||_e(e.viewerUrl)),e.isFtMapResource=e=>n(e)&&u(e.contentUrl)&&u(e.filename)&&u(e.id)&&u(e.mimeType),e.isFtMapStyles=m,e.isFtMessageContext=e=>n(e)&&u(e.name)&&n(e.messages)&&Object.keys(e.messages).every((e=>u(e)))&&Object.values(e.messages).every((e=>u(e)))&&u(e.locale),e.isFtMetadata=O,e.isFtMetadataConfiguration=e=>n(e)&&Array.isArray(e.descriptors)&&e.descriptors.every((e=>I(e))),e.isFtMetadataDescriptor=I,e.isFtMetadataHomeLayout=e=>["CLASSIC","CUSTOM","DESIGNER"].includes(e),e.isFtMetadataPreferenceConfiguration=M,e.isFtMetadataSortRule=U,e.isFtMyLibraryColors=d,e.isFtMySearch=e=>n(e)&&C(e.searchRequest)&&d(e.color)&&o(e.alert)&&u(e.description)&&u(e.id)&&u(e.ownerId)&&u(e.title)&&u(e.creationDate),e.isFtMySearchRequest=C,e.isFtOpenMode=W,e.isFtPageConfiguration=Ne,e.isFtPageRequest=J,e.isFtPaginatedToc=e=>Ue(e)&&Me(e.configuration)&&Array.isArray(e.paginatedToc)&&e.paginatedToc.every((e=>ke(e))),e.isFtPaginatedTocNode=ke,e.isFtPaginationConfiguration=Me,e.isFtPeriod=re,e.isFtPeriodFilter=ie,e.isFtPeriodFilterType=B,e.isFtPersonalBookCreation=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&Array.isArray(e.nodes)&&e.nodes.every((e=>f(e)))&&u(e.description)&&u(e.title),e.isFtPersonalBookMetadataUpdate=y,e.isFtPersonalBookNodeCreation=f,e.isFtPersonalBookTopicLinkCreation=A,e.isFtPublicClusterSortCriterion=Q,e.isFtPublicationRating=P,e.isFtPublicationRatingSummary=D,e.isFtRagHistory=De,e.isFtRagInput=e=>Ue(e)&&_e(e.profileId)&&(null==e.conversationId||_e(e.conversationId))&&_e(e.query)&&(null==e.messages||Array.isArray(e.messages)&&e.messages.every((e=>De(e))))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Be(e)))),e.isFtRatingCreation=e=>n(e)&&L(e.type)&&l(e.value),e.isFtRatingSummary=e=>n(e)&&(null==e.topics||k(e.topics))&&D(e.publication),e.isFtRatingType=L,e.isFtReaderConfiguration=e=>Ue(e)&&Pe(e.feedback)&&Ce(e.loadAfterLastVisibleTopic)&&_e(e.relativeTopicPivotMetadata)&&Ce(e.loadBeforeFirstVisibleTopic)&&_e(e.relativePivotMetadata),e.isFtReaderFeedbackConfiguration=Pe,e.isFtSearchFacet=ye,e.isFtSearchFacetConf=fe,e.isFtSearchFacetEntry=Ae,e.isFtSearchFilter=H,e.isFtSearchLocale=R,e.isFtSearchLocales=e=>n(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>R(e))),e.isFtSearchPreferences=Fe,e.isFtSearchPreferencesConfiguration=e=>n(e)&&n(e.metadata)&&Object.keys(e.metadata).every((e=>u(e)))&&Object.values(e.metadata).every((e=>M(e))),e.isFtSearchPreset=e=>n(e)&&u(e.name)&&Array.isArray(e.filters)&&e.filters.every((e=>H(e)))&&l(e.priority)&&(null==e.contentLocale||u(e.contentLocale)),e.isFtSearchPrior=ae,e.isFtSearchRequest=e=>n(e)&&(null==e.periodFilter||ie(e.periodFilter))&&u(e.query)&&J(e.paging)&&Array.isArray(e.filters)&&e.filters.every((e=>H(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>me(e)))&&(null==e.virtualField||K(e.virtualField))&&Array.isArray(e.facets)&&e.facets.every((e=>fe(e)))&&(null==e.scope||he(e.scope))&&(null==e.uiLocale||u(e.uiLocale))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>ae(e))))&&(null==e.clusterSortCriterions||Array.isArray(e.clusterSortCriterions)&&e.clusterSortCriterions.every((e=>Q(e)))),e.isFtSearchResultCluster=se,e.isFtSearchResultClusterEntry=ne,e.isFtSearchResultMap=le,e.isFtSearchResultTopic=ue,e.isFtSearchResultType=de,e.isFtSearchResultUnstructuredDocument=oe,e.isFtSearchResults=e=>n(e)&&(null==e.spellcheck||Ee(e.spellcheck))&&q(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>se(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>ye(e))),e.isFtSearchResultsPageInfo=q,e.isFtSearchScope=he,e.isFtSearchSortCriterion=me,e.isFtSearchSortCriterionOrder=V,e.isFtSearchSortCriterionType=j,e.isFtSemanticSearchFilter=Be,e.isFtSemanticSearchRequest=e=>Ue(e)&&_e(e.query)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Be(e))))&&(null==e.nbResults||Ce(e.nbResults)),e.isFtSemanticSearchResponseItem=we,e.isFtSession=e=>n(e)&&(null==e.authenticationIdentifier||Re(e.authenticationIdentifier))&&l(e.idleTimeoutInMillis)&&Oe(e.profile)&&o(e.sessionAuthenticated)&&Fe(e.searchPreferences),e.isFtSpellcheck=Ee,e.isFtSuggestRequest=e=>n(e)&&u(e.input)&&(null==e.scope||he(e.scope))&&Array.isArray(e.filters)&&e.filters.every((e=>H(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>me(e)))&&(null==e.maxCount||l(e.maxCount))&&(null==e.contentLocale||u(e.contentLocale)),e.isFtSuggestResult=Te,e.isFtSuggestResults=e=>n(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>Te(e))),e.isFtTocNode=E,e.isFtTopic=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&u(e.id)&&u(e.contentApiEndpoint)&&u(e.title),e.isFtTopicContentTarget=e=>["THIRD_PARTY","OFF_THE_GRID","CONTENT_PACKAGER","PAGES","DESIGNED_READER"].includes(e),e.isFtTopicOrigin=g,e.isFtTopicOriginType=h,e.isFtTopicRating=N,e.isFtTopicResource=ge,e.isFtTopicsRatingSummary=k,e.isFtUiLocale=e=>n(e)&&u(e.displayName)&&u(e.languageTag)&&o(e.translated),e.isFtUnstructuredDocument=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&u(e.openMode)&&(null==e.description||u(e.description))&&u(e.mimeType)&&(null==e.baseId||u(e.baseId))&&(null==e.clusterId||u(e.clusterId))&&u(e.contentApiEndpoint)&&u(e.title)&&(null==e.lastPublication||u(e.lastPublication))&&u(e.viewerUrl)&&u(e.lastEdition)&&u(e.filename)&&(null==e.originId||u(e.originId))&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtUserProfile=Oe,e.isFtUserRole=Se,e.isFtVirtualField=K,e.isFtWatermark=ve,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(Ve.localStorage){let r={...t,metadata:$e(t.metadata??{})};const i=je(e),a=JSON.stringify(r);return Ve.localStorage.setItem(i,a),Ve.dispatchEvent(new StorageEvent("storage",{key:i,newValue:a,storageArea:Ve.localStorage,url:Ve.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")},e.userHasRole=function(e,t){return null!=e&&(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some((e=>xe(e,t)))}}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var i={exports:{}};!function(e,r){var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==t&&t,a=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();!function(e){!function(r){var i=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==t&&t||{},a={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};if(a.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return a.iterable&&(t[Symbol.iterator]=function(){return t}),t}function c(e){this.map={},e instanceof c?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function d(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function h(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function f(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:a.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a.arrayBuffer&&a.blob&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||n(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=d(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(a.blob)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,i,a,s=d(this);if(s)return s;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=p(t),i=/charset=([A-Za-z0-9_-]+)/.exec(e.type),a=i?i[1]:"utf-8",t.readAsText(e,a),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(E)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=o(e),t=l(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[o(e)]},c.prototype.get=function(e){return e=o(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(o(e))},c.prototype.set=function(e,t){this.map[o(e)]=l(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),u(e)},c.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},c.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),u(e)},a.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var A=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function m(e,t){if(!(this instanceof m))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,a,s=(t=t||{}).body;if(e instanceof m){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=(r=t.method||this.method||"GET",a=r.toUpperCase(),A.indexOf(a)>-1?a:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in i)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(s),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var n=/([?&])_=[^&]*/;if(n.test(this.url))this.url=this.url.replace(n,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function E(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),a=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(a))}})),t}function T(e,t){if(!(this instanceof T))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},f.call(m.prototype),f.call(T.prototype),T.prototype.clone=function(){return new T(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},T.error=function(){var e=new T(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var g=[301,302,303,307,308];T.redirect=function(e,t){if(-1===g.indexOf(t))throw new RangeError("Invalid status code");return new T(null,{status:t,headers:{location:e}})},r.DOMException=i.DOMException;try{new r.DOMException}catch(e){r.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function S(e,t){return new Promise((function(s,n){var u=new m(e,t);if(u.signal&&u.signal.aborted)return n(new r.DOMException("Aborted","AbortError"));var d=new XMLHttpRequest;function p(){d.abort()}if(d.onload=function(){var e,t,r={statusText:d.statusText,headers:(e=d.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),i=r.shift().trim();if(i){var a=r.join(":").trim();try{t.append(i,a)}catch(e){console.warn("Response "+e.message)}}})),t)};0===u.url.indexOf("file://")&&(d.status<200||d.status>599)?r.status=200:r.status=d.status,r.url="responseURL"in d?d.responseURL:r.headers.get("X-Request-URL");var i="response"in d?d.response:d.responseText;setTimeout((function(){s(new T(i,r))}),0)},d.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},d.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request timed out"))}),0)},d.onabort=function(){setTimeout((function(){n(new r.DOMException("Aborted","AbortError"))}),0)},d.open(u.method,function(e){try{return""===e&&i.location.href?i.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?d.withCredentials=!0:"omit"===u.credentials&&(d.withCredentials=!1),"responseType"in d&&(a.blob?d.responseType="blob":a.arrayBuffer&&(d.responseType="arraybuffer")),t&&"object"==typeof t.headers&&!(t.headers instanceof c||i.Headers&&t.headers instanceof i.Headers)){var h=[];Object.getOwnPropertyNames(t.headers).forEach((function(e){h.push(o(e)),d.setRequestHeader(e,l(t.headers[e]))})),u.headers.forEach((function(e,t){-1===h.indexOf(t)&&d.setRequestHeader(t,e)}))}else u.headers.forEach((function(e,t){d.setRequestHeader(t,e)}));u.signal&&(u.signal.addEventListener("abort",p),d.onreadystatechange=function(){4===d.readyState&&u.signal.removeEventListener("abort",p)}),d.send(void 0===u._bodyInit?null:u._bodyInit)}))}S.polyfill=!0,i.fetch||(i.fetch=S,i.Headers=c,i.Request=m,i.Response=T),r.Headers=c,r.Request=m,r.Response=T,r.fetch=S}({})}(a),a.fetch.ponyfill=!0,delete a.fetch.polyfill;var s=i.fetch?i:a;(r=s.fetch).default=s.fetch,r.fetch=s.fetch,r.Headers=s.Headers,r.Request=s.Request,r.Response=s.Response,e.exports=r}(i,i.exports);var a=r(i.exports);class s{reader;decoder=new TextDecoder;partialChunk="";constructor(e){this.reader=e}async*read(){for(;;){const{done:e,value:t}=await this.reader.read();if(e)return void(yield*this.readRemainingChunks());yield*this.readChunksFromValue(t)}}*readRemainingChunks(){yield*this.parseLine(this.partialChunk)}*readChunksFromValue(e){const t=(this.partialChunk+this.decoder.decode(e)).split("\n");this.partialChunk=t.pop();for(let e of t)yield*this.parseLine(e)}*parseLine(e){const[t,r]=e.split(/:(.*)/);"data"==t&&r.length>0&&(yield JSON.parse(r))}}const n=e=>"object"==typeof e&&null!=e,o=e=>"boolean"==typeof e,l=e=>"number"==typeof e,u=e=>"string"==typeof e;var c;e.FtMyLibraryColors=void 0,(c=e.FtMyLibraryColors||(e.FtMyLibraryColors={})).black="black",c.green="green",c.blue="blue",c.purple="purple",c.red="red",c.orange="orange",c.yellow="yellow";const d=e=>["black","green","blue","purple","red","orange","yellow"].includes(e);var p;e.FtTopicOriginType=void 0,(p=e.FtTopicOriginType||(e.FtTopicOriginType={})).OFFICIAL="OFFICIAL",p.PERSONAL="PERSONAL",p.SHARED="SHARED";const h=e=>["OFFICIAL","PERSONAL","SHARED"].includes(e),y=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>Array.isArray(e)&&e.every((e=>u(e)))))&&u(e.key),f=e=>n(e)&&u(e.notes)&&Array.isArray(e.children)&&e.children.every((e=>f(e)))&&(null==e.topicLink||A(e.topicLink))&&u(e.title)&&(null==e.htmlContent||u(e.htmlContent)),A=e=>n(e)&&u(e.tocId)&&u(e.contentId)&&u(e.mapId),m=e=>n(e)&&u(e.topicStylesheetUrl)&&u(e.titleStylesheetUrl)&&Array.isArray(e.customCssClasses)&&e.customCssClasses.every((e=>u(e))),E=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&(null==e.hasRating||o(e.hasRating))&&u(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>E(e)))&&(null==e.origin||T(e.origin))&&u(e.contentId)&&u(e.title),T=e=>n(e)&&u(e.mapTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.contentId)&&u(e.mapId)&&h(e.type);var g;e.FtTopicContentTarget=void 0,(g=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",g.OFF_THE_GRID="OFF_THE_GRID",g.CONTENT_PACKAGER="CONTENT_PACKAGER",g.PAGES="PAGES",g.DESIGNED_READER="DESIGNED_READER";var S;e.FtExternalWebComponentContext=void 0,(S=e.FtExternalWebComponentContext||(e.FtExternalWebComponentContext={})).HOMEPAGE="HOMEPAGE",S.CUSTOM="CUSTOM",S.HEADER="HEADER",S.READER="READER",S.TOPIC_TEMPLATE="TOPIC_TEMPLATE",S.SEARCH="SEARCH",S.SEARCH_RESULT="SEARCH_RESULT";var b;e.FtMetadataHomeLayout=void 0,(b=e.FtMetadataHomeLayout||(e.FtMetadataHomeLayout={})).CLASSIC="CLASSIC",b.CUSTOM="CUSTOM",b.DESIGNER="DESIGNER";const R=e=>n(e)&&l(e.count)&&u(e.label)&&(null==e.lang||u(e.lang));var F;e.FtFacetType=void 0,(F=e.FtFacetType||(e.FtFacetType={})).AND="AND",F.OR="OR",F.MONOVALUED="MONOVALUED";const O=e=>n(e)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&(null==e.hierarchicalValues||Array.isArray(e.hierarchicalValues)&&e.hierarchicalValues.every((e=>Array.isArray(e)&&e.every((e=>u(e))))))&&u(e.label)&&u(e.key);var v;e.FtMetadataSortRule=void 0,(v=e.FtMetadataSortRule||(e.FtMetadataSortRule={})).NONE="NONE",v.ALPHABET="ALPHABET",v.VERSION="VERSION";const U=e=>["NONE","ALPHABET","VERSION"].includes(e),I=e=>n(e)&&o(e.date)&&U(e.sortRule)&&u(e.label)&&o(e.reverseSort)&&u(e.key),_=e=>n(e)&&(null==e.periodFilter||null==e.periodFilter||ne(e.periodFilter))&&u(e.query)&&(null==e.scope||Te(e.scope))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>ae(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Fe(e)))&&(null==e.virtualField||K(e.virtualField))&&(null==e.metadataFilters||Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>ie(e))))&&(null==e.contentLocale||u(e.contentLocale));var C;e.FtRatingType=void 0,(C=e.FtRatingType||(e.FtRatingType={})).STARS="STARS",C.LIKE="LIKE",C.DICHOTOMOUS="DICHOTOMOUS",C.NO_RATING="NO_RATING";const L=e=>["STARS","LIKE","DICHOTOMOUS","NO_RATING"].includes(e),D=e=>n(e)&&u(e.date)&&L(e.type)&&l(e.value),P=e=>n(e)&&(null==e.rating||D(e.rating))&&L(e.type),N=e=>n(e)&&u(e.date)&&u(e.tocId)&&L(e.type)&&l(e.value),k=e=>n(e)&&Array.isArray(e.ratings)&&e.ratings.every((e=>N(e)))&&L(e.type),M=e=>n(e)&&Array.isArray(e.filter)&&e.filter.every((e=>u(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>u(e)));var w;e.FtPeriodFilterType=void 0,(w=e.FtPeriodFilterType||(e.FtPeriodFilterType={})).LAST_WEEK="LAST_WEEK",w.LAST_MONTH="LAST_MONTH",w.LAST_QUARTER="LAST_QUARTER",w.LAST_YEAR="LAST_YEAR",w.CUSTOM="CUSTOM";const B=e=>["LAST_WEEK","LAST_MONTH","LAST_QUARTER","LAST_YEAR","CUSTOM"].includes(e);var H;e.FtSearchSortCriterionOrder=void 0,(H=e.FtSearchSortCriterionOrder||(e.FtSearchSortCriterionOrder={})).ASC="ASC",H.DESC="DESC";const x=e=>["ASC","DESC"].includes(e);var V;e.FtSearchSortCriterionType=void 0,(V=e.FtSearchSortCriterionType||(e.FtSearchSortCriterionType={})).ALPHA="ALPHA",V.NATURAL="NATURAL";const $=e=>["ALPHA","NATURAL"].includes(e);var j;e.FtVirtualField=void 0,(j=e.FtVirtualField||(e.FtVirtualField={})).EVERYWHERE="EVERYWHERE",j.TITLE_ONLY="TITLE_ONLY",j.NONE="NONE";const K=e=>["EVERYWHERE","TITLE_ONLY","NONE"].includes(e),G=e=>n(e)&&l(e.totalResultsCount)&&o(e.isLastPage)&&l(e.currentPage)&&l(e.totalClustersCount);var q;e.FtEditorialType=void 0,(q=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",q.BOOK="BOOK",q.SHARED_BOOK="SHARED_BOOK";const Y=e=>["ARTICLE","BOOK","SHARED_BOOK"].includes(e);var W;e.FtOpenMode=void 0,(W=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",W.EXTERNAL="EXTERNAL";const z=e=>["FLUIDTOPICS","EXTERNAL"].includes(e),X=e=>n(e)&&(null==e.perPage||l(e.perPage))&&l(e.page),J=e=>n(e)&&u(e.key);var Q;e.FtCollectionDocumentType=void 0,(Q=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",Q.DOCUMENT="DOCUMENT",Q.TOPIC="TOPIC",Q.PERSONAL_BOOK="PERSONAL_BOOK",Q.SHARED_BOOK="SHARED_BOOK";const Z=e=>["MAP","DOCUMENT","TOPIC","PERSONAL_BOOK","SHARED_BOOK"].includes(e),ee=e=>n(e)&&re(e.type);var te;e.FtDateFilterType=void 0,(te=e.FtDateFilterType||(e.FtDateFilterType={})).LAST_WEEK="LAST_WEEK",te.LAST_MONTH="LAST_MONTH",te.LAST_QUARTER="LAST_QUARTER",te.LAST_YEAR="LAST_YEAR";const re=e=>["LAST_WEEK","LAST_MONTH","LAST_QUARTER","LAST_YEAR"].includes(e),ie=e=>n(e)&&(null==e.valueFilter||ge(e.valueFilter))&&(null==e.rangeFilter||ue(e.rangeFilter))&&u(e.label)&&u(e.key)&&(null==e.dateFilter||ee(e.dateFilter)),ae=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.label)&&u(e.key),se=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.key),ne=e=>n(e)&&(null==e.period||le(e.period))&&B(e.periodType)&&(null==e.key||u(e.key)),oe=e=>n(e)&&(null==e.valueFilter||ge(e.valueFilter))&&(null==e.rangeFilter||ue(e.rangeFilter))&&u(e.key)&&(null==e.dateFilter||ee(e.dateFilter)),le=e=>n(e)&&u(e.from)&&u(e.to),ue=e=>n(e)&&u(e.from)&&u(e.to),ce=e=>n(e)&&l(e.weight)&&u(e.value)&&u(e.key),de=e=>n(e)&&Array.isArray(e.entries)&&e.entries.every((e=>pe(e)))&&(null==e.metadataVariableAxis||u(e.metadataVariableAxis)),pe=e=>n(e)&&Array.isArray(e.missingTerms)&&e.missingTerms.every((e=>u(e)))&&(null==e.document||he(e.document))&&(null==e.topic||fe(e.topic))&&me(e.type)&&(null==e.map||ye(e.map)),he=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&z(e.openMode)&&u(e.documentUrl)&&u(e.mimeType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.viewerUrl)&&u(e.contentUrl)&&u(e.filename)&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.documentId)&&u(e.lastEditionDate)&&u(e.htmlExcerpt),ye=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&(null==e.openMode||z(e.openMode))&&Y(e.editorialType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.mapUrl)&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt),fe=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&z(e.openMode)&&u(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>ve(e)))&&u(e.title)&&u(e.mapTitle)&&u(e.topicUrl)&&u(e.contentUrl)&&u(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt);var Ae;e.FtSearchResultType=void 0,(Ae=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",Ae.DOCUMENT="DOCUMENT",Ae.TOPIC="TOPIC";const me=e=>["MAP","DOCUMENT","TOPIC"].includes(e);var Ee;e.FtSearchScope=void 0,(Ee=e.FtSearchScope||(e.FtSearchScope={})).DEFAULT="DEFAULT",Ee.DOCUMENTS="DOCUMENTS",Ee.ALL_TOPICS="ALL_TOPICS";const Te=e=>["DEFAULT","DOCUMENTS","ALL_TOPICS"].includes(e),ge=e=>n(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e))),Se=e=>n(e)&&o(e.hierarchical)&&u(e.label)&&o(e.multiSelectionable)&&u(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>Re(e))),be=e=>n(e)&&(null==e.maxDepth||l(e.maxDepth))&&u(e.id),Re=e=>n(e)&&l(e.totalResultsCount)&&o(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>Re(e)))&&u(e.label)&&u(e.value)&&o(e.selected),Fe=e=>n(e)&&$(e.type)&&u(e.key)&&x(e.order),Oe=e=>n(e)&&u(e.suggestedQuery)&&u(e.htmlSuggestedQuery),ve=e=>n(e)&&u(e.filename)&&u(e.resourceUrl)&&u(e.id)&&u(e.mimeType)&&u(e.resourceContentUrl)&&u(e.viewerUrl),Ue=e=>n(e)&&(null==e.filenameExtension||u(e.filenameExtension))&&(null==e.editorialType||Y(e.editorialType))&&(null==e.mimeType||u(e.mimeType))&&me(e.type)&&u(e.value);var Ie;e.FtUserRole=void 0,(Ie=e.FtUserRole||(e.FtUserRole={})).PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",Ie.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",Ie.HTML_EXPORT_USER="HTML_EXPORT_USER",Ie.PDF_EXPORT_USER="PDF_EXPORT_USER",Ie.SAVED_SEARCH_USER="SAVED_SEARCH_USER",Ie.COLLECTION_USER="COLLECTION_USER",Ie.OFFLINE_USER="OFFLINE_USER",Ie.ANALYTICS_USER="ANALYTICS_USER",Ie.BETA_USER="BETA_USER",Ie.DEBUG_USER="DEBUG_USER",Ie.PRINT_USER="PRINT_USER",Ie.RATING_USER="RATING_USER",Ie.FEEDBACK_USER="FEEDBACK_USER",Ie.GENERATIVE_AI_USER="GENERATIVE_AI_USER",Ie.CONTENT_PUBLISHER="CONTENT_PUBLISHER",Ie.KHUB_ADMIN="KHUB_ADMIN",Ie.USERS_ADMIN="USERS_ADMIN",Ie.PORTAL_ADMIN="PORTAL_ADMIN",Ie.ADMIN="ADMIN",Ie.DEVELOPER="DEVELOPER";const _e=e=>["PERSONAL_BOOK_USER","PERSONAL_BOOK_SHARE_USER","HTML_EXPORT_USER","PDF_EXPORT_USER","SAVED_SEARCH_USER","COLLECTION_USER","OFFLINE_USER","ANALYTICS_USER","BETA_USER","DEBUG_USER","PRINT_USER","RATING_USER","FEEDBACK_USER","GENERATIVE_AI_USER","CONTENT_PUBLISHER","KHUB_ADMIN","USERS_ADMIN","PORTAL_ADMIN","ADMIN","DEVELOPER"].includes(e),Ce=e=>n(e)&&u(e.identifier)&&u(e.realm),Le=e=>n(e)&&(null==e.defaultFilters||Array.isArray(e.defaultFilters)&&e.defaultFilters.every((e=>se(e))))&&Array.isArray(e.defaultMetadataFilters)&&e.defaultMetadataFilters.every((e=>oe(e))),De=e=>n(e)&&(null==e.emailAddress||u(e.emailAddress))&&(null==e.displayName||u(e.displayName))&&Array.isArray(e.roles)&&e.roles.every((e=>_e(e)))&&(null==e.userId||u(e.userId))&&Array.isArray(e.tags)&&e.tags.every((e=>u(e))),Pe=e=>n(e)&&u(e.color)&&Array.isArray(e.text)&&e.text.every((e=>u(e)))&&l(e.opacity),Ne=e=>"object"==typeof e&&null!=e,ke=e=>"boolean"==typeof e,Me=e=>"number"==typeof e,we=e=>"string"==typeof e;var Be;e.FtConfigurationHistoryEntryStatus=void 0,(Be=e.FtConfigurationHistoryEntryStatus||(e.FtConfigurationHistoryEntryStatus={})).VALID="VALID",Be.INVALID="INVALID";const He=e=>Ne(e)&&ke(e.mailsSentByFluidTopics)&&ke(e.mailsSentByFluidTopicsForUnauthenticatedUsers)&&Array.isArray(e.recipients)&&e.recipients.every((e=>we(e)))&&Array.isArray(e.bodyMetadataIds)&&e.bodyMetadataIds.every((e=>we(e)))&&Array.isArray(e.subjectMetadataIds)&&e.subjectMetadataIds.every((e=>we(e))),xe=e=>Ne(e)&&we(e.role)&&we(e.content),Ve=e=>Ne(e)&&(null==e.parentsVisibility||Array.isArray(e.parentsVisibility)&&e.parentsVisibility.every((e=>ke(e))))&&ke(e.isVisible),$e=e=>Ne(e)&&(null==e.prettyUrl||we(e.prettyUrl))&&(null==e.hasRating||ke(e.hasRating))&&(null==e.pageToc||Array.isArray(e.pageToc))&&(null==e.tocId||we(e.tocId))&&Array.isArray(e.children)&&e.children.every((e=>$e(e)))&&(null==e.pageConfiguration||Ve(e.pageConfiguration))&&(null==e.contentId||we(e.contentId))&&(null==e.title||we(e.title)),je=e=>Ne(e)&&ke(e.splitCurrentPageToc),Ke=e=>Ne(e)&&Ne(e.metadata)&&Object.keys(e.metadata).every((e=>we(e)))&&Object.values(e.metadata).every((e=>Array.isArray(e)&&e.every((e=>we(e)))))&&we(e.excerpt)&&Me(e.relevance),Ge=e=>Ne(e)&&Array.isArray(e.values)&&e.values.every((e=>we(e)))&&we(e.key),qe={[e.FtUserRole.PERSONAL_BOOK_SHARE_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.HTML_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.PDF_EXPORT_USER]:[e.FtUserRole.PERSONAL_BOOK_USER],[e.FtUserRole.KHUB_ADMIN]:[e.FtUserRole.CONTENT_PUBLISHER],[e.FtUserRole.ADMIN]:[e.FtUserRole.KHUB_ADMIN,e.FtUserRole.USERS_ADMIN,e.FtUserRole.PORTAL_ADMIN],[e.FtUserRole.DEVELOPER]:[e.FtUserRole.BETA_USER,e.FtUserRole.DEBUG_USER]};function Ye(e,t){return e===t||(qe[e]??[]).some((e=>Ye(e,t)))}const We="undefined"==typeof window?globalThis:window;function ze(e){let t={};for(let r in e){let i=e[r];("object"!=typeof i||Array.isArray(i))&&(i={prior:i});for(let e of["prior","filter"])i[e]=Array.isArray(i[e])?i[e]:[i[e]],i[e]=i[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=i}return t}function Xe(e){return`${e}-FluidTopicsUnauthenticatedUserSearchPreferences`}const Je="undefined"==typeof window?globalThis:window;class Qe extends Error{method;endpoint;status;statusText;body;constructor(e,t,r,i,a){super(`${e} ${t} -> ${r} - ${i}: ${a}`),this.method=e,this.endpoint=t,this.status=r,this.statusText=i,this.body=a}}class Ze extends CustomEvent{constructor(e){super("ft-api-http-error",{detail:e})}}async function et(e,t,r){if(!r.ok){let i={method:e,endpoint:t,status:r.status,statusText:r.statusText,body:await r.text()};throw"function"==typeof Je.dispatchEvent&&Je.dispatchEvent(new Ze(i)),new Qe(i.method,i.endpoint,i.status,i.statusText,i.body)}return r}function tt(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class rt{tenantBaseUrl;tenantBaseUrlNoTrailingSlash;ftCallingApp;authorization;searchLabel;endpoints={authentication:{login:"api/authentication/login",logout:"api/authentication/logout",currentSession:"api/authentication/current-session"},khub:{maps:{mapId:e=>({info:`api/khub/maps/${e}`,toc:`api/khub/maps/${e}/toc`,pages:`api/khub/maps/${e}/pages`,feedback:`api/khub/maps/${e}/feedback`,rating:`api/khub/maps/${e}/rating`,attachments:{list:`api/khub/maps/${e}/attachments`,attachmentId:t=>({content:`api/khub/maps/${e}/attachments/${t}/content`})},resources:{list:`api/khub/maps/${e}/resources`,resourceId:t=>({content:`api/khub/maps/${e}/resources/${t}/content`})},topics:{contentId:t=>({info:`api/khub/maps/${e}/topics/${t}`,content:`api/khub/maps/${e}/topics/${t}/content`}),tocId:t=>({feedback:`api/khub/maps/${e}/topics/${t}/feedback`,rating:`api/khub/maps/${e}/topics/${t}/rating`})}})},documents:{documentId:e=>({info:`api/khub/documents/${e}`,content:`api/khub/documents/${e}/content`,text:`api/khub/documents/${e}/content/text`,feedback:`api/khub/documents/${e}/feedback`,rating:`api/khub/documents/${e}/rating`})},semantic:{search:"api/khub/semantic/search",clusteredSearch:"api/khub/semantic/clustered-search"},suggest:"api/khub/suggest",clusteredSearch:"api/khub/clustered-search",locales:"api/khub/locales"},users:{userId:e=>({collections:{collectionId:t=>({documents:`api/users/${e}/collections/${t}/documents`})},searches:{list:`api/users/${e}/searches`},bookmarks:{list:`api/users/${e}/bookmarks`}})},stylesheets:{fonts:"stylesheets/fonts.css",theme:"stylesheets/theme.css",content:{title:"stylesheets/content/title.css",topic:"stylesheets/content/topic.css"}},configuration:{reader:"api/configuration/reader",metadata:"api/configuration/metadata"},locales:{ui:"api/locales/ui"},messages:{locale:e=>({fluidTopics:{contextName:t=>({endpoint:`api/messages/${e}/fluid-topics/${t}`})},custom:{contextName:t=>({endpoint:`api/messages/${e}/custom/${t}`})}})},ai:{generate:"api/ai/generate",sendFeedback:"api/ai/rate",chat:"/api/ai/rag/chat"}};get defaultHeaders(){return{...this.authorization,...this.searchLabel,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){e=(e??Je.fluidTopicsBaseUrl??Je.__gwt_ft_moduleBase??"").trim(),this.tenantBaseUrl=e.endsWith("/")?e:e+"/",this.tenantBaseUrlNoTrailingSlash=this.tenantBaseUrl.replace(/\/$/,""),r&&void 0!==Je.location&&Je.location.href.startsWith(this.tenantBaseUrl)?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization=void 0}setSearchLabel(e){this.searchLabel={"FT-search-label":e}}clearSearchLabel(){this.searchLabel=void 0}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post(this.endpoints.authentication.login,r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post(this.endpoints.authentication.logout).then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get(this.endpoints.authentication.currentSession)}getReaderConfiguration(){return this.get(this.endpoints.configuration.reader)}getMap(e,t){return this.get(this.endpoints.khub.maps.mapId(e).info,t)}getTableOfContent(e,t){return this.get(this.endpoints.khub.maps.mapId(e).toc,t)}getPages(e,t){return this.get(this.endpoints.khub.maps.mapId(e).pages,t)}getTopic(e,t,r){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).info,r)}getTopicHTMLContent(e,t,r,i){return this.get(this.endpoints.khub.maps.mapId(e).topics.contentId(t).content+(r?"?target="+r:""),i)}getMapAttachments(e,t){return this.get(this.endpoints.khub.maps.mapId(e).attachments.list,t)}getMapAttachmentContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).attachments.attachmentId(t).content,r)}getMapResources(e,t){return this.get(this.endpoints.khub.maps.mapId(e).resources.list,t)}getMapResourceContent(e,t,r){return this.fetchRawData(this.endpoints.khub.maps.mapId(e).resources.resourceId(t).content,r)}getUnstructuredDocument(e,t){return this.get(this.endpoints.khub.documents.documentId(e).info,t)}getUnstructuredDocumentContent(e,t){return this.fetchRawData(this.endpoints.khub.documents.documentId(e).content,t)}getUnstructuredDocumentTextContent(e,t){return this.get(this.endpoints.khub.documents.documentId(e).text,t)}getCollectionDocuments(e,t){return this.get(this.endpoints.users.userId(e).collections.collectionId(t).documents)}getSuggestions(e){return this.post(this.endpoints.khub.suggest,e)}search(e){return this.post(this.endpoints.khub.clusteredSearch,e)}getAvailableSearchLocales(){return this.get(this.endpoints.khub.locales)}getAvailableUiLocales(){return this.get(this.endpoints.locales.ui)}getMetadataConfiguration(){return this.get(this.endpoints.configuration.metadata)}getMapRating(e){return this.get(this.endpoints.khub.maps.mapId(e).rating)}rateMap(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).rating,{type:t,value:r})}unrateMap(e){return this.delete(this.endpoints.khub.maps.mapId(e).rating)}sendMapFeedback(e,t,r){return this.post(this.endpoints.khub.maps.mapId(e).feedback,{message:t,from:r})}rateTopic(e,t,r,i){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating,{type:r,value:i})}unrateTopic(e,t){return this.delete(this.endpoints.khub.maps.mapId(e).topics.tocId(t).rating)}sendTopicFeedback(e,t,r,i){return this.post(this.endpoints.khub.maps.mapId(e).topics.tocId(t).feedback,{message:r,from:i})}getDocumentRating(e){return this.get(this.endpoints.khub.documents.documentId(e).rating)}rateDocument(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).rating,{type:t,value:r})}unrateDocument(e){return this.delete(this.endpoints.khub.documents.documentId(e).rating)}sendDocumentFeedback(e,t,r){return this.post(this.endpoints.khub.documents.documentId(e).feedback,{message:t,from:r})}semanticSearch(e){return this.post(this.endpoints.khub.semantic.search,{request:e})}clusteredSemanticSearch(e){return this.post(this.endpoints.khub.semantic.clusteredSearch,{request:e})}getFluidTopicsMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).fluidTopics.contextName(t).endpoint)}getCustomMessageContext(e,t){return this.get(this.endpoints.messages.locale(e).custom.contextName(t).endpoint)}listMySearches(e){return this.get(this.endpoints.users.userId(e).searches.list)}listMyBookmarks(e){return this.get(this.endpoints.users.userId(e).bookmarks.list)}async*generate(e,t){const r=await this.fetch(this.endpoints.ai.generate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profileId:e,parameters:t}),credentials:null==this.authorization?"include":void 0});await et("POST",this.endpoints.ai.generate,r);const i=new s(r.body.getReader());yield*i.read()}async*chat(e){const t=await this.fetch(this.endpoints.ai.chat,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:null==this.authorization?"include":void 0});await et("POST",this.endpoints.ai.chat,t);const r=new s(t.body.getReader());yield*r.read()}sendFeedback(e){return this.post(this.endpoints.ai.sendFeedback,e)}get(e,t){return this.makeRequest("GET",this.withVersion(e,t))}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}makeAbsolute(e){return e.startsWith(this.tenantBaseUrl)||e===this.tenantBaseUrlNoTrailingSlash?e:this.tenantBaseUrl+e.replace(/^\//,"")}async fetch(e,t){const r=t;return await a(this.makeAbsolute(e),{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}upload(e,t,r,i=(()=>{})){return"undefined"!=typeof XMLHttpRequest?new Promise(((a,s)=>{let n=new XMLHttpRequest;n.onload=()=>{if(n.status>=200&&n.status<300){let e="application/json"===n.getResponseHeader("Content-Type")?JSON.parse(n.responseText):n.responseText;a(e)}else s(new Qe("GET",t,n.status,n.statusText,n.responseText))},n.upload.onprogress=e=>i(e),n.open(e,this.makeAbsolute(t),!0),n.send(r)})):this.fetch(t,{method:e,body:r}).then((r=>et(e,t,r))).then(tt)}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0,credentials:null==this.authorization?"include":void 0}).then((r=>et(e,t,r))).then(tt)}fetchRawData(e,t){return a(this.withVersion(e,t),{headers:this.defaultHeaders,credentials:null==this.authorization?"include":void 0}).then((t=>et("GET",e,t))).then((e=>e.arrayBuffer()))}withVersion(e,t){let r=new URL(this.makeAbsolute(e));return t&&r.searchParams.append("v",t),r.toString()}}e.FluidTopicsApi=rt,e.HttpError=Qe,e.HttpErrorEvent=Ze,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(We.localStorage){const r=Xe(e),i=e=>{e.storageArea===We.localStorage&&e.key===r&&t(JSON.parse(e.newValue??"{}"))};return We.addEventListener("storage",i),{removeHandler:()=>We.removeEventListener("storage",i)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=rt,e.getUnauthenticatedUserSearchPreferences=function(e){if(We.localStorage)return JSON.parse(We.localStorage.getItem(Xe(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAuthenticatedSession=e=>n(e)&&Ce(e.authenticationIdentifier)&&De(e.profile),e.isFtAuthenticationIdentifier=Ce,e.isFtBookmark=e=>n(e)&&u(e.mapTitle)&&d(e.color)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&u(e.lastUpdate)&&u(e.readerUrl)&&u(e.mapId)&&u(e.id)&&u(e.title)&&u(e.creationDate),e.isFtClusteredSemanticSearchReply=e=>Ne(e)&&Array.isArray(e.documents)&&e.documents.every((e=>Ke(e)))&&Array.isArray(e.clusterId)&&e.clusterId.every((e=>we(e))),e.isFtCollectionDocument=e=>n(e)&&o(e.deleted)&&(null==e.apiUrl||u(e.apiUrl))&&(null==e.portalUrl||u(e.portalUrl))&&u(e.id)&&u(e.title)&&Z(e.type),e.isFtCollectionDocumentType=Z,e.isFtConfigurationHistoryEntryStatus=e=>["VALID","INVALID"].includes(e),e.isFtCredentials=e=>n(e)&&u(e.password)&&(null==e.newPassword||u(e.newPassword))&&o(e.rememberMe)&&u(e.login),e.isFtDateFilter=ee,e.isFtDateFilterType=re,e.isFtEditorialType=Y,e.isFtExternalWebComponentContext=e=>["HOMEPAGE","CUSTOM","HEADER","READER","TOPIC_TEMPLATE","SEARCH","SEARCH_RESULT"].includes(e),e.isFtFacetType=e=>["AND","OR","MONOVALUED"].includes(e),e.isFtFeedbackCreation=e=>n(e)&&(null==e.from||u(e.from))&&u(e.message),e.isFtGenAIGenerateInput=e=>Ne(e)&&we(e.profileId)&&(null==e.parameters||Ne(e.parameters)&&Object.keys(e.parameters).every((e=>we(e)))&&Object.values(e.parameters).every((e=>we(e)))),e.isFtGenAIRating=e=>Ne(e)&&Me(e.rating)&&we(e.comment)&&we(e.queryId),e.isFtHttpErrorDetails=e=>n(e)&&u(e.endpoint)&&u(e.method)&&u(e.statusText)&&u(e.body)&&l(e.status),e.isFtLabeledMetadataFilter=ie,e.isFtLegacyLabeledMetadataFilter=ae,e.isFtLegacyMetadataFilter=se,e.isFtMap=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&(null==e.watermark||Pe(e.watermark))&&z(e.openMode)&&(null==e.topicsApiEndpoint||u(e.topicsApiEndpoint))&&(null==e.description||u(e.description))&&(null==e.attachmentsApiEndpoint||u(e.attachmentsApiEndpoint))&&Y(e.editorialType)&&u(e.baseId)&&u(e.clusterId)&&u(e.title)&&u(e.lastPublication)&&o(e.pbkConfidential)&&u(e.lastEdition)&&u(e.originId)&&(null==e.rightsApiEndpoint||u(e.rightsApiEndpoint))&&m(e.contentStyles)&&(null==e.originUrl||u(e.originUrl))&&u(e.fingerprint)&&u(e.readerUrl)&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtMapAttachment=e=>Ne(e)&&we(e.file)&&(null==e.size||Me(e.size))&&ke(e.externalLink)&&we(e.name)&&we(e.id)&&(null==e.mimeType||we(e.mimeType))&&(null==e.viewerUrl||we(e.viewerUrl)),e.isFtMapResource=e=>n(e)&&u(e.contentUrl)&&u(e.filename)&&u(e.id)&&u(e.mimeType),e.isFtMapStyles=m,e.isFtMessageContext=e=>n(e)&&u(e.name)&&n(e.messages)&&Object.keys(e.messages).every((e=>u(e)))&&Object.values(e.messages).every((e=>u(e)))&&u(e.locale),e.isFtMetadata=O,e.isFtMetadataConfiguration=e=>n(e)&&Array.isArray(e.descriptors)&&e.descriptors.every((e=>I(e))),e.isFtMetadataDescriptor=I,e.isFtMetadataFilter=oe,e.isFtMetadataHomeLayout=e=>["CLASSIC","CUSTOM","DESIGNER"].includes(e),e.isFtMetadataPreferenceConfiguration=M,e.isFtMetadataSortRule=U,e.isFtMyLibraryColors=d,e.isFtMySearch=e=>n(e)&&_(e.searchRequest)&&d(e.color)&&o(e.alert)&&u(e.description)&&u(e.id)&&u(e.ownerId)&&u(e.title)&&u(e.creationDate),e.isFtMySearchRequest=_,e.isFtOpenMode=z,e.isFtPageConfiguration=Ve,e.isFtPageRequest=X,e.isFtPaginatedToc=e=>Ne(e)&&je(e.configuration)&&Array.isArray(e.paginatedToc)&&e.paginatedToc.every((e=>$e(e))),e.isFtPaginatedTocNode=$e,e.isFtPaginationConfiguration=je,e.isFtPeriod=le,e.isFtPeriodFilter=ne,e.isFtPeriodFilterType=B,e.isFtPersonalBookCreation=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&Array.isArray(e.nodes)&&e.nodes.every((e=>f(e)))&&u(e.description)&&u(e.title),e.isFtPersonalBookMetadataUpdate=y,e.isFtPersonalBookNodeCreation=f,e.isFtPersonalBookTopicLinkCreation=A,e.isFtPublicClusterSortCriterion=J,e.isFtPublicationRating=D,e.isFtPublicationRatingSummary=P,e.isFtRagHistory=xe,e.isFtRagInput=e=>Ne(e)&&we(e.profileId)&&(null==e.conversationId||we(e.conversationId))&&we(e.query)&&(null==e.messages||Array.isArray(e.messages)&&e.messages.every((e=>xe(e))))&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Ge(e)))),e.isFtRangeFilter=ue,e.isFtRatingCreation=e=>n(e)&&L(e.type)&&l(e.value),e.isFtRatingSummary=e=>n(e)&&(null==e.topics||k(e.topics))&&P(e.publication),e.isFtRatingType=L,e.isFtReaderConfiguration=e=>Ne(e)&&He(e.feedback)&&Me(e.loadAfterLastVisibleTopic)&&we(e.relativeTopicPivotMetadata)&&Me(e.loadBeforeFirstVisibleTopic)&&we(e.relativePivotMetadata),e.isFtReaderFeedbackConfiguration=He,e.isFtSearchFacet=Se,e.isFtSearchFacetConf=be,e.isFtSearchFacetEntry=Re,e.isFtSearchLocale=R,e.isFtSearchLocales=e=>n(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>R(e))),e.isFtSearchPreferences=Le,e.isFtSearchPreferencesConfiguration=e=>n(e)&&n(e.metadata)&&Object.keys(e.metadata).every((e=>u(e)))&&Object.values(e.metadata).every((e=>M(e))),e.isFtSearchPreset=e=>n(e)&&u(e.name)&&l(e.priority)&&(null==e.contentLocale||u(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>oe(e))),e.isFtSearchPrior=ce,e.isFtSearchRequest=e=>n(e)&&(null==e.periodFilter||null==e.periodFilter||ne(e.periodFilter))&&u(e.query)&&X(e.paging)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>se(e))))&&Array.isArray(e.sort)&&e.sort.every((e=>Fe(e)))&&(null==e.virtualField||K(e.virtualField))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>oe(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>be(e)))&&(null==e.scope||Te(e.scope))&&(null==e.uiLocale||u(e.uiLocale))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>ce(e))))&&(null==e.clusterSortCriterions||Array.isArray(e.clusterSortCriterions)&&e.clusterSortCriterions.every((e=>J(e)))),e.isFtSearchResultCluster=de,e.isFtSearchResultClusterEntry=pe,e.isFtSearchResultMap=ye,e.isFtSearchResultTopic=fe,e.isFtSearchResultType=me,e.isFtSearchResultUnstructuredDocument=he,e.isFtSearchResults=e=>n(e)&&(null==e.spellcheck||Oe(e.spellcheck))&&G(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>de(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>Se(e))),e.isFtSearchResultsPageInfo=G,e.isFtSearchScope=Te,e.isFtSearchSortCriterion=Fe,e.isFtSearchSortCriterionOrder=x,e.isFtSearchSortCriterionType=$,e.isFtSemanticSearchFilter=Ge,e.isFtSemanticSearchRequest=e=>Ne(e)&&we(e.query)&&(null==e.filters||Array.isArray(e.filters)&&e.filters.every((e=>Ge(e))))&&(null==e.nbResults||Me(e.nbResults)),e.isFtSemanticSearchResponseItem=Ke,e.isFtSession=e=>n(e)&&(null==e.authenticationIdentifier||Ce(e.authenticationIdentifier))&&l(e.idleTimeoutInMillis)&&De(e.profile)&&o(e.sessionAuthenticated)&&Le(e.searchPreferences),e.isFtSpellcheck=Oe,e.isFtSuggestRequest=e=>n(e)&&u(e.input)&&(null==e.scope||Te(e.scope))&&Array.isArray(e.sort)&&e.sort.every((e=>Fe(e)))&&(null==e.maxCount||l(e.maxCount))&&(null==e.contentLocale||u(e.contentLocale))&&Array.isArray(e.metadataFilters)&&e.metadataFilters.every((e=>oe(e))),e.isFtSuggestResult=Ue,e.isFtSuggestResults=e=>n(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>Ue(e))),e.isFtTocNode=E,e.isFtTopic=e=>n(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&u(e.id)&&u(e.contentApiEndpoint)&&u(e.title),e.isFtTopicContentTarget=e=>["THIRD_PARTY","OFF_THE_GRID","CONTENT_PACKAGER","PAGES","DESIGNED_READER"].includes(e),e.isFtTopicOrigin=T,e.isFtTopicOriginType=h,e.isFtTopicRating=N,e.isFtTopicResource=ve,e.isFtTopicsRatingSummary=k,e.isFtUiLocale=e=>n(e)&&u(e.displayName)&&u(e.languageTag)&&o(e.translated),e.isFtUnstructuredDocument=e=>n(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>O(e)))&&u(e.openMode)&&(null==e.description||u(e.description))&&u(e.mimeType)&&(null==e.baseId||u(e.baseId))&&(null==e.clusterId||u(e.clusterId))&&u(e.contentApiEndpoint)&&u(e.title)&&(null==e.lastPublication||u(e.lastPublication))&&u(e.viewerUrl)&&u(e.lastEdition)&&u(e.filename)&&(null==e.originId||u(e.originId))&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtUserProfile=De,e.isFtUserRole=_e,e.isFtValueFilter=ge,e.isFtVirtualField=K,e.isFtWatermark=Pe,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(We.localStorage){let r={...t,metadata:ze(t.metadata??{})};const i=Xe(e),a=JSON.stringify(r);return We.localStorage.setItem(i,a),We.dispatchEvent(new StorageEvent("storage",{key:i,newValue:a,storageArea:We.localStorage,url:We.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")},e.userHasRole=function(e,t){return null!=e&&(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some((e=>Ye(e,t)))}}));
@@ -262,9 +262,10 @@ export interface FtMySearchRequest {
262
262
  periodFilter?: FtPeriodFilter;
263
263
  query: string;
264
264
  scope?: FtSearchScopeKeys;
265
- filters: Array<FtLabeledSearchFilter>;
265
+ filters?: Array<FtLegacyLabeledMetadataFilter>;
266
266
  sort: Array<FtSearchSortCriterion>;
267
267
  virtualField?: FtVirtualFieldKeys;
268
+ metadataFilters?: Array<FtLabeledMetadataFilter>;
268
269
  contentLocale?: string;
269
270
  }
270
271
  export declare const isFtMySearchRequest: (o: any) => o is FtMySearchRequest;
@@ -334,17 +335,11 @@ export declare enum FtPeriodFilterType {
334
335
  }
335
336
  export type FtPeriodFilterTypeKeys = keyof typeof FtPeriodFilterType;
336
337
  export declare const isFtPeriodFilterType: (o: any) => o is FtPeriodFilterType;
337
- export interface FtSearchFilter {
338
- negative: boolean;
339
- values: Array<string>;
340
- key: string;
341
- }
342
- export declare const isFtSearchFilter: (o: any) => o is FtSearchFilter;
343
338
  export interface FtSearchPreset {
344
339
  name: string;
345
- filters: Array<FtSearchFilter>;
346
340
  priority: number;
347
341
  contentLocale?: string;
342
+ metadataFilters: Array<FtMetadataFilter>;
348
343
  }
349
344
  export declare const isFtSearchPreset: (o: any) => o is FtSearchPreset;
350
345
  export declare enum FtSearchSortCriterionOrder {
@@ -404,6 +399,18 @@ export declare enum FtCollectionDocumentType {
404
399
  }
405
400
  export type FtCollectionDocumentTypeKeys = keyof typeof FtCollectionDocumentType;
406
401
  export declare const isFtCollectionDocumentType: (o: any) => o is FtCollectionDocumentType;
402
+ export interface FtDateFilter {
403
+ type: FtDateFilterTypeKeys;
404
+ }
405
+ export declare const isFtDateFilter: (o: any) => o is FtDateFilter;
406
+ export declare enum FtDateFilterType {
407
+ LAST_WEEK = "LAST_WEEK",
408
+ LAST_MONTH = "LAST_MONTH",
409
+ LAST_QUARTER = "LAST_QUARTER",
410
+ LAST_YEAR = "LAST_YEAR"
411
+ }
412
+ export type FtDateFilterTypeKeys = keyof typeof FtDateFilterType;
413
+ export declare const isFtDateFilterType: (o: any) => o is FtDateFilterType;
407
414
  export interface FtSearchResults {
408
415
  spellcheck?: FtSpellcheck;
409
416
  paging: FtSearchResultsPageInfo;
@@ -411,24 +418,50 @@ export interface FtSearchResults {
411
418
  facets: Array<FtSearchFacet>;
412
419
  }
413
420
  export declare const isFtSearchResults: (o: any) => o is FtSearchResults;
414
- export interface FtLabeledSearchFilter {
421
+ export interface FtLabeledMetadataFilter {
422
+ valueFilter?: FtValueFilter;
423
+ rangeFilter?: FtRangeFilter;
424
+ label: string;
425
+ key: string;
426
+ dateFilter?: FtDateFilter;
427
+ }
428
+ export declare const isFtLabeledMetadataFilter: (o: any) => o is FtLabeledMetadataFilter;
429
+ export interface FtLegacyLabeledMetadataFilter {
415
430
  negative: boolean;
416
431
  values: Array<string>;
417
432
  label: string;
418
433
  key: string;
419
434
  }
420
- export declare const isFtLabeledSearchFilter: (o: any) => o is FtLabeledSearchFilter;
421
- export interface FtPeriod {
422
- from: string;
423
- to: string;
435
+ export declare const isFtLegacyLabeledMetadataFilter: (o: any) => o is FtLegacyLabeledMetadataFilter;
436
+ export interface FtLegacyMetadataFilter {
437
+ negative: boolean;
438
+ values: Array<string>;
439
+ key: string;
424
440
  }
425
- export declare const isFtPeriod: (o: any) => o is FtPeriod;
441
+ export declare const isFtLegacyMetadataFilter: (o: any) => o is FtLegacyMetadataFilter;
426
442
  export interface FtPeriodFilter {
427
443
  period?: FtPeriod;
428
444
  periodType: FtPeriodFilterTypeKeys;
429
445
  key?: string;
430
446
  }
431
447
  export declare const isFtPeriodFilter: (o: any) => o is FtPeriodFilter;
448
+ export interface FtMetadataFilter {
449
+ valueFilter?: FtValueFilter;
450
+ rangeFilter?: FtRangeFilter;
451
+ key: string;
452
+ dateFilter?: FtDateFilter;
453
+ }
454
+ export declare const isFtMetadataFilter: (o: any) => o is FtMetadataFilter;
455
+ export interface FtPeriod {
456
+ from: string;
457
+ to: string;
458
+ }
459
+ export declare const isFtPeriod: (o: any) => o is FtPeriod;
460
+ export interface FtRangeFilter {
461
+ from: string;
462
+ to: string;
463
+ }
464
+ export declare const isFtRangeFilter: (o: any) => o is FtRangeFilter;
432
465
  export interface FtSearchPrior {
433
466
  weight: number;
434
467
  value: string;
@@ -439,9 +472,10 @@ export interface FtSearchRequest {
439
472
  periodFilter?: FtPeriodFilter;
440
473
  query: string;
441
474
  paging: FtPageRequest;
442
- filters: Array<FtSearchFilter>;
475
+ filters?: Array<FtLegacyMetadataFilter>;
443
476
  sort: Array<FtSearchSortCriterion>;
444
477
  virtualField?: FtVirtualFieldKeys;
478
+ metadataFilters: Array<FtMetadataFilter>;
445
479
  facets: Array<FtSearchFacetConf>;
446
480
  scope?: FtSearchScopeKeys;
447
481
  lastModified?: any;
@@ -532,6 +566,11 @@ export declare enum FtSearchScope {
532
566
  }
533
567
  export type FtSearchScopeKeys = keyof typeof FtSearchScope;
534
568
  export declare const isFtSearchScope: (o: any) => o is FtSearchScope;
569
+ export interface FtValueFilter {
570
+ negative: boolean;
571
+ values: Array<string>;
572
+ }
573
+ export declare const isFtValueFilter: (o: any) => o is FtValueFilter;
535
574
  export interface FtSearchFacet {
536
575
  hierarchical: boolean;
537
576
  label: string;
@@ -577,10 +616,10 @@ export declare const isFtTopicResource: (o: any) => o is FtTopicResource;
577
616
  export interface FtSuggestRequest {
578
617
  input: string;
579
618
  scope?: FtSearchScopeKeys;
580
- filters: Array<FtSearchFilter>;
581
619
  sort: Array<FtSearchSortCriterion>;
582
620
  maxCount?: number;
583
621
  contentLocale?: string;
622
+ metadataFilters: Array<FtMetadataFilter>;
584
623
  }
585
624
  export declare const isFtSuggestRequest: (o: any) => o is FtSuggestRequest;
586
625
  export interface FtSuggestResult {
@@ -630,7 +669,8 @@ export interface FtAuthenticatedSession {
630
669
  }
631
670
  export declare const isFtAuthenticatedSession: (o: any) => o is FtAuthenticatedSession;
632
671
  export interface FtSearchPreferences {
633
- defaultFilters: Array<FtSearchFilter>;
672
+ defaultFilters?: Array<FtLegacyMetadataFilter>;
673
+ defaultMetadataFilters: Array<FtMetadataFilter>;
634
674
  }
635
675
  export declare const isFtSearchPreferences: (o: any) => o is FtSearchPreferences;
636
676
  export interface FtSession {