@wix/bex-core 2.101.0 → 2.104.0

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 (75) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +1 -1
  2. package/dist/cjs/assets/locale/messages_da.json +1 -1
  3. package/dist/cjs/assets/locale/messages_de.json +1 -1
  4. package/dist/cjs/assets/locale/messages_en.json +1 -1
  5. package/dist/cjs/assets/locale/messages_es.json +1 -1
  6. package/dist/cjs/assets/locale/messages_fr.json +1 -1
  7. package/dist/cjs/assets/locale/messages_hi.json +1 -1
  8. package/dist/cjs/assets/locale/messages_id.json +1 -1
  9. package/dist/cjs/assets/locale/messages_it.json +1 -1
  10. package/dist/cjs/assets/locale/messages_ja.json +1 -1
  11. package/dist/cjs/assets/locale/messages_ko.json +1 -1
  12. package/dist/cjs/assets/locale/messages_nl.json +1 -1
  13. package/dist/cjs/assets/locale/messages_no.json +1 -1
  14. package/dist/cjs/assets/locale/messages_pl.json +1 -1
  15. package/dist/cjs/assets/locale/messages_pt.json +1 -1
  16. package/dist/cjs/assets/locale/messages_ru.json +1 -1
  17. package/dist/cjs/assets/locale/messages_sv.json +1 -1
  18. package/dist/cjs/assets/locale/messages_th.json +1 -1
  19. package/dist/cjs/assets/locale/messages_tr.json +1 -1
  20. package/dist/cjs/assets/locale/messages_uk.json +1 -1
  21. package/dist/cjs/assets/locale/messages_vi.json +1 -1
  22. package/dist/cjs/assets/locale/messages_zh.json +1 -1
  23. package/dist/cjs/state/BulkActionModalState.js.map +1 -1
  24. package/dist/cjs/state/CollectionState.js +12 -3
  25. package/dist/cjs/state/CollectionState.js.map +1 -1
  26. package/dist/cjs/state/CustomFieldModalState.js +7 -1
  27. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  28. package/dist/cjs/state/PickerState.js +4 -2
  29. package/dist/cjs/state/PickerState.js.map +1 -1
  30. package/dist/cjs/state/SortState.js +2 -2
  31. package/dist/cjs/state/SortState.js.map +1 -1
  32. package/dist/cjs/state/WixPatternsContainer.js +1 -4
  33. package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
  34. package/dist/esm/assets/locale/messages_cs.json +1 -1
  35. package/dist/esm/assets/locale/messages_da.json +1 -1
  36. package/dist/esm/assets/locale/messages_de.json +1 -1
  37. package/dist/esm/assets/locale/messages_en.json +1 -1
  38. package/dist/esm/assets/locale/messages_es.json +1 -1
  39. package/dist/esm/assets/locale/messages_fr.json +1 -1
  40. package/dist/esm/assets/locale/messages_hi.json +1 -1
  41. package/dist/esm/assets/locale/messages_id.json +1 -1
  42. package/dist/esm/assets/locale/messages_it.json +1 -1
  43. package/dist/esm/assets/locale/messages_ja.json +1 -1
  44. package/dist/esm/assets/locale/messages_ko.json +1 -1
  45. package/dist/esm/assets/locale/messages_nl.json +1 -1
  46. package/dist/esm/assets/locale/messages_no.json +1 -1
  47. package/dist/esm/assets/locale/messages_pl.json +1 -1
  48. package/dist/esm/assets/locale/messages_pt.json +1 -1
  49. package/dist/esm/assets/locale/messages_ru.json +1 -1
  50. package/dist/esm/assets/locale/messages_sv.json +1 -1
  51. package/dist/esm/assets/locale/messages_th.json +1 -1
  52. package/dist/esm/assets/locale/messages_tr.json +1 -1
  53. package/dist/esm/assets/locale/messages_uk.json +1 -1
  54. package/dist/esm/assets/locale/messages_vi.json +1 -1
  55. package/dist/esm/assets/locale/messages_zh.json +1 -1
  56. package/dist/esm/state/CollectionState.js +10 -3
  57. package/dist/esm/state/CollectionState.js.map +1 -1
  58. package/dist/esm/state/CustomFieldModalState.js +6 -0
  59. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  60. package/dist/esm/state/PickerState.js +3 -1
  61. package/dist/esm/state/PickerState.js.map +1 -1
  62. package/dist/esm/state/SortState.js +1 -1
  63. package/dist/esm/state/SortState.js.map +1 -1
  64. package/dist/esm/state/WixPatternsContainer.js +1 -4
  65. package/dist/esm/state/WixPatternsContainer.js.map +1 -1
  66. package/dist/types/state/BulkActionModalState.d.ts +2 -2
  67. package/dist/types/state/BulkActionModalState.d.ts.map +1 -1
  68. package/dist/types/state/CollectionState.d.ts +3 -2
  69. package/dist/types/state/CollectionState.d.ts.map +1 -1
  70. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  71. package/dist/types/state/PickerState.d.ts.map +1 -1
  72. package/dist/types/state/SortState.d.ts +1 -0
  73. package/dist/types/state/SortState.d.ts.map +1 -1
  74. package/dist/types/state/WixPatternsContainer.d.ts.map +1 -1
  75. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","url","window","href","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: window.location.href,\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","url","window","href","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n url: typeof window !== 'undefined' ? window.location.href : '',\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -114,8 +114,8 @@ class SortState {
114
114
  }
115
115
  changeSort(col, params = {}) {
116
116
  this.setSort(col, {
117
- multiple: params.multiple,
118
- emitChangeEvent: true
117
+ emitChangeEvent: true,
118
+ ...params
119
119
  });
120
120
  }
121
121
  get value() {
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_mobx","SortState","constructor","_params","_defineProperty2","default","observable","array","deep","EventEmitter","makeObservable","value","computed","setSort","action","changeSort","reset","emitChangeEvent","_value","clear","events","emit","_getNextSortOrder","col","existingSort","find","field","id","sortMode","direction","Array","isArray","currentSortIndex","indexOf","nextSortIndex","length","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","setSortQuery","query","replace","params","getIsSortDescending","sort","exports"],"sources":["../../../src/state/SortState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Sort, SortMode, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: SortMode;\n}\n\nexport class SortState {\n readonly _value = observable.array<Sort>([], { deep: true });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (params?: { col?: Sortable }) => unknown;\n }>;\n\n constructor(_params: SortStateParams) {\n makeObservable(this, {\n value: computed,\n setSort: action,\n changeSort: action,\n reset: action,\n });\n }\n\n reset({ emitChangeEvent }: { emitChangeEvent?: boolean } = {}) {\n this._value.clear();\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n _getNextSortOrder(col: Sortable) {\n const existingSort = this._value.find(({ field }) => field === col.id);\n\n /**\n * @deprecated always option is deprecated\n */\n if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\n }\n\n // Get the next sort mode\n if (Array.isArray(col.sortMode)) {\n const currentSortIndex = col.sortMode.indexOf(existingSort?.direction);\n const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;\n\n return col.sortMode[nextSortIndex];\n }\n\n // asc->desc->undefined->asc...\n return existingSort === undefined\n ? 'asc'\n : existingSort.direction === 'desc'\n ? undefined\n : 'desc';\n }\n\n setSort(\n col: Sortable,\n {\n forceDirection,\n emitChangeEvent,\n multiple,\n }: {\n forceDirection?: SortOrder;\n emitChangeEvent?: boolean;\n multiple?: boolean;\n } = {},\n ) {\n const order = forceDirection ?? this._getNextSortOrder(col);\n\n if (multiple) {\n this._setSortMultiple(col, order);\n } else {\n this._setSortSingular(col, order);\n }\n\n if (emitChangeEvent) {\n this.events.emit('change', { col });\n }\n }\n\n _setSortSingular(col: Sortable, direction?: SortOrder) {\n this._value.clear();\n\n if (direction) {\n this._value.push({ field: col.id, direction });\n }\n }\n\n /**\n * Rules\n * Sort by a new column:\n * - Clear all previous sorts and add a new one\n * Sort by an existing column:\n * - If only 1 column is sorted, the next direction is calculated\n * with the SortMode in mind (if provided).\n * - If more than 1 column is sorted, only change the direction\n * asc -> desc, desc -> asc, ignoring the SortMode (if provided).\n */\n _setSortMultiple(col: Sortable, direction?: SortOrder) {\n const sortIndex = this._value.findIndex(({ field }) => field === col.id);\n\n if (sortIndex === -1) {\n this._setSortSingular(col, direction);\n } else {\n const nextDirection =\n this._value.length > 1\n ? this._value[sortIndex].direction === 'asc'\n ? 'desc'\n : 'asc'\n : direction;\n\n if (this._value.length === 1 && !direction) {\n this._value.clear();\n } else if (nextDirection) {\n this._value[sortIndex] = {\n field: col.id,\n direction: nextDirection,\n };\n }\n }\n }\n\n setSortQuery(\n query: Sort[],\n { emitChangeEvent }: { emitChangeEvent?: boolean } = {},\n ) {\n this._value.replace(query);\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n changeSort(col: Sortable, params: { multiple?: boolean } = {}) {\n this.setSort(col, {\n multiple: params.multiple,\n emitChangeEvent: true,\n });\n }\n\n get value() {\n return this._value;\n }\n\n getIsSortDescending(id: string) {\n const sort = this._value.find(({ field }) => field === id);\n if (sort) {\n return sort.direction === 'desc';\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_mobx","SortState","constructor","_params","_defineProperty2","default","observable","array","deep","EventEmitter","makeObservable","value","computed","setSort","action","changeSort","reset","emitChangeEvent","_value","clear","events","emit","_getNextSortOrder","col","existingSort","find","field","id","sortMode","direction","Array","isArray","currentSortIndex","indexOf","nextSortIndex","length","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","setSortQuery","query","replace","params","getIsSortDescending","sort","exports"],"sources":["../../../src/state/SortState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Sort, SortMode, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: SortMode;\n}\n\nexport class SortState {\n readonly _value = observable.array<Sort>([], { deep: true });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (params?: { col?: Sortable }) => unknown;\n }>;\n\n constructor(_params: SortStateParams) {\n makeObservable(this, {\n value: computed,\n setSort: action,\n changeSort: action,\n reset: action,\n });\n }\n\n reset({ emitChangeEvent }: { emitChangeEvent?: boolean } = {}) {\n this._value.clear();\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n _getNextSortOrder(col: Sortable) {\n const existingSort = this._value.find(({ field }) => field === col.id);\n\n /**\n * @deprecated always option is deprecated\n */\n if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\n }\n\n // Get the next sort mode\n if (Array.isArray(col.sortMode)) {\n const currentSortIndex = col.sortMode.indexOf(existingSort?.direction);\n const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;\n\n return col.sortMode[nextSortIndex];\n }\n\n // asc->desc->undefined->asc...\n return existingSort === undefined\n ? 'asc'\n : existingSort.direction === 'desc'\n ? undefined\n : 'desc';\n }\n\n setSort(\n col: Sortable,\n {\n forceDirection,\n emitChangeEvent,\n multiple,\n }: {\n forceDirection?: SortOrder;\n emitChangeEvent?: boolean;\n multiple?: boolean;\n } = {},\n ) {\n const order = forceDirection ?? this._getNextSortOrder(col);\n\n if (multiple) {\n this._setSortMultiple(col, order);\n } else {\n this._setSortSingular(col, order);\n }\n\n if (emitChangeEvent) {\n this.events.emit('change', { col });\n }\n }\n\n _setSortSingular(col: Sortable, direction?: SortOrder) {\n this._value.clear();\n\n if (direction) {\n this._value.push({ field: col.id, direction });\n }\n }\n\n /**\n * Rules\n * Sort by a new column:\n * - Clear all previous sorts and add a new one\n * Sort by an existing column:\n * - If only 1 column is sorted, the next direction is calculated\n * with the SortMode in mind (if provided).\n * - If more than 1 column is sorted, only change the direction\n * asc -> desc, desc -> asc, ignoring the SortMode (if provided).\n */\n _setSortMultiple(col: Sortable, direction?: SortOrder) {\n const sortIndex = this._value.findIndex(({ field }) => field === col.id);\n\n if (sortIndex === -1) {\n this._setSortSingular(col, direction);\n } else {\n const nextDirection =\n this._value.length > 1\n ? this._value[sortIndex].direction === 'asc'\n ? 'desc'\n : 'asc'\n : direction;\n\n if (this._value.length === 1 && !direction) {\n this._value.clear();\n } else if (nextDirection) {\n this._value[sortIndex] = {\n field: col.id,\n direction: nextDirection,\n };\n }\n }\n }\n\n setSortQuery(\n query: Sort[],\n { emitChangeEvent }: { emitChangeEvent?: boolean } = {},\n ) {\n this._value.replace(query);\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n changeSort(\n col: Sortable,\n params: { multiple?: boolean; forceDirection?: SortOrder } = {},\n ) {\n this.setSort(col, {\n emitChangeEvent: true,\n ...params,\n });\n }\n\n get value() {\n return this._value;\n }\n\n getIsSortDescending(id: string) {\n const sort = this._value.find(({ field }) => field === id);\n if (sort) {\n return sort.direction === 'desc';\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -221,10 +221,7 @@ class WixPatternsContainer {
221
221
  internalExperiments,
222
222
  experiments
223
223
  } = this;
224
- if (initTask.status.isLoading || initTask.status.isSuccess) {
225
- return initTask.status.promise;
226
- }
227
- await initTask.run(async () => {
224
+ initTask.runOnce(async () => {
228
225
  await Promise.all([i18n.init(), internalExperiments == null ? void 0 : internalExperiments.ready().catch(e => {
229
226
  console.error(e);
230
227
  }), experiments.ready().catch(e => {
@@ -1 +1 @@
1
- {"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","WixPatternsContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","reportProps","environment","environmentBI","cairoSessionId","biLogger","report","artifactId","artifactIdNew","componentName","componentIdNew","componentId","cairoVersion","uiLibVersion","csid","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","contextType","createComponentSettings","errorMonitor","errorHandler","withErrorHandler","fn","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","usePageLocation","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","biLoggerFactory","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","logger","internalMonitor","WixPatternsMonitor","enableTranslatedKeySuffix","enabled","translate","key","initTask","status","t","defaultValue","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","isLoading","isSuccess","promise","run","Promise","all","ready","catch","e","console","error","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","time","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/WixPatternsContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n WixPatternsMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n EnvironmentBi,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n wixPatternsEnvironment,\n WixPatternsEssentials,\n WixPatternsInitialProps,\n CloseSidePanel,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n ContextType,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\ntype WixPatternsContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface WixPatternsContainerParams {\n readonly initialProps?: WixPatternsInitialProps;\n readonly createEssentials: WixPatternsEssentials['createEssentials'];\n readonly biLogger?: WixPatternsEssentials['biLogger'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: WixPatternsEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly contextType?: ContextType;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: WixPatternsEssentials['useExperiments'];\n readonly experiments: WixPatternsEssentials['experiments'];\n readonly environment: WixPatternsEssentials['environment'];\n readonly environmentBI: WixPatternsEssentials['environmentBI'];\n readonly errorHandler?: WixPatternsEssentials['errorHandler'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: WixPatternsContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: WixPatternsEssentials['onBeforeUnload'];\n}\n\nexport class WixPatternsContainer {\n readonly createEssentials;\n readonly errorMonitor: WixPatternsContainerParams['errorMonitor'];\n readonly errorHandler;\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments: WixPatternsContainerParams['experiments'];\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly contextType: ContextType;\n readonly history: WixPatternsContainerParams['history'];\n readonly window: WixPatternsContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly usePageLocation?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly environmentBI: EnvironmentBi;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n\n readonly biLogger;\n\n readonly createComponentSettings;\n\n readonly enableTranslatedKeySuffix: boolean;\n\n constructor(params: Readonly<WixPatternsContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events =\n params.events ?? (new EventEmitter() as WixPatternsContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = wixPatternsEnvironment(params.environment);\n this.environmentBI = params.environmentBI;\n this.user = params.user;\n this.contextType = params.contextType ?? 'SITE';\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.errorHandler = params.errorHandler ?? {\n withErrorHandler: (fn) => fn(),\n };\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.usePageLocation = params.usePageLocation;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://9b9586a905eb429cbda9ea49d5d721f6@sentry-next.wixpress.com/8780'\n : '',\n /*\n TODO: not used in sentry-next API, need to be merged from reportError API with tags & extraData\n For Example: errorMonitor.captureException(error, { tags, contexts: { runtime: extraData }})\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n */\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLogger = params.biLogger ?? biLoggerFactory?.().logger();\n this.i18n = i18n;\n this.internalMonitor = new WixPatternsMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.enableTranslatedKeySuffix =\n this.experiments.enabled('specs.cairo.example-bm.tagsToLabels') ||\n this.experiments.enabled('specs.cairo.contacts.tagsToLabels');\n\n this.translate = (key, params) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n if (this.enableTranslatedKeySuffix) {\n return this.i18n.t(`${key}.asLabels`, {\n ...params,\n defaultValue: this.i18n.t(key, params),\n });\n }\n return this.i18n.t(key, params);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n _createComponentSettings(options: { namespace: string }) {\n return this.createComponentSettings(this)(options);\n }\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n return (reportProps: ReportProps) => {\n const { environment, environmentBI, cairoSessionId, biLogger } = this;\n\n return biLogger?.report({\n ...reportProps,\n params: {\n artifactId: environment.artifactId,\n artifactIdNew: environmentBI.artifactId,\n componentName: environment.componentName,\n componentIdNew: environmentBI.componentId,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n ...reportProps.params,\n },\n });\n };\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n if (initTask.status.isLoading || initTask.status.isSuccess) {\n return initTask.status.promise;\n }\n\n await initTask.run(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e: unknown) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n time: new Intl.DateTimeFormat(this.environment.language, {\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","WixPatternsContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","reportProps","environment","environmentBI","cairoSessionId","biLogger","report","artifactId","artifactIdNew","componentName","componentIdNew","componentId","cairoVersion","uiLibVersion","csid","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","contextType","createComponentSettings","errorMonitor","errorHandler","withErrorHandler","fn","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","usePageLocation","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","biLoggerFactory","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","logger","internalMonitor","WixPatternsMonitor","enableTranslatedKeySuffix","enabled","translate","key","initTask","status","t","defaultValue","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","runOnce","Promise","all","ready","catch","e","console","error","promise","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","time","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/WixPatternsContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n WixPatternsMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n EnvironmentBi,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n wixPatternsEnvironment,\n WixPatternsEssentials,\n WixPatternsInitialProps,\n CloseSidePanel,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n ContextType,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\ntype WixPatternsContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface WixPatternsContainerParams {\n readonly initialProps?: WixPatternsInitialProps;\n readonly createEssentials: WixPatternsEssentials['createEssentials'];\n readonly biLogger?: WixPatternsEssentials['biLogger'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: WixPatternsEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly contextType?: ContextType;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: WixPatternsEssentials['useExperiments'];\n readonly experiments: WixPatternsEssentials['experiments'];\n readonly environment: WixPatternsEssentials['environment'];\n readonly environmentBI: WixPatternsEssentials['environmentBI'];\n readonly errorHandler?: WixPatternsEssentials['errorHandler'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: WixPatternsContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: WixPatternsEssentials['onBeforeUnload'];\n}\n\nexport class WixPatternsContainer {\n readonly createEssentials;\n readonly errorMonitor: WixPatternsContainerParams['errorMonitor'];\n readonly errorHandler;\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments: WixPatternsContainerParams['experiments'];\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly contextType: ContextType;\n readonly history: WixPatternsContainerParams['history'];\n readonly window: WixPatternsContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly usePageLocation?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly environmentBI: EnvironmentBi;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n\n readonly biLogger;\n\n readonly createComponentSettings;\n\n readonly enableTranslatedKeySuffix: boolean;\n\n constructor(params: Readonly<WixPatternsContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events =\n params.events ?? (new EventEmitter() as WixPatternsContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = wixPatternsEnvironment(params.environment);\n this.environmentBI = params.environmentBI;\n this.user = params.user;\n this.contextType = params.contextType ?? 'SITE';\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.errorHandler = params.errorHandler ?? {\n withErrorHandler: (fn) => fn(),\n };\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.usePageLocation = params.usePageLocation;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://9b9586a905eb429cbda9ea49d5d721f6@sentry-next.wixpress.com/8780'\n : '',\n /*\n TODO: not used in sentry-next API, need to be merged from reportError API with tags & extraData\n For Example: errorMonitor.captureException(error, { tags, contexts: { runtime: extraData }})\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n */\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLogger = params.biLogger ?? biLoggerFactory?.().logger();\n this.i18n = i18n;\n this.internalMonitor = new WixPatternsMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.enableTranslatedKeySuffix =\n this.experiments.enabled('specs.cairo.example-bm.tagsToLabels') ||\n this.experiments.enabled('specs.cairo.contacts.tagsToLabels');\n\n this.translate = (key, params) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n if (this.enableTranslatedKeySuffix) {\n return this.i18n.t(`${key}.asLabels`, {\n ...params,\n defaultValue: this.i18n.t(key, params),\n });\n }\n return this.i18n.t(key, params);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n _createComponentSettings(options: { namespace: string }) {\n return this.createComponentSettings(this)(options);\n }\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n return (reportProps: ReportProps) => {\n const { environment, environmentBI, cairoSessionId, biLogger } = this;\n\n return biLogger?.report({\n ...reportProps,\n params: {\n artifactId: environment.artifactId,\n artifactIdNew: environmentBI.artifactId,\n componentName: environment.componentName,\n componentIdNew: environmentBI.componentId,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n ...reportProps.params,\n },\n });\n };\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n\n initTask.runOnce(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e: unknown) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n time: new Intl.DateTimeFormat(this.environment.language, {\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAiBA,IAAAC,MAAA,GAAAD,OAAA;AAWA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAIA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,wBAAA,GAAAV,OAAA;AAgDO,MAAMW,oBAAoB,CAAC;EAwDhCC,WAAWA,CAACC,MAA4C,EAAE;IAAA,IAAAC,oBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAnBtC,IAAIC,oBAAS,CAAO,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAsLpBE,aAAgB,IAAe;MAClD,OAAQC,WAAwB,IAAK;QACnC,MAAM;UAAEC,WAAW;UAAEC,aAAa;UAAEC,cAAc;UAAEC;QAAS,CAAC,GAAG,IAAI;QAErE,OAAOA,QAAQ,oBAARA,QAAQ,CAAEC,MAAM,CAAC;UACtB,GAAGL,WAAW;UACdN,MAAM,EAAE;YACNY,UAAU,EAAEL,WAAW,CAACK,UAAU;YAClCC,aAAa,EAAEL,aAAa,CAACI,UAAU;YACvCE,aAAa,EAAEP,WAAW,CAACO,aAAa;YACxCC,cAAc,EAAEP,aAAa,CAACQ,WAAW;YACzCC,YAAY,EAAEV,WAAW,CAACW,YAAY;YACtCC,IAAI,EAAEV,cAAc;YACpB,GAAGJ,aAAa;YAChB,GAAGC,WAAW,CAACN;UACjB;QACF,CAAC,CAAC;MACJ,CAAC;IACH,CAAC;IApLC,IAAI,CAACoB,gBAAgB,GAAGpB,MAAM,CAACoB,gBAAgB;IAC/C,IAAI,CAACC,MAAM,GAAGrB,MAAM,CAACqB,MAAM;IAC3B,IAAI,CAACC,YAAY,GAAGtB,MAAM,CAACsB,YAAY;IACvC,IAAI,CAACC,MAAM,GACTvB,MAAM,CAACuB,MAAM,IAAK,IAAIC,oBAAY,CAAC,CAAgC;IACrE,IAAI,CAACC,iBAAiB,GAAGzB,MAAM,CAAC0B,gBAAgB,IAAIC,gCAAsB;IAC1E,IAAI,CAACC,kBAAkB,GAAG5B,MAAM,CAAC6B,iBAAiB,IAAIA,2BAAiB;IAEvE,IAAI,CAACC,iBAAiB,GACpB9B,MAAM,CAAC8B,iBAAiB,IAAI,IAAIC,4CAAqB,CAAC,CAAC;IAEzD,IAAI,CAACxB,WAAW,GAAG,IAAAyB,6BAAsB,EAAChC,MAAM,CAACO,WAAW,CAAC;IAC7D,IAAI,CAACC,aAAa,GAAGR,MAAM,CAACQ,aAAa;IACzC,IAAI,CAACyB,IAAI,GAAGjC,MAAM,CAACiC,IAAI;IACvB,IAAI,CAACC,WAAW,GAAGlC,MAAM,CAACkC,WAAW,IAAI,MAAM;IAE/C,IAAI,CAACC,uBAAuB,GAC1BnC,MAAM,CAACmC,uBAAuB,IAAIA,gDAAuB;IAE3D,IAAI,CAACC,YAAY,GAAGpC,MAAM,CAACoC,YAAY;IACvC,IAAI,CAACC,YAAY,GAAGrC,MAAM,CAACqC,YAAY,IAAI;MACzCC,gBAAgB,EAAGC,EAAE,IAAKA,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAACC,UAAU,GAAGxC,MAAM,CAACwC,UAAU;IACnC,IAAI,CAACC,aAAa,GAAGzC,MAAM,CAACyC,aAAa;IACzC,IAAI,CAACC,YAAY,GAAG1C,MAAM,CAAC0C,YAAY;IACvC,IAAI,CAACC,OAAO,GAAG3C,MAAM,CAAC2C,OAAO;IAC7B,IAAI,CAACC,cAAc,GAAG5C,MAAM,CAAC4C,cAAc;IAC3C,IAAI,CAACC,cAAc,GAAG,IAAAC,gDAA0B,EAAC9C,MAAM,CAAC6C,cAAc,CAAC;IACvE,IAAI,CAACE,WAAW,GAAG/C,MAAM,CAAC+C,WAAW;IACrC,IAAI,CAACC,SAAS,GAAGhD,MAAM,CAACgD,SAAS;IACjC,IAAI,CAACC,eAAe,GAAGjD,MAAM,CAACiD,eAAe;IAC7C,IAAI,CAACC,UAAU,GAAGlD,MAAM,CAACkD,UAAU;IACnC,IAAI,CAACC,YAAY,GAAGnD,MAAM,CAACmD,YAAY;IACvC,IAAI,CAACC,gBAAgB,GAAGpD,MAAM,CAACoD,gBAAgB;IAC/C,IAAI,CAACC,MAAM,GAAGrD,MAAM,CAACqD,MAAM;IAC3B,IAAI,CAACC,UAAU,GAAGtD,MAAM,CAACsD,UAAU;IACnC,IAAI,CAACC,kBAAkB,GAAGvD,MAAM,CAACuD,kBAAkB;IACnD,IAAI,CAACC,eAAe,GAAGxD,MAAM,CAACwD,eAAe;IAC7C,IAAI,CAACC,cAAc,GAAGzD,MAAM,CAACyD,cAAc;IAC3C,IAAI,CAACC,cAAc,GAAG1D,MAAM,CAAC0D,cAAc;IAE3C,MAAM;MACJC,IAAI;MACJC,eAAe;MACfC,YAAY,EAAEC,cAAc;MAC5B1B,YAAY,EAAE2B,oBAAoB;MAClChB,WAAW,EAAEiB;IACf,CAAC,GAAG,IAAI,CAAC5C,gBAAgB,CAAC;MACxBuC,IAAI,EAAE;QACJM,WAAW,EAAE,KAAK;QAClBC,eAAe,EAAE,IAAI;QACrBC,mBAAmB,EAAE,MAAOC,MAAM,IAAK;UACrC,IAAIA,MAAM,KAAK,IAAI,EAAE;YACnB,OAAO,IAAI,CAAC3C,iBAAiB,CAAC,CAAC;UACjC;UACA,OAAO,IAAI,CAACG,kBAAkB,CAAC,IAAI,CAAC,CAACwC,MAAM,CAAC;QAC9C,CAAC;QACDC,QAAQ,GAAApE,oBAAA,GAAED,MAAM,CAACsE,YAAY,qBAAnBrE,oBAAA,CAAqBoE;MACjC,CAAC;MACDjC,YAAY,EAAE;QACZmC,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,GACjC,wEAAwE,GACxE;QACN;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAOM,CAAC;MACDC,MAAM,EAAE;QACNC,OAAO,EAAE;MACX,CAAC;MACD7B,WAAW,EAAE;QACX8B,MAAM,EAAE,CAAC,OAAO;MAClB;IACF,CAAC,CAAC;IAEF,IACE,OAAOL,OAAO,KAAK,WAAW,IAC9BA,OAAO,CAACC,GAAG,CAACK,oBAAoB,KAAK,MAAM,EAC3C;MACAnB,IAAI,CAACoB,OAAO,CAACC,WAAW,GAAG,EAAE;IAC/B;IAEA,IAAI,CAACvE,cAAc,GAAG,IAAAwE,QAAI,EAAC,CAAC;IAC5B,IAAI,CAACvE,QAAQ,GAAGV,MAAM,CAACU,QAAQ,KAAIkD,eAAe,oBAAfA,eAAe,CAAG,CAAC,CAACsB,MAAM,CAAC,CAAC;IAC/D,IAAI,CAACvB,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACwB,eAAe,GAAG,IAAIC,4BAAkB,CAAC;MAC5ChD,YAAY,EAAEpC,MAAM,CAACoC,YAAY;MACjC2B,oBAAoB;MACpBD,cAAc;MACdvD,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BY,IAAI,EAAE,IAAI,CAACV;IACb,CAAC,CAAC;IACF,IAAI,CAACuD,mBAAmB,GAAGA,mBAAmB;IAE9C,IAAI,CAACqB,yBAAyB,GAC5B,IAAI,CAACtC,WAAW,CAACuC,OAAO,CAAC,qCAAqC,CAAC,IAC/D,IAAI,CAACvC,WAAW,CAACuC,OAAO,CAAC,mCAAmC,CAAC;IAE/D,IAAI,CAACC,SAAS,GAAG,CAACC,GAAG,EAAExF,MAAM,KAAK;MAChC,KAAK,IAAI,CAACyF,QAAQ,CAACC,MAAM,CAAC,CAAC;MAC3B,IAAI,IAAI,CAACL,yBAAyB,EAAE;QAClC,OAAO,IAAI,CAAC1B,IAAI,CAACgC,CAAC,CAAC,GAAGH,GAAG,WAAW,EAAE;UACpC,GAAGxF,MAAM;UACT4F,YAAY,EAAE,IAAI,CAACjC,IAAI,CAACgC,CAAC,CAACH,GAAG,EAAExF,MAAM;QACvC,CAAC,CAAC;MACJ;MACA,OAAO,IAAI,CAAC2D,IAAI,CAACgC,CAAC,CAACH,GAAG,EAAExF,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,CAAC6F,KAAK,GAAG7F,MAAM,CAAC6F,KAAK;IAEzB,IAAI,CAACC,WAAW,GAAG,IAAIC,wBAAW,CAAC;MACjCtD,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/B6C,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBvC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;IAEF,IAAI,CAACgD,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,IAAI,EAAEC,YAAM,CAACC,KAAK;MAClBC,YAAY,EAAEF,YAAM,CAACC,KAAK;MAC1BE,cAAc,EAAEC;IAClB,CAAC,CAAC;EACJ;EAEAhH,wBAAwBA,CAACuF,OAA8B,EAAE;IACvD,OAAO,IAAI,CAAC5C,uBAAuB,CAAC,IAAI,CAAC,CAAC4C,OAAO,CAAC;EACpD;EAsBA,MAAMuB,YAAYA,CAAA,EAAG;IACnB,MAAM;MAAEb,QAAQ;MAAE9B,IAAI;MAAEK,mBAAmB;MAAEjB;IAAY,CAAC,GAAG,IAAI;IAEjE0C,QAAQ,CAACgB,OAAO,CAAC,YAAY;MAC3B,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChBhD,IAAI,CAACwC,IAAI,CAAC,CAAC,EACXnC,mBAAmB,oBAAnBA,mBAAmB,CAAE4C,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;QACxCC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;MAClB,CAAC,CAAC,EACF/D,WAAW,CAAC6D,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAU,IAAK;QACxCC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;MAClB,CAAC,CAAC,EACF,IAAI,CAACrF,iBAAiB,CAAC,CAAC,CAAE;MAAA,CAC3B,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOgE,QAAQ,CAACC,MAAM,CAACuB,OAAO;EAChC;EAEA,IAAIV,cAAcA,CAAA,EAAG;IACnB,OAAO;MACLW,MAAM,EAAE,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC7G,WAAW,CAAC8G,QAAQ,EAAE;QACzDC,SAAS,EAAE;MACb,CAAC,CAAC;MACFC,UAAU,EAAE,IAAIJ,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC7G,WAAW,CAAC8G,QAAQ,EAAE;QAC7DC,SAAS,EAAE,QAAQ;QACnBE,SAAS,EAAE;MACb,CAAC,CAAC;MACFC,IAAI,EAAE,IAAIN,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC7G,WAAW,CAAC8G,QAAQ,EAAE;QACvDG,SAAS,EAAE;MACb,CAAC;IACH,CAAC;EACH;EAEArB,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEL;IAAY,CAAC,GAAG,IAAI;IAE5B,IAAI,CAACQ,YAAY,CAAC,CAAC,CAACO,KAAK,CAAEC,CAAC,IAAK;MAC/BC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,MAAMY,SAAS,GAAG,CAChB5B,WAAW,CAACK,IAAI,CAAC,CAAC,EAClB,IAAIwB,gDAAuB,CAAC,IAAI,CAAC,CAACxB,IAAI,CAAC,CAAC,CACzC;IAED,OAAO,MAAM;MACXuB,SAAS,CAACE,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;AACF;AAACC,OAAA,CAAAhI,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Zavřít",
264
264
  "cairo.picker.createNew.button": "Nový",
265
265
  "cairo.table.advanced-sorting.cta": "Přidat nové třídění",
266
- "cairo.customFields.modal.maxFieldsError": "Dosáhli jste limitu 10 000. <supportLink>Kontaktujte podporu.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Dosáhli jste limitu 10 000.",
267
267
  "cairo.export.export": "Exportovat",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "Např. Země",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Luk",
264
264
  "cairo.picker.createNew.button": "Lav ny(t)",
265
265
  "cairo.table.advanced-sorting.cta": "Tilføj ny sortering",
266
- "cairo.customFields.modal.maxFieldsError": "Du har nået din 10K-grænse. <supportLink>Kontakt support.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Du har nået din 10K-grænse.",
267
267
  "cairo.export.export": "Eksporter",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "fx Land",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Schließen",
264
264
  "cairo.picker.createNew.button": "Neu erstellen",
265
265
  "cairo.table.advanced-sorting.cta": "Neue Sortierung hinzufügen",
266
- "cairo.customFields.modal.maxFieldsError": "Du hast das Limit von 10.000 erreicht. <supportLink>Kontaktiere das Support-Team.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Du hast das Limit von 10.000 erreicht.",
267
267
  "cairo.export.export": "Exportieren",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "z. B. Land",
@@ -347,7 +347,7 @@
347
347
  "cairo.customFields.maxFields": "You can add up to 10 custom fields.",
348
348
  "cairo.customFields.modal.technicalError": "Field wasn’t added due to a technical issue. Try again.",
349
349
  "cairo.customFields.modal.networkError": "Field wasn’t added due to a network error. Check your internet connection and try again.",
350
- "cairo.customFields.modal.maxFieldsError": "You reached your 10k limit. <supportLink>Contact support.</supportLink>",
350
+ "cairo.customFields.modal.maxFieldsError": "You reached your 10k limit.",
351
351
  "cairo.customFields.modal.dropDownlist.option.error": "This name already exists. Try a different one.",
352
352
  "cairo.customFields.archive.technicalError": "Field wasn’t archived due to a technical issue.",
353
353
  "cairo.customFields.fetch.technicalError": "Some fields didn’t load due to a technical issue.",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Cerrar",
264
264
  "cairo.picker.createNew.button": "Crear nuevo",
265
265
  "cairo.table.advanced-sorting.cta": "Agregar nueva columna",
266
- "cairo.customFields.modal.maxFieldsError": "Has alcanzado tu límite de 10 000. <supportLink>Contacta a Atención al Cliente.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Has alcanzado tu límite de 10 000.",
267
267
  "cairo.export.export": "Exportar",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "P. ej., País",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Fermer",
264
264
  "cairo.picker.createNew.button": "Créer un nouveau",
265
265
  "cairo.table.advanced-sorting.cta": "Ajouter une nouvelle colonne",
266
- "cairo.customFields.modal.maxFieldsError": "Vous avez atteint votre limite de 10 000. <supportLink>Contactez l'assistance.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Vous avez atteint votre limite de 10 000.",
267
267
  "cairo.export.export": "Exporter",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "Ex. Pays",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Close",
264
264
  "cairo.picker.createNew.button": "नई बनाएं",
265
265
  "cairo.table.advanced-sorting.cta": "नया क्रम जोड़ें",
266
- "cairo.customFields.modal.maxFieldsError": "You reached your 10k limit. <supportLink>Contact support.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "You reached your 10k limit.",
267
267
  "cairo.export.export": "निर्यात करें",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "जैसे, देश",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Tutup",
264
264
  "cairo.picker.createNew.button": "Buat Baru",
265
265
  "cairo.table.advanced-sorting.cta": "Tambahkan Sortir Baru",
266
- "cairo.customFields.modal.maxFieldsError": "Anda mencapai batas 10rb. <supportLink>Hubungi dukungan.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Anda mencapai batas 10rb.",
267
267
  "cairo.export.export": "Ekspor",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "mis., Negara",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Chiudi",
264
264
  "cairo.picker.createNew.button": "Crea nuovo",
265
265
  "cairo.table.advanced-sorting.cta": "Aggiungi nuovo ordinamento",
266
- "cairo.customFields.modal.maxFieldsError": "Hai raggiunto il limite di 10k. <supportLink>Contatta l'Assistenza clienti</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Hai raggiunto il limite di 10k.",
267
267
  "cairo.export.export": "Esporta",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "es.: Paese",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "閉じる",
264
264
  "cairo.picker.createNew.button": "新規作成",
265
265
  "cairo.table.advanced-sorting.cta": "新規並び替えを追加する",
266
- "cairo.customFields.modal.maxFieldsError": "上限の10,000 に達しました。<supportLink>カスタマーケアにお問い合わせ</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "上限の10,000 に達しました。",
267
267
  "cairo.export.export": "エクスポート",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "例:国",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "닫기",
264
264
  "cairo.picker.createNew.button": "추가하기",
265
265
  "cairo.table.advanced-sorting.cta": "정렬 추가",
266
- "cairo.customFields.modal.maxFieldsError": "사용 한도(10k)가 초과되었습니다. <supportLink>문의하기</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "사용 한도(10k)가 초과되었습니다.",
267
267
  "cairo.export.export": "내보내기",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "예: 국가",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Sluiten",
264
264
  "cairo.picker.createNew.button": "Nieuw",
265
265
  "cairo.table.advanced-sorting.cta": "Nieuwe sortering",
266
- "cairo.customFields.modal.maxFieldsError": "Je hebt je limiet van 10k bereikt. <supportLink>Contact opnemen met Support.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Je hebt je limiet van 10k bereikt.",
267
267
  "cairo.export.export": "Exporteren",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "bijv. Land",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Lukk",
264
264
  "cairo.picker.createNew.button": "Opprett ny",
265
265
  "cairo.table.advanced-sorting.cta": "Legg til ny sortering",
266
- "cairo.customFields.modal.maxFieldsError": "Du har nådd grensen på 10k. <supportLink>Kontakt brukerstøtte.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Du har nådd grensen på 10k.",
267
267
  "cairo.export.export": "Eksporter",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "f.eks. Land",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Zamknij",
264
264
  "cairo.picker.createNew.button": "Utwórz nowy",
265
265
  "cairo.table.advanced-sorting.cta": "Dodaj nowe sortowanie",
266
- "cairo.customFields.modal.maxFieldsError": "Osiągnięto limit 10 tys. <supportLink>Skontaktuj się z pomocą.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Osiągnięto limit 10 tys.",
267
267
  "cairo.export.export": "Eksportuj",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "np. kraj",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Fechar",
264
264
  "cairo.picker.createNew.button": "Criar novo",
265
265
  "cairo.table.advanced-sorting.cta": "Adicionar nova ordem",
266
- "cairo.customFields.modal.maxFieldsError": "Você atingiu seu limite de 10 mil. <supportLink>Entre em contato com o suporte.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Você atingiu seu limite de 10 mil.",
267
267
  "cairo.export.export": "Exportar",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "Ex.: País",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Закрыть",
264
264
  "cairo.picker.createNew.button": "Создать",
265
265
  "cairo.table.advanced-sorting.cta": "Добавить сортировку",
266
- "cairo.customFields.modal.maxFieldsError": "Вы достигли лимита в 10 тыс. <supportLink>Обратитесь в службу поддержки.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Вы достигли лимита в 10 тыс.",
267
267
  "cairo.export.export": "Экспортировать",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "например, Страна",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Stäng",
264
264
  "cairo.picker.createNew.button": "Skapa nytt",
265
265
  "cairo.table.advanced-sorting.cta": "Lägg till ny sortering",
266
- "cairo.customFields.modal.maxFieldsError": "Du har nått gränsen på 10 000. <supportLink>Kontakta support.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Du har nått gränsen på 10 000.",
267
267
  "cairo.export.export": "Exportera",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "t.ex. Land",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "ปิด",
264
264
  "cairo.picker.createNew.button": "สร้างใหม่",
265
265
  "cairo.table.advanced-sorting.cta": "เพิ่มรายการจัดเรียงใหม่",
266
- "cairo.customFields.modal.maxFieldsError": "คุณใช้โควต้าครบ 10,000 <supportLink>ติดต่อฝ่ายดูแลลูกค้า</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "คุณใช้โควต้าครบ 10,000",
267
267
  "cairo.export.export": "ส่งออกข้อมูล",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "เช่น ประเทศ",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Kapat",
264
264
  "cairo.picker.createNew.button": "Yeni Oluştur",
265
265
  "cairo.table.advanced-sorting.cta": "Yeni Sıralama Ekle",
266
- "cairo.customFields.modal.maxFieldsError": "10.000 limitine ulaştınız. <supportLink>Destek ekibimize ulaşın.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "10.000 limitine ulaştınız.",
267
267
  "cairo.export.export": "Dışa Aktar",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "Ör. Ülke",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Закрити",
264
264
  "cairo.picker.createNew.button": "Створити нове",
265
265
  "cairo.table.advanced-sorting.cta": "Додати сортування",
266
- "cairo.customFields.modal.maxFieldsError": "Ви досягли ліміту 10 000. <supportLink>Зверніться до Служби підтримки.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Ви досягли ліміту 10 000.",
267
267
  "cairo.export.export": "Експортувати",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "напр., Країна",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "Đóng",
264
264
  "cairo.picker.createNew.button": "Tạo mới",
265
265
  "cairo.table.advanced-sorting.cta": "Thêm kiểu sắp xếp ới",
266
- "cairo.customFields.modal.maxFieldsError": "Bạn đã đạt đến giới hạn 10.000. <supportLink>Liên hệ với bộ phận hỗ trợ.</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "Bạn đã đạt đến giới hạn 10.000.",
267
267
  "cairo.export.export": "Xuất",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "VD: Quốc gia",
@@ -263,7 +263,7 @@
263
263
  "cairo.tags.manageTags.modal.close.CTA": "關閉",
264
264
  "cairo.picker.createNew.button": "建立新項目",
265
265
  "cairo.table.advanced-sorting.cta": "新增排序",
266
- "cairo.customFields.modal.maxFieldsError": "您已用盡 1,000 之限額。<supportLink>請連絡支援團隊。</supportLink>",
266
+ "cairo.customFields.modal.maxFieldsError": "您已用盡 1,000 之限額。",
267
267
  "cairo.export.export": "匯出",
268
268
  "cairo.tags.manageTags.modal.deleteModal.title.asLabels": "Delete this label?",
269
269
  "cairo.customFields.fieldType.dropdownList.Name.placeholder": "例如,國家",
@@ -569,14 +569,21 @@ export class CollectionState {
569
569
  this.clearResultBeforeRefresh();
570
570
  return this.moveToFirstPage({ onResultUpdated });
571
571
  }
572
- sort(col, params = {}) {
572
+ sort(col, { clearResult, multiple, forceDirection, } = {}) {
573
573
  const { query, emitter } = this;
574
574
  emitter.emit('beforeSortStart', {
575
575
  origin: 'ColumnHeader',
576
576
  });
577
- query.sort.changeSort(col, { multiple: params.multiple });
577
+ query.sort.changeSort(col, {
578
+ multiple,
579
+ forceDirection,
580
+ });
578
581
  emitter.emit('sortStart', { col });
579
- return this.scheduleSort(params);
582
+ return this.scheduleSort({
583
+ clearResult,
584
+ multiple,
585
+ forceDirection,
586
+ });
580
587
  }
581
588
  async fetchAndReplaceResult({ onResultUpdated, } = {}) {
582
589
  const { result, query, emitter } = this;