@wix/bex-core 1.440.0 → 2.1.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 (116) hide show
  1. package/dist/cjs/InMemoryBackend/InMemoryBackend.js.map +1 -1
  2. package/dist/cjs/assets/locale/messages_cs.json +1 -1
  3. package/dist/cjs/assets/locale/messages_en.json +1 -1
  4. package/dist/cjs/assets/locale/messages_es.json +1 -1
  5. package/dist/cjs/assets/locale/messages_fr.json +1 -1
  6. package/dist/cjs/assets/locale/messages_nl.json +1 -1
  7. package/dist/cjs/assets/locale/messages_uk.json +1 -1
  8. package/dist/cjs/assets/locale/messages_visuale2e.json +3 -1
  9. package/dist/cjs/hooks/collectionConfig.js.map +1 -1
  10. package/dist/cjs/hooks/useAmbassadorCollection.js +8 -8
  11. package/dist/cjs/hooks/useAmbassadorCollection.js.map +1 -1
  12. package/dist/cjs/model/cairoEssentials.js.map +1 -1
  13. package/dist/cjs/model/commonTypes.js.map +1 -1
  14. package/dist/cjs/model/computedQuery/computedQuery.js.map +1 -1
  15. package/dist/cjs/model/filter.js.map +1 -1
  16. package/dist/cjs/providers/CairoContainerOverridesContext.js +1 -6
  17. package/dist/cjs/providers/CairoContainerOverridesContext.js.map +1 -1
  18. package/dist/cjs/providers/CairoContainerProvider/CairoContainerProvider.js +1 -6
  19. package/dist/cjs/providers/CairoContainerProvider/CairoContainerProvider.js.map +1 -1
  20. package/dist/cjs/providers/CairoInitialPropsProvider.js +3 -3
  21. package/dist/cjs/providers/CairoInitialPropsProvider.js.map +1 -1
  22. package/dist/cjs/providers/CairoProvider/CairoProvider.js +2 -2
  23. package/dist/cjs/providers/CairoProvider/CairoProvider.js.map +1 -1
  24. package/dist/cjs/state/BulkSelectState.js +9 -9
  25. package/dist/cjs/state/BulkSelectState.js.map +1 -1
  26. package/dist/cjs/state/CairoContainer.js +2 -13
  27. package/dist/cjs/state/CairoContainer.js.map +1 -1
  28. package/dist/cjs/state/CollectionOptimisticActions.js +77 -13
  29. package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
  30. package/dist/cjs/state/CollectionState.js +13 -1
  31. package/dist/cjs/state/CollectionState.js.map +1 -1
  32. package/dist/cjs/state/ExportState.js +7 -7
  33. package/dist/cjs/state/ExportState.js.map +1 -1
  34. package/dist/cjs/state/RangeFilterState/dateRangeUtils.js.map +1 -1
  35. package/dist/cjs/state/SortState.js +4 -4
  36. package/dist/cjs/state/SortState.js.map +1 -1
  37. package/dist/cjs/state/StringFilterState/StringFilterState.js.map +1 -1
  38. package/dist/cjs/state/buildCairoContainer.js +3 -3
  39. package/dist/cjs/state/buildCairoContainer.js.map +1 -1
  40. package/dist/cjs/testkit/CairoContainer.driver.js +4 -3
  41. package/dist/cjs/testkit/CairoContainer.driver.js.map +1 -1
  42. package/dist/cjs/testkit/ProductsCollectionState.driver.js +1 -1
  43. package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
  44. package/dist/esm/assets/locale/messages_cs.json +1 -1
  45. package/dist/esm/assets/locale/messages_en.json +1 -1
  46. package/dist/esm/assets/locale/messages_es.json +1 -1
  47. package/dist/esm/assets/locale/messages_fr.json +1 -1
  48. package/dist/esm/assets/locale/messages_nl.json +1 -1
  49. package/dist/esm/assets/locale/messages_uk.json +1 -1
  50. package/dist/esm/assets/locale/messages_visuale2e.json +3 -1
  51. package/dist/esm/hooks/useAmbassadorCollection.js +9 -6
  52. package/dist/esm/hooks/useAmbassadorCollection.js.map +1 -1
  53. package/dist/esm/providers/CairoContainerOverridesContext.js +0 -5
  54. package/dist/esm/providers/CairoContainerOverridesContext.js.map +1 -1
  55. package/dist/esm/providers/CairoContainerProvider/CairoContainerProvider.js +0 -5
  56. package/dist/esm/providers/CairoContainerProvider/CairoContainerProvider.js.map +1 -1
  57. package/dist/esm/providers/CairoInitialPropsProvider.js +1 -1
  58. package/dist/esm/providers/CairoInitialPropsProvider.js.map +1 -1
  59. package/dist/esm/providers/CairoProvider/CairoProvider.js +4 -4
  60. package/dist/esm/providers/CairoProvider/CairoProvider.js.map +1 -1
  61. package/dist/esm/state/BulkSelectState.js +9 -9
  62. package/dist/esm/state/CairoContainer.js +1 -7
  63. package/dist/esm/state/CairoContainer.js.map +1 -1
  64. package/dist/esm/state/CollectionOptimisticActions.js +63 -16
  65. package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
  66. package/dist/esm/state/CollectionState.js +11 -0
  67. package/dist/esm/state/CollectionState.js.map +1 -1
  68. package/dist/esm/state/ExportState.js +7 -7
  69. package/dist/esm/state/ExportState.js.map +1 -1
  70. package/dist/esm/state/SortState.js +4 -4
  71. package/dist/esm/state/SortState.js.map +1 -1
  72. package/dist/esm/state/buildCairoContainer.js +2 -2
  73. package/dist/esm/state/buildCairoContainer.js.map +1 -1
  74. package/dist/esm/testkit/CairoContainer.driver.js +3 -1
  75. package/dist/esm/testkit/CairoContainer.driver.js.map +1 -1
  76. package/dist/esm/testkit/ProductsCollectionState.driver.js +2 -2
  77. package/dist/esm/testkit/ProductsCollectionState.driver.js.map +1 -1
  78. package/dist/types/InMemoryBackend/InMemoryBackend.d.ts +4 -4
  79. package/dist/types/hooks/collectionConfig.d.ts +7 -7
  80. package/dist/types/hooks/useAmbassadorCollection.d.ts +2 -2
  81. package/dist/types/hooks/useAmbassadorCollection.d.ts.map +1 -1
  82. package/dist/types/model/cairoEssentials.d.ts +1 -7
  83. package/dist/types/model/cairoEssentials.d.ts.map +1 -1
  84. package/dist/types/model/commonTypes.d.ts +1 -1
  85. package/dist/types/model/commonTypes.d.ts.map +1 -1
  86. package/dist/types/model/computedQuery/computedQuery.d.ts +4 -4
  87. package/dist/types/model/computedQuery/computedQuery.d.ts.map +1 -1
  88. package/dist/types/model/filter.d.ts +1 -1
  89. package/dist/types/providers/CairoContainerOverridesContext.d.ts +0 -5
  90. package/dist/types/providers/CairoContainerOverridesContext.d.ts.map +1 -1
  91. package/dist/types/providers/CairoContainerProvider/CairoContainerProvider.d.ts +0 -5
  92. package/dist/types/providers/CairoContainerProvider/CairoContainerProvider.d.ts.map +1 -1
  93. package/dist/types/providers/CairoInitialPropsProvider.d.ts +1 -1
  94. package/dist/types/providers/CairoInitialPropsProvider.d.ts.map +1 -1
  95. package/dist/types/state/BulkSelectState.d.ts +1 -1
  96. package/dist/types/state/CairoContainer.d.ts +2 -14
  97. package/dist/types/state/CairoContainer.d.ts.map +1 -1
  98. package/dist/types/state/CollectionBIReporter.d.ts +1 -1
  99. package/dist/types/state/CollectionOptimisticActions.d.ts +181 -8
  100. package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
  101. package/dist/types/state/CollectionState.d.ts +34 -5
  102. package/dist/types/state/CollectionState.d.ts.map +1 -1
  103. package/dist/types/state/ExportState.d.ts +1 -1
  104. package/dist/types/state/ExportState.d.ts.map +1 -1
  105. package/dist/types/state/RangeFilterState/dateRangeUtils.d.ts +1 -1
  106. package/dist/types/state/RangeFilterState/dateRangeUtils.d.ts.map +1 -1
  107. package/dist/types/state/SortState.d.ts +5 -5
  108. package/dist/types/state/SortState.d.ts.map +1 -1
  109. package/dist/types/state/StringFilterState/StringFilterState.d.ts +1 -1
  110. package/dist/types/state/buildCairoContainer.d.ts +1 -1
  111. package/dist/types/state/buildCairoContainer.d.ts.map +1 -1
  112. package/dist/types/testkit/CairoContainer.driver.d.ts +3 -3
  113. package/dist/types/testkit/CairoContainer.driver.d.ts.map +1 -1
  114. package/dist/types/testkit/ProductsCollectionState.driver.d.ts +3 -3
  115. package/dist/types/testkit/ProductsCollectionState.driver.d.ts.map +1 -1
  116. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_chance","require","_orderBy","_interopRequireDefault","_shuffle","_events","_core","InMemoryBackend","constructor","params","_defineProperty2","default","EventEmitter","Chance","query","fetchDataStartPromises","events","listeners","map","listener","length","Promise","all","simulateAsyncDelay","fetchDataSync","items","forEach","item","delete","itemKey","set","Map","index","values","predicate","_","Math","floor","random","available","shuffle","find","enableTotal","createOne","paginationMode","orderBy","projection","initialTotal","total","delay","min","max","newList","throwError","chance","resolve","setTimeout","integer","Array","fill","getOrderBy","ordinal","_getOrdinal","filters","allItems","orders","itemsAfterOrdering","fieldName","order","size","get","itemsAfterFiltering","filter","offset","cursor","findIndex","value","itemsAfterSlicing","slice","limit","cursorItem","itemsAfterFieldsProjection","deleteAll","isItemDeleted","emit","clear","updateMany","categoriesOrdinal","category","hashQueryKey","has","move","from","after","array","fromKey","toKey","fromIndex","splice","toIndex","i","len","updateAll","patch","patchedItems","unshift","newItems","key","entries","push","getRandomItems","count","page","pickset","undefined","exports"],"sources":["../../../src/InMemoryBackend/InMemoryBackend.ts"],"sourcesContent":["import { FiltersMap, RawFilters } from '../model';\nimport { Chance } from 'chance';\nimport orderBy from 'lodash/orderBy';\nimport shuffle from 'lodash/shuffle';\nimport { ListIteratee } from 'lodash';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\n\ninterface Order<T> {\n fieldName: ListIteratee<T>;\n order: 'asc' | 'desc';\n}\n\ninterface IndexedItem<T> {\n item: T;\n index: number;\n}\n\nexport type TransformPatch<T> = (item: T) => Partial<T>;\n\nexport interface BackendQuery<F extends FiltersMap = FiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset?: number;\n page?: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](/pages/cairo/?path=/story/common-hooks--usecollection).\n */\n filters: RawFilters<F>;\n\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fields?: string[];\n /**\n * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fieldsset?: string[];\n}\n\nexport interface Delay {\n min: number;\n max: number;\n}\n\ninterface SubmitParams {\n delay?: Delay;\n throwError?: () => unknown;\n}\n\nexport interface InMemoryBackendParams<T, F extends FiltersMap = FiltersMap> {\n paginationMode?: 'offset' | 'cursor';\n /**\n * A callback function for each item creation\n */\n createOne: (index: number) => T;\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n */\n itemKey: (item: T) => string;\n /**\n * A function that accepts a subset of [ComputedQuery](/pages/cairo/?path=/story/common-models--computedquery) sent by the client and returns another function that accepts an item and should return a boolean that indicates whether the item passes the query filtering or not.\n */\n predicate?: (query: BackendQuery<F>) => (item: T) => boolean;\n /**\n * A function that accepts a subset of [ComputedQuery](/pages/cairo/?path=/story/common-models--computedquery) sent by the client and returns another function that accepts an item and should returns a list of rules to order the items by\n */\n orderBy?: (query: BackendQuery<F>) => Order<T>[];\n\n /**\n * A function that accepts a subset of [ComputedQuery](/pages/cairo/?path=/story/common-models--computedquery) sent by the client and returns a list of fields to project from the item\n */\n projection?: (query: BackendQuery<F>) => (item: T) => T;\n /**\n * Simulates API latency\n * @default { min: 0, max: 5 }\n */\n delay?: { min: number; max: number };\n /**\n * Total number of items to store in the backend\n */\n total: number;\n /**\n * Enable total for the backend. Defaults to \"true\"\n */\n enableTotal?: boolean;\n}\n\nexport class InMemoryBackend<T, F extends FiltersMap = FiltersMap> {\n readonly createOne: InMemoryBackendParams<T, F>['createOne'];\n readonly itemKey: InMemoryBackendParams<T, F>['itemKey'];\n readonly predicate: (query: BackendQuery<F>) => (item: T) => boolean;\n readonly orderBy?: (query: BackendQuery<F>) => Order<T>[];\n readonly projection;\n readonly initialTotal: number;\n readonly delay: { min: number; max: number };\n readonly paginationMode;\n readonly enableTotal?: boolean;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n updatedMany: () => void;\n updateAll: () => void;\n deleteAll: () => void;\n fetchDataStart: (query: BackendQuery<F>) => void | Promise<void>;\n }>;\n\n map: Map<string, T>;\n\n readonly chance = new Chance();\n\n constructor(params: InMemoryBackendParams<T, F>) {\n this.enableTotal = params.enableTotal ?? true;\n this.createOne = params.createOne;\n this.itemKey = params.itemKey;\n this.paginationMode = params.paginationMode;\n this.predicate = params.predicate ?? (() => () => true);\n this.orderBy = params.orderBy;\n this.projection = params.projection;\n this.initialTotal = params.total;\n this.delay = params.delay ?? { min: 0, max: 5 };\n this.map = new Map<string, T>(\n this.newList(params.total).map((item) => [this.itemKey(item), item]),\n );\n }\n\n private async simulateAsyncDelay({ delay, throwError }: SubmitParams = {}) {\n const { chance } = this;\n await new Promise((resolve) =>\n setTimeout(resolve, chance.integer(delay ?? this.delay)),\n ); // simulate async\n\n await throwError?.();\n }\n\n private newList(length: number) {\n return new Array(length)\n .fill(null)\n .map((_, index) => this.createOne(index));\n }\n\n fetchDataSync(query: BackendQuery<F>) {\n const { itemKey, predicate, orderBy: getOrderBy, paginationMode } = this;\n\n const ordinal = this._getOrdinal(query.filters);\n\n const allItems = this.values;\n\n const orders = getOrderBy?.(query);\n\n let itemsAfterOrdering;\n\n if (orders?.length) {\n itemsAfterOrdering = orderBy(\n allItems,\n orders.map(({ fieldName }) => fieldName),\n orders.map(({ order }) => order),\n );\n } else if (ordinal.size) {\n itemsAfterOrdering = orderBy(\n allItems,\n (item) => ordinal.get(itemKey(item)),\n ['asc'],\n );\n } else {\n itemsAfterOrdering = allItems;\n }\n\n const itemsAfterFiltering = itemsAfterOrdering.filter(predicate(query));\n\n let offset;\n\n if (paginationMode === 'cursor') {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : 0;\n } else {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : query.offset ?? 0;\n }\n\n const itemsAfterSlicing = itemsAfterFiltering.slice(\n offset,\n offset + query.limit,\n );\n\n const cursorItem = itemsAfterFiltering[offset + query.limit] as\n | T\n | undefined;\n\n const itemsAfterFieldsProjection = this.projection\n ? itemsAfterSlicing.map(this.projection(query))\n : itemsAfterSlicing;\n\n return {\n items: itemsAfterFieldsProjection,\n ...(this.enableTotal\n ? { total: itemsAfterFiltering.length, available: allItems.length }\n : {}),\n cursor: cursorItem && itemKey(cursorItem),\n };\n }\n\n fetchData = async (query: BackendQuery<F>) => {\n const fetchDataStartPromises = this.events\n .listeners('fetchDataStart')\n .map((listener) => listener(query));\n\n if (fetchDataStartPromises.length) {\n await Promise.all(fetchDataStartPromises);\n }\n\n await this.simulateAsyncDelay();\n return this.fetchDataSync(query);\n };\n\n deleteMany = async (items: T[], params?: SubmitParams) => {\n await this.simulateAsyncDelay(params);\n items.forEach((item) => this.map.delete(this.itemKey(item)));\n };\n\n async deleteAll(\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate, itemKey } = this;\n\n const isItemDeleted = predicate({\n filters,\n limit: 1,\n });\n\n for (const item of this.values) {\n if (isItemDeleted(item)) {\n this.map.delete(itemKey(item));\n }\n }\n\n this.events.emit('deleteAll');\n }\n\n clear() {\n this.map.clear();\n }\n\n update = async (item: T) => {\n await this.simulateAsyncDelay();\n this.map.set(this.itemKey(item), item);\n };\n\n async updateMany(items: T[], params: SubmitParams = {}) {\n await this.simulateAsyncDelay(params);\n for (const item of items) {\n this.map.set(this.itemKey(item), item);\n }\n this.events.emit('updatedMany');\n }\n readonly categoriesOrdinal: Map<string, Map<string, number>> = new Map();\n\n _getOrdinal(filters: RawFilters<F>) {\n const { categoriesOrdinal } = this;\n\n const category = hashQueryKey([{ filters }]);\n\n const ordinal =\n categoriesOrdinal.get(category) ?? new Map<string, number>();\n\n if (!categoriesOrdinal.has(category)) {\n categoriesOrdinal.set(category, ordinal);\n }\n\n return ordinal;\n }\n\n async move(\n events: {\n from: IndexedItem<T>;\n after: IndexedItem<T> | null;\n over: IndexedItem<T>;\n filters: RawFilters<F>;\n }[],\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n } = {},\n ) {\n const { itemKey } = this;\n await this.simulateAsyncDelay(params);\n\n for (const { from, after, filters } of events) {\n const ordinal = this._getOrdinal(filters);\n\n const array = ordinal.size\n ? orderBy(this.values.slice(), (item) => ordinal.get(itemKey(item)), [\n 'asc',\n ])\n : this.values.slice();\n\n const fromKey = itemKey(from.item);\n const toKey = after != null ? itemKey(after.item) : null;\n\n const fromIndex = array.findIndex((item) => fromKey === itemKey(item));\n if (fromIndex !== -1) {\n array.splice(fromIndex, 1);\n }\n\n if (toKey != null) {\n const toIndex = array.findIndex((item) => toKey === itemKey(item));\n if (toIndex !== -1) {\n array.splice(toIndex + 1, 0, from.item);\n }\n } else {\n array.splice(0, 0, from.item);\n }\n\n ordinal.clear();\n for (let i = 0, len = array.length; i < len; i++) {\n ordinal.set(itemKey(array[i]), i);\n }\n }\n }\n\n async updateAll(\n patch: TransformPatch<T>,\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate } = this;\n\n const itemsAfterFiltering = this.values.filter(\n predicate({\n filters,\n limit: 1,\n }),\n );\n\n const patchedItems = itemsAfterFiltering.map((value) => ({\n ...value,\n ...patch(value),\n }));\n\n for (const item of patchedItems) {\n this.map.set(this.itemKey(item), item);\n }\n\n this.events.emit('updateAll');\n }\n\n async unshift(newItems: T[]) {\n await this.simulateAsyncDelay();\n const map = new Map<string, T>();\n\n for (const item of newItems) {\n map.set(this.itemKey(item), item);\n }\n\n for (const [key, value] of Array.from(this.map.entries())) {\n map.set(key, value);\n }\n\n this.map = map;\n }\n\n async push(newItems: T[]) {\n await this.simulateAsyncDelay();\n\n for (const item of newItems) {\n this.map.set(this.itemKey(item), item);\n }\n }\n\n elementAt = (index: number) => this.values[index];\n\n getRandomItems(\n count: number,\n { limit, page }: { limit: number; page: number },\n ) {\n const { chance, values } = this;\n const offset = (page - 1) * limit;\n return chance.pickset(values.slice(offset, offset + limit), count);\n }\n\n randomItem = (predicate = (_: T) => true) => {\n const index = Math.floor(Math.random() * this.available);\n return {\n index,\n item: shuffle(this.values).find(predicate),\n };\n };\n\n get values() {\n return Array.from(this.map.values());\n }\n\n get available() {\n return this.map.size;\n }\n\n get(key?: string): T | undefined {\n if (key == null) {\n return undefined;\n }\n return this.map.get(key);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chance","require","_orderBy","_interopRequireDefault","_shuffle","_events","_core","InMemoryBackend","constructor","params","_defineProperty2","default","EventEmitter","Chance","query","fetchDataStartPromises","events","listeners","map","listener","length","Promise","all","simulateAsyncDelay","fetchDataSync","items","forEach","item","delete","itemKey","set","Map","index","values","predicate","_","Math","floor","random","available","shuffle","find","enableTotal","createOne","paginationMode","orderBy","projection","initialTotal","total","delay","min","max","newList","throwError","chance","resolve","setTimeout","integer","Array","fill","getOrderBy","ordinal","_getOrdinal","filters","allItems","orders","itemsAfterOrdering","fieldName","order","size","get","itemsAfterFiltering","filter","offset","cursor","findIndex","value","itemsAfterSlicing","slice","limit","cursorItem","itemsAfterFieldsProjection","deleteAll","isItemDeleted","emit","clear","updateMany","categoriesOrdinal","category","hashQueryKey","has","move","from","after","array","fromKey","toKey","fromIndex","splice","toIndex","i","len","updateAll","patch","patchedItems","unshift","newItems","key","entries","push","getRandomItems","count","page","pickset","undefined","exports"],"sources":["../../../src/InMemoryBackend/InMemoryBackend.ts"],"sourcesContent":["import { FiltersMap, RawFilters } from '../model';\nimport { Chance } from 'chance';\nimport orderBy from 'lodash/orderBy';\nimport shuffle from 'lodash/shuffle';\nimport { ListIteratee } from 'lodash';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\n\ninterface Order<T> {\n fieldName: ListIteratee<T>;\n order: 'asc' | 'desc';\n}\n\ninterface IndexedItem<T> {\n item: T;\n index: number;\n}\n\nexport type TransformPatch<T> = (item: T) => Partial<T>;\n\nexport interface BackendQuery<F extends FiltersMap = FiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset?: number;\n page?: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](./?path=/story/common-hooks--usecollection).\n */\n filters: RawFilters<F>;\n\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fields?: string[];\n /**\n * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fieldsset?: string[];\n}\n\nexport interface Delay {\n min: number;\n max: number;\n}\n\ninterface SubmitParams {\n delay?: Delay;\n throwError?: () => unknown;\n}\n\nexport interface InMemoryBackendParams<T, F extends FiltersMap = FiltersMap> {\n paginationMode?: 'offset' | 'cursor';\n /**\n * A callback function for each item creation\n */\n createOne: (index: number) => T;\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n */\n itemKey: (item: T) => string;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-models--computedquery) sent by the client and returns another function that accepts an item and should return a boolean that indicates whether the item passes the query filtering or not.\n */\n predicate?: (query: BackendQuery<F>) => (item: T) => boolean;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-models--computedquery) sent by the client and returns another function that accepts an item and should returns a list of rules to order the items by\n */\n orderBy?: (query: BackendQuery<F>) => Order<T>[];\n\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-models--computedquery) sent by the client and returns a list of fields to project from the item\n */\n projection?: (query: BackendQuery<F>) => (item: T) => T;\n /**\n * Simulates API latency\n * @default { min: 0, max: 5 }\n */\n delay?: { min: number; max: number };\n /**\n * Total number of items to store in the backend\n */\n total: number;\n /**\n * Enable total for the backend. Defaults to \"true\"\n */\n enableTotal?: boolean;\n}\n\nexport class InMemoryBackend<T, F extends FiltersMap = FiltersMap> {\n readonly createOne: InMemoryBackendParams<T, F>['createOne'];\n readonly itemKey: InMemoryBackendParams<T, F>['itemKey'];\n readonly predicate: (query: BackendQuery<F>) => (item: T) => boolean;\n readonly orderBy?: (query: BackendQuery<F>) => Order<T>[];\n readonly projection;\n readonly initialTotal: number;\n readonly delay: { min: number; max: number };\n readonly paginationMode;\n readonly enableTotal?: boolean;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n updatedMany: () => void;\n updateAll: () => void;\n deleteAll: () => void;\n fetchDataStart: (query: BackendQuery<F>) => void | Promise<void>;\n }>;\n\n map: Map<string, T>;\n\n readonly chance = new Chance();\n\n constructor(params: InMemoryBackendParams<T, F>) {\n this.enableTotal = params.enableTotal ?? true;\n this.createOne = params.createOne;\n this.itemKey = params.itemKey;\n this.paginationMode = params.paginationMode;\n this.predicate = params.predicate ?? (() => () => true);\n this.orderBy = params.orderBy;\n this.projection = params.projection;\n this.initialTotal = params.total;\n this.delay = params.delay ?? { min: 0, max: 5 };\n this.map = new Map<string, T>(\n this.newList(params.total).map((item) => [this.itemKey(item), item]),\n );\n }\n\n private async simulateAsyncDelay({ delay, throwError }: SubmitParams = {}) {\n const { chance } = this;\n await new Promise((resolve) =>\n setTimeout(resolve, chance.integer(delay ?? this.delay)),\n ); // simulate async\n\n await throwError?.();\n }\n\n private newList(length: number) {\n return new Array(length)\n .fill(null)\n .map((_, index) => this.createOne(index));\n }\n\n fetchDataSync(query: BackendQuery<F>) {\n const { itemKey, predicate, orderBy: getOrderBy, paginationMode } = this;\n\n const ordinal = this._getOrdinal(query.filters);\n\n const allItems = this.values;\n\n const orders = getOrderBy?.(query);\n\n let itemsAfterOrdering;\n\n if (orders?.length) {\n itemsAfterOrdering = orderBy(\n allItems,\n orders.map(({ fieldName }) => fieldName),\n orders.map(({ order }) => order),\n );\n } else if (ordinal.size) {\n itemsAfterOrdering = orderBy(\n allItems,\n (item) => ordinal.get(itemKey(item)),\n ['asc'],\n );\n } else {\n itemsAfterOrdering = allItems;\n }\n\n const itemsAfterFiltering = itemsAfterOrdering.filter(predicate(query));\n\n let offset;\n\n if (paginationMode === 'cursor') {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : 0;\n } else {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : query.offset ?? 0;\n }\n\n const itemsAfterSlicing = itemsAfterFiltering.slice(\n offset,\n offset + query.limit,\n );\n\n const cursorItem = itemsAfterFiltering[offset + query.limit] as\n | T\n | undefined;\n\n const itemsAfterFieldsProjection = this.projection\n ? itemsAfterSlicing.map(this.projection(query))\n : itemsAfterSlicing;\n\n return {\n items: itemsAfterFieldsProjection,\n ...(this.enableTotal\n ? { total: itemsAfterFiltering.length, available: allItems.length }\n : {}),\n cursor: cursorItem && itemKey(cursorItem),\n };\n }\n\n fetchData = async (query: BackendQuery<F>) => {\n const fetchDataStartPromises = this.events\n .listeners('fetchDataStart')\n .map((listener) => listener(query));\n\n if (fetchDataStartPromises.length) {\n await Promise.all(fetchDataStartPromises);\n }\n\n await this.simulateAsyncDelay();\n return this.fetchDataSync(query);\n };\n\n deleteMany = async (items: T[], params?: SubmitParams) => {\n await this.simulateAsyncDelay(params);\n items.forEach((item) => this.map.delete(this.itemKey(item)));\n };\n\n async deleteAll(\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate, itemKey } = this;\n\n const isItemDeleted = predicate({\n filters,\n limit: 1,\n });\n\n for (const item of this.values) {\n if (isItemDeleted(item)) {\n this.map.delete(itemKey(item));\n }\n }\n\n this.events.emit('deleteAll');\n }\n\n clear() {\n this.map.clear();\n }\n\n update = async (item: T) => {\n await this.simulateAsyncDelay();\n this.map.set(this.itemKey(item), item);\n };\n\n async updateMany(items: T[], params: SubmitParams = {}) {\n await this.simulateAsyncDelay(params);\n for (const item of items) {\n this.map.set(this.itemKey(item), item);\n }\n this.events.emit('updatedMany');\n }\n readonly categoriesOrdinal: Map<string, Map<string, number>> = new Map();\n\n _getOrdinal(filters: RawFilters<F>) {\n const { categoriesOrdinal } = this;\n\n const category = hashQueryKey([{ filters }]);\n\n const ordinal =\n categoriesOrdinal.get(category) ?? new Map<string, number>();\n\n if (!categoriesOrdinal.has(category)) {\n categoriesOrdinal.set(category, ordinal);\n }\n\n return ordinal;\n }\n\n async move(\n events: {\n from: IndexedItem<T>;\n after: IndexedItem<T> | null;\n over: IndexedItem<T>;\n filters: RawFilters<F>;\n }[],\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n } = {},\n ) {\n const { itemKey } = this;\n await this.simulateAsyncDelay(params);\n\n for (const { from, after, filters } of events) {\n const ordinal = this._getOrdinal(filters);\n\n const array = ordinal.size\n ? orderBy(this.values.slice(), (item) => ordinal.get(itemKey(item)), [\n 'asc',\n ])\n : this.values.slice();\n\n const fromKey = itemKey(from.item);\n const toKey = after != null ? itemKey(after.item) : null;\n\n const fromIndex = array.findIndex((item) => fromKey === itemKey(item));\n if (fromIndex !== -1) {\n array.splice(fromIndex, 1);\n }\n\n if (toKey != null) {\n const toIndex = array.findIndex((item) => toKey === itemKey(item));\n if (toIndex !== -1) {\n array.splice(toIndex + 1, 0, from.item);\n }\n } else {\n array.splice(0, 0, from.item);\n }\n\n ordinal.clear();\n for (let i = 0, len = array.length; i < len; i++) {\n ordinal.set(itemKey(array[i]), i);\n }\n }\n }\n\n async updateAll(\n patch: TransformPatch<T>,\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate } = this;\n\n const itemsAfterFiltering = this.values.filter(\n predicate({\n filters,\n limit: 1,\n }),\n );\n\n const patchedItems = itemsAfterFiltering.map((value) => ({\n ...value,\n ...patch(value),\n }));\n\n for (const item of patchedItems) {\n this.map.set(this.itemKey(item), item);\n }\n\n this.events.emit('updateAll');\n }\n\n async unshift(newItems: T[]) {\n await this.simulateAsyncDelay();\n const map = new Map<string, T>();\n\n for (const item of newItems) {\n map.set(this.itemKey(item), item);\n }\n\n for (const [key, value] of Array.from(this.map.entries())) {\n map.set(key, value);\n }\n\n this.map = map;\n }\n\n async push(newItems: T[]) {\n await this.simulateAsyncDelay();\n\n for (const item of newItems) {\n this.map.set(this.itemKey(item), item);\n }\n }\n\n elementAt = (index: number) => this.values[index];\n\n getRandomItems(\n count: number,\n { limit, page }: { limit: number; page: number },\n ) {\n const { chance, values } = this;\n const offset = (page - 1) * limit;\n return chance.pickset(values.slice(offset, offset + limit), count);\n }\n\n randomItem = (predicate = (_: T) => true) => {\n const index = Math.floor(Math.random() * this.available);\n return {\n index,\n item: shuffle(this.values).find(predicate),\n };\n };\n\n get values() {\n return Array.from(this.map.values());\n }\n\n get available() {\n return this.map.size;\n }\n\n get(key?: string): T | undefined {\n if (key == null) {\n return undefined;\n }\n return this.map.get(key);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AAwGO,MAAMM,eAAe,CAAuC;EAsBjEC,WAAWA,CAACC,OAAmC,EAAE;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,kBAX/B,IAAIC,oBAAY,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBASlB,IAAIE,cAAM,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,qBAmGlB,MAAOG,KAAsB,IAAK;MAC5C,MAAMC,sBAAsB,GAAG,IAAI,CAACC,MAAM,CACvCC,SAAS,CAAC,gBAAgB,CAAC,CAC3BC,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACL,KAAK,CAAC,CAAC;MAErC,IAAIC,sBAAsB,CAACK,MAAM,EAAE;QACjC,MAAMC,OAAO,CAACC,GAAG,CAACP,sBAAsB,CAAC;MAC3C;MAEA,MAAM,IAAI,CAACQ,kBAAkB,CAAC,CAAC;MAC/B,OAAO,IAAI,CAACC,aAAa,CAACV,KAAK,CAAC;IAClC,CAAC;IAAA,IAAAJ,gBAAA,CAAAC,OAAA,sBAEY,OAAOc,KAAU,EAAEhB,MAAqB,KAAK;MACxD,MAAM,IAAI,CAACc,kBAAkB,CAACd,MAAM,CAAC;MACrCgB,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK,IAAI,CAACT,GAAG,CAACU,MAAM,CAAC,IAAI,CAACC,OAAO,CAACF,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAA,IAAAjB,gBAAA,CAAAC,OAAA,kBAgCQ,MAAOgB,IAAO,IAAK;MAC1B,MAAM,IAAI,CAACJ,kBAAkB,CAAC,CAAC;MAC/B,IAAI,CAACL,GAAG,CAACY,GAAG,CAAC,IAAI,CAACD,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC;IACxC,CAAC;IAAA,IAAAjB,gBAAA,CAAAC,OAAA,6BAS8D,IAAIoB,GAAG,CAAC,CAAC;IAAA,IAAArB,gBAAA,CAAAC,OAAA,qBAwH3DqB,KAAa,IAAK,IAAI,CAACC,MAAM,CAACD,KAAK,CAAC;IAAA,IAAAtB,gBAAA,CAAAC,OAAA,sBAWpC,CAACuB,SAAS,GAAIC,CAAI,IAAK,IAAI,KAAK;MAC3C,MAAMH,KAAK,GAAGI,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,IAAI,CAACC,SAAS,CAAC;MACxD,OAAO;QACLP,KAAK;QACLL,IAAI,EAAE,IAAAa,gBAAO,EAAC,IAAI,CAACP,MAAM,CAAC,CAACQ,IAAI,CAACP,SAAS;MAC3C,CAAC;IACH,CAAC;IArSC,IAAI,CAACQ,WAAW,GAAGjC,OAAM,CAACiC,WAAW,IAAI,IAAI;IAC7C,IAAI,CAACC,SAAS,GAAGlC,OAAM,CAACkC,SAAS;IACjC,IAAI,CAACd,OAAO,GAAGpB,OAAM,CAACoB,OAAO;IAC7B,IAAI,CAACe,cAAc,GAAGnC,OAAM,CAACmC,cAAc;IAC3C,IAAI,CAACV,SAAS,GAAGzB,OAAM,CAACyB,SAAS,KAAK,MAAM,MAAM,IAAI,CAAC;IACvD,IAAI,CAACW,OAAO,GAAGpC,OAAM,CAACoC,OAAO;IAC7B,IAAI,CAACC,UAAU,GAAGrC,OAAM,CAACqC,UAAU;IACnC,IAAI,CAACC,YAAY,GAAGtC,OAAM,CAACuC,KAAK;IAChC,IAAI,CAACC,KAAK,GAAGxC,OAAM,CAACwC,KAAK,IAAI;MAAEC,GAAG,EAAE,CAAC;MAAEC,GAAG,EAAE;IAAE,CAAC;IAC/C,IAAI,CAACjC,GAAG,GAAG,IAAIa,GAAG,CAChB,IAAI,CAACqB,OAAO,CAAC3C,OAAM,CAACuC,KAAK,CAAC,CAAC9B,GAAG,CAAES,IAAI,IAAK,CAAC,IAAI,CAACE,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC,CACrE,CAAC;EACH;EAEA,MAAcJ,kBAAkBA,CAAC;IAAE0B,KAAK;IAAEI;EAAyB,CAAC,GAAG,CAAC,CAAC,EAAE;IACzE,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI;IACvB,MAAM,IAAIjC,OAAO,CAAEkC,OAAO,IACxBC,UAAU,CAACD,OAAO,EAAED,MAAM,CAACG,OAAO,CAACR,KAAK,IAAI,IAAI,CAACA,KAAK,CAAC,CACzD,CAAC,CAAC,CAAC;;IAEH,OAAMI,UAAU,oBAAVA,UAAU,CAAG,CAAC;EACtB;EAEQD,OAAOA,CAAChC,MAAc,EAAE;IAC9B,OAAO,IAAIsC,KAAK,CAACtC,MAAM,CAAC,CACrBuC,IAAI,CAAC,IAAI,CAAC,CACVzC,GAAG,CAAC,CAACiB,CAAC,EAAEH,KAAK,KAAK,IAAI,CAACW,SAAS,CAACX,KAAK,CAAC,CAAC;EAC7C;EAEAR,aAAaA,CAACV,KAAsB,EAAE;IACpC,MAAM;MAAEe,OAAO;MAAEK,SAAS;MAAEW,OAAO,EAAEe,UAAU;MAAEhB;IAAe,CAAC,GAAG,IAAI;IAExE,MAAMiB,OAAO,GAAG,IAAI,CAACC,WAAW,CAAChD,KAAK,CAACiD,OAAO,CAAC;IAE/C,MAAMC,QAAQ,GAAG,IAAI,CAAC/B,MAAM;IAE5B,MAAMgC,MAAM,GAAGL,UAAU,oBAAVA,UAAU,CAAG9C,KAAK,CAAC;IAElC,IAAIoD,kBAAkB;IAEtB,IAAID,MAAM,YAANA,MAAM,CAAE7C,MAAM,EAAE;MAClB8C,kBAAkB,GAAG,IAAArB,gBAAO,EAC1BmB,QAAQ,EACRC,MAAM,CAAC/C,GAAG,CAAC,CAAC;QAAEiD;MAAU,CAAC,KAAKA,SAAS,CAAC,EACxCF,MAAM,CAAC/C,GAAG,CAAC,CAAC;QAAEkD;MAAM,CAAC,KAAKA,KAAK,CACjC,CAAC;IACH,CAAC,MAAM,IAAIP,OAAO,CAACQ,IAAI,EAAE;MACvBH,kBAAkB,GAAG,IAAArB,gBAAO,EAC1BmB,QAAQ,EACPrC,IAAI,IAAKkC,OAAO,CAACS,GAAG,CAACzC,OAAO,CAACF,IAAI,CAAC,CAAC,EACpC,CAAC,KAAK,CACR,CAAC;IACH,CAAC,MAAM;MACLuC,kBAAkB,GAAGF,QAAQ;IAC/B;IAEA,MAAMO,mBAAmB,GAAGL,kBAAkB,CAACM,MAAM,CAACtC,SAAS,CAACpB,KAAK,CAAC,CAAC;IAEvE,IAAI2D,MAAM;IAEV,IAAI7B,cAAc,KAAK,QAAQ,EAAE;MAC/B6B,MAAM,GAAG3D,KAAK,CAAC4D,MAAM,GACjBH,mBAAmB,CAACI,SAAS,CAC1BC,KAAK,IAAK/C,OAAO,CAAC+C,KAAK,CAAC,KAAK9D,KAAK,CAAC4D,MACtC,CAAC,GACD,CAAC;IACP,CAAC,MAAM;MACLD,MAAM,GAAG3D,KAAK,CAAC4D,MAAM,GACjBH,mBAAmB,CAACI,SAAS,CAC1BC,KAAK,IAAK/C,OAAO,CAAC+C,KAAK,CAAC,KAAK9D,KAAK,CAAC4D,MACtC,CAAC,GACD5D,KAAK,CAAC2D,MAAM,IAAI,CAAC;IACvB;IAEA,MAAMI,iBAAiB,GAAGN,mBAAmB,CAACO,KAAK,CACjDL,MAAM,EACNA,MAAM,GAAG3D,KAAK,CAACiE,KACjB,CAAC;IAED,MAAMC,UAAU,GAAGT,mBAAmB,CAACE,MAAM,GAAG3D,KAAK,CAACiE,KAAK,CAE9C;IAEb,MAAME,0BAA0B,GAAG,IAAI,CAACnC,UAAU,GAC9C+B,iBAAiB,CAAC3D,GAAG,CAAC,IAAI,CAAC4B,UAAU,CAAChC,KAAK,CAAC,CAAC,GAC7C+D,iBAAiB;IAErB,OAAO;MACLpD,KAAK,EAAEwD,0BAA0B;MACjC,IAAI,IAAI,CAACvC,WAAW,GAChB;QAAEM,KAAK,EAAEuB,mBAAmB,CAACnD,MAAM;QAAEmB,SAAS,EAAEyB,QAAQ,CAAC5C;MAAO,CAAC,GACjE,CAAC,CAAC,CAAC;MACPsD,MAAM,EAAEM,UAAU,IAAInD,OAAO,CAACmD,UAAU;IAC1C,CAAC;EACH;EAoBA,MAAME,SAASA,CACbzE,MAIC,GAAG,CAAC,CAAC,EACN;IACA,MAAM;MAAEsD,OAAO,GAAG,CAAC;IAAE,CAAC,GAAGtD,MAAM;IAE/B,MAAM,IAAI,CAACc,kBAAkB,CAACd,MAAM,CAAC;IACrC,MAAM;MAAEyB,SAAS;MAAEL;IAAQ,CAAC,GAAG,IAAI;IAEnC,MAAMsD,aAAa,GAAGjD,SAAS,CAAC;MAC9B6B,OAAO;MACPgB,KAAK,EAAE;IACT,CAAC,CAAC;IAEF,KAAK,MAAMpD,IAAI,IAAI,IAAI,CAACM,MAAM,EAAE;MAC9B,IAAIkD,aAAa,CAACxD,IAAI,CAAC,EAAE;QACvB,IAAI,CAACT,GAAG,CAACU,MAAM,CAACC,OAAO,CAACF,IAAI,CAAC,CAAC;MAChC;IACF;IAEA,IAAI,CAACX,MAAM,CAACoE,IAAI,CAAC,WAAW,CAAC;EAC/B;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACnE,GAAG,CAACmE,KAAK,CAAC,CAAC;EAClB;EAOA,MAAMC,UAAUA,CAAC7D,KAAU,EAAEhB,MAAoB,GAAG,CAAC,CAAC,EAAE;IACtD,MAAM,IAAI,CAACc,kBAAkB,CAACd,MAAM,CAAC;IACrC,KAAK,MAAMkB,IAAI,IAAIF,KAAK,EAAE;MACxB,IAAI,CAACP,GAAG,CAACY,GAAG,CAAC,IAAI,CAACD,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC;IACxC;IACA,IAAI,CAACX,MAAM,CAACoE,IAAI,CAAC,aAAa,CAAC;EACjC;EAGAtB,WAAWA,CAACC,OAAsB,EAAE;IAClC,MAAM;MAAEwB;IAAkB,CAAC,GAAG,IAAI;IAElC,MAAMC,QAAQ,GAAG,IAAAC,kBAAY,EAAC,CAAC;MAAE1B;IAAQ,CAAC,CAAC,CAAC;IAE5C,MAAMF,OAAO,GACX0B,iBAAiB,CAACjB,GAAG,CAACkB,QAAQ,CAAC,IAAI,IAAIzD,GAAG,CAAiB,CAAC;IAE9D,IAAI,CAACwD,iBAAiB,CAACG,GAAG,CAACF,QAAQ,CAAC,EAAE;MACpCD,iBAAiB,CAACzD,GAAG,CAAC0D,QAAQ,EAAE3B,OAAO,CAAC;IAC1C;IAEA,OAAOA,OAAO;EAChB;EAEA,MAAM8B,IAAIA,CACR3E,MAKG,EACHP,MAGC,GAAG,CAAC,CAAC,EACN;IACA,MAAM;MAAEoB;IAAQ,CAAC,GAAG,IAAI;IACxB,MAAM,IAAI,CAACN,kBAAkB,CAACd,MAAM,CAAC;IAErC,KAAK,MAAM;MAAEmF,IAAI;MAAEC,KAAK;MAAE9B;IAAQ,CAAC,IAAI/C,MAAM,EAAE;MAC7C,MAAM6C,OAAO,GAAG,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC;MAEzC,MAAM+B,KAAK,GAAGjC,OAAO,CAACQ,IAAI,GACtB,IAAAxB,gBAAO,EAAC,IAAI,CAACZ,MAAM,CAAC6C,KAAK,CAAC,CAAC,EAAGnD,IAAI,IAAKkC,OAAO,CAACS,GAAG,CAACzC,OAAO,CAACF,IAAI,CAAC,CAAC,EAAE,CACjE,KAAK,CACN,CAAC,GACF,IAAI,CAACM,MAAM,CAAC6C,KAAK,CAAC,CAAC;MAEvB,MAAMiB,OAAO,GAAGlE,OAAO,CAAC+D,IAAI,CAACjE,IAAI,CAAC;MAClC,MAAMqE,KAAK,GAAGH,KAAK,IAAI,IAAI,GAAGhE,OAAO,CAACgE,KAAK,CAAClE,IAAI,CAAC,GAAG,IAAI;MAExD,MAAMsE,SAAS,GAAGH,KAAK,CAACnB,SAAS,CAAEhD,IAAI,IAAKoE,OAAO,KAAKlE,OAAO,CAACF,IAAI,CAAC,CAAC;MACtE,IAAIsE,SAAS,KAAK,CAAC,CAAC,EAAE;QACpBH,KAAK,CAACI,MAAM,CAACD,SAAS,EAAE,CAAC,CAAC;MAC5B;MAEA,IAAID,KAAK,IAAI,IAAI,EAAE;QACjB,MAAMG,OAAO,GAAGL,KAAK,CAACnB,SAAS,CAAEhD,IAAI,IAAKqE,KAAK,KAAKnE,OAAO,CAACF,IAAI,CAAC,CAAC;QAClE,IAAIwE,OAAO,KAAK,CAAC,CAAC,EAAE;UAClBL,KAAK,CAACI,MAAM,CAACC,OAAO,GAAG,CAAC,EAAE,CAAC,EAAEP,IAAI,CAACjE,IAAI,CAAC;QACzC;MACF,CAAC,MAAM;QACLmE,KAAK,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAEN,IAAI,CAACjE,IAAI,CAAC;MAC/B;MAEAkC,OAAO,CAACwB,KAAK,CAAC,CAAC;MACf,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAGP,KAAK,CAAC1E,MAAM,EAAEgF,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAE,EAAE;QAChDvC,OAAO,CAAC/B,GAAG,CAACD,OAAO,CAACiE,KAAK,CAACM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC;MACnC;IACF;EACF;EAEA,MAAME,SAASA,CACbC,KAAwB,EACxB9F,MAIC,GAAG,CAAC,CAAC,EACN;IACA,MAAM;MAAEsD,OAAO,GAAG,CAAC;IAAE,CAAC,GAAGtD,MAAM;IAE/B,MAAM,IAAI,CAACc,kBAAkB,CAACd,MAAM,CAAC;IACrC,MAAM;MAAEyB;IAAU,CAAC,GAAG,IAAI;IAE1B,MAAMqC,mBAAmB,GAAG,IAAI,CAACtC,MAAM,CAACuC,MAAM,CAC5CtC,SAAS,CAAC;MACR6B,OAAO;MACPgB,KAAK,EAAE;IACT,CAAC,CACH,CAAC;IAED,MAAMyB,YAAY,GAAGjC,mBAAmB,CAACrD,GAAG,CAAE0D,KAAK,KAAM;MACvD,GAAGA,KAAK;MACR,GAAG2B,KAAK,CAAC3B,KAAK;IAChB,CAAC,CAAC,CAAC;IAEH,KAAK,MAAMjD,IAAI,IAAI6E,YAAY,EAAE;MAC/B,IAAI,CAACtF,GAAG,CAACY,GAAG,CAAC,IAAI,CAACD,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC;IACxC;IAEA,IAAI,CAACX,MAAM,CAACoE,IAAI,CAAC,WAAW,CAAC;EAC/B;EAEA,MAAMqB,OAAOA,CAACC,QAAa,EAAE;IAC3B,MAAM,IAAI,CAACnF,kBAAkB,CAAC,CAAC;IAC/B,MAAML,GAAG,GAAG,IAAIa,GAAG,CAAY,CAAC;IAEhC,KAAK,MAAMJ,IAAI,IAAI+E,QAAQ,EAAE;MAC3BxF,GAAG,CAACY,GAAG,CAAC,IAAI,CAACD,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC;IACnC;IAEA,KAAK,MAAM,CAACgF,GAAG,EAAE/B,KAAK,CAAC,IAAIlB,KAAK,CAACkC,IAAI,CAAC,IAAI,CAAC1E,GAAG,CAAC0F,OAAO,CAAC,CAAC,CAAC,EAAE;MACzD1F,GAAG,CAACY,GAAG,CAAC6E,GAAG,EAAE/B,KAAK,CAAC;IACrB;IAEA,IAAI,CAAC1D,GAAG,GAAGA,GAAG;EAChB;EAEA,MAAM2F,IAAIA,CAACH,QAAa,EAAE;IACxB,MAAM,IAAI,CAACnF,kBAAkB,CAAC,CAAC;IAE/B,KAAK,MAAMI,IAAI,IAAI+E,QAAQ,EAAE;MAC3B,IAAI,CAACxF,GAAG,CAACY,GAAG,CAAC,IAAI,CAACD,OAAO,CAACF,IAAI,CAAC,EAAEA,IAAI,CAAC;IACxC;EACF;EAIAmF,cAAcA,CACZC,KAAa,EACb;IAAEhC,KAAK;IAAEiC;EAAsC,CAAC,EAChD;IACA,MAAM;MAAE1D,MAAM;MAAErB;IAAO,CAAC,GAAG,IAAI;IAC/B,MAAMwC,MAAM,GAAG,CAACuC,IAAI,GAAG,CAAC,IAAIjC,KAAK;IACjC,OAAOzB,MAAM,CAAC2D,OAAO,CAAChF,MAAM,CAAC6C,KAAK,CAACL,MAAM,EAAEA,MAAM,GAAGM,KAAK,CAAC,EAAEgC,KAAK,CAAC;EACpE;EAUA,IAAI9E,MAAMA,CAAA,EAAG;IACX,OAAOyB,KAAK,CAACkC,IAAI,CAAC,IAAI,CAAC1E,GAAG,CAACe,MAAM,CAAC,CAAC,CAAC;EACtC;EAEA,IAAIM,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACrB,GAAG,CAACmD,IAAI;EACtB;EAEAC,GAAGA,CAACqC,GAAY,EAAiB;IAC/B,IAAIA,GAAG,IAAI,IAAI,EAAE;MACf,OAAOO,SAAS;IAClB;IACA,OAAO,IAAI,CAAChG,GAAG,CAACoD,GAAG,CAACqC,GAAG,CAAC;EAC1B;AACF;AAACQ,OAAA,CAAA5G,eAAA,GAAAA,eAAA"}
@@ -405,7 +405,7 @@
405
405
  "cairo.passiveEmptyState.subtitle": "Až budete mít nějaké položky, uvidíte je zde.",
406
406
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Tagy se nepodařilo načíst kvůli technickým potížím na naší straně.",
407
407
  "cairo.table.advanced-sorting.button.cta": "Třídit",
408
- "cairo.emptyState.premium.cta": "Upgrade",
408
+ "cairo.emptyState.premium.cta": "Upgradovat",
409
409
  "cairo.manageView.Rename.disabled.predefinedView.tooltip": "Toto je přednastavené zobrazení. Pokud chcete toto zobrazení přejmenovat, uložte jej jako nové zobrazení.",
410
410
  "cairo.customFields.addCustomField.modal.fieldType.placeholder": "Vyberte typ",
411
411
  "cairo.customFields.fieldType.checkbox.Name.placeholder": "Např. Přihlášeni k odběru",
@@ -422,6 +422,6 @@
422
422
  "cairo.tags.manageTags.modal.list.create.CTA": "Create <name>\"{tagName}\"</name>",
423
423
  "cairo.emptyState.premium.cta": "Upgrade",
424
424
  "cairo.table.summaryBar.list.item": "{title}: <value>{value}</value>",
425
- "cairo.emptyState.premium.title": "Upgrade to a plan",
425
+ "cairo.emptyState.premium.title": "Upgrade with a plan",
426
426
  "cairo.emptyState.premium.text": "Access more features by upgrading your site."
427
427
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "cairo.emptyState.premium.text": "Accede a más funciones al hacer Upgrade a tu sitio.",
2
+ "cairo.emptyState.premium.text": "Accede a más funciones haciendo Upgrade a tu sitio.",
3
3
  "cairo.customFields.fieldType.shortText": "Texto corto",
4
4
  "cairo.delete.button": "Eliminar",
5
5
  "cairo.deselectAll": "Deseleccionar todos",
@@ -334,7 +334,7 @@
334
334
  "cairo.customFields.addCustomField.modal.PII.learnMore": "En savoir plus",
335
335
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuler",
336
336
  "cairo.customFields.archive.modal.description": "Ce champ et les informations qui y sont collectées seront archivés et ne pourront pas être restaurés.",
337
- "cairo.emptyState.premium.title": "Booster à un forfait",
337
+ "cairo.emptyState.premium.title": "Booster avec un forfait",
338
338
  "cairo.customFields.fieldType.numberDecimal": "Nombre (décimal)",
339
339
  "cairo.manageView.saveView.error.toast": "En raison d’un problème technique, votre vue n’a pas été enregistrée.",
340
340
  "cairo.table.noFiltersApplied.label": "Aucun filtre appliqué",
@@ -334,7 +334,7 @@
334
334
  "cairo.customFields.addCustomField.modal.PII.learnMore": "Lees meer",
335
335
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuleren",
336
336
  "cairo.customFields.archive.modal.description": "Dit veld en de daarin verzamelde informatie wordt gearchiveerd en kan niet hersteld worden.",
337
- "cairo.emptyState.premium.title": "Upgraden naar een abonnement",
337
+ "cairo.emptyState.premium.title": "Ga voor een upgrade",
338
338
  "cairo.customFields.fieldType.numberDecimal": "Getal (decimaal)",
339
339
  "cairo.manageView.saveView.error.toast": "Je weergave is vanwege een technisch probleem niet opgeslagen.",
340
340
  "cairo.table.noFiltersApplied.label": "Geen filters toegepast",
@@ -1,5 +1,5 @@
1
1
  {
2
- "cairo.emptyState.premium.text": "Отримайте більше функцій, перевівши свій сайт на Преміум.",
2
+ "cairo.emptyState.premium.text": "Отримайте більше функцій, перевівши сайт на преміумплан.",
3
3
  "cairo.customFields.fieldType.shortText": "Короткий текст",
4
4
  "cairo.delete.button": "Видалити",
5
5
  "cairo.deselectAll": "Скасувати вибір",
@@ -272,5 +272,7 @@
272
272
  "cairo.tags.manageTags.modal.toast.rename.success": "Tag renamed.",
273
273
  "cairo.tags.manageTags.modal.toast.rename.error": "Couldn't rename tag.",
274
274
  "cairo.tags.manageTags.modal.toast.delete.success": "Tag deleted.",
275
- "cairo.tags.manageTags.modal.toast.delete.error": "Couldn't delete tag."
275
+ "cairo.tags.manageTags.modal.toast.delete.error": "Couldn't delete tag.",
276
+ "cairo.dropdownSearch.select.filers.placeholder": "Select filters",
277
+ "cairo.dropdownSearch.filters.selected": "{total, plural, =1 {1 filter selected} other {# filters selected}}"
276
278
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/hooks/collectionConfig.ts"],"sourcesContent":["import {\n CollectionEvents,\n ComputedQuery,\n DataResultRaw,\n Filter,\n FiltersMap,\n QueryOptions,\n} from '../model';\nimport { ExtendedFields } from '../services';\n\nexport interface CollectionConfigBase<T, F extends FiltersMap> {\n /**\n * Disables \"Select All\" server simulation for bulk selection\n * @external\n */\n disableAutoSelectAllCount?: boolean;\n /**\n * Enable new \"Select All\" logic - unchecking items after \"Select All\" will not fallback to specific selection.\n * This means that the \"Total selected\" in `<BulkActionToolbar/>` and `<MultiBulkActionToolbar />` will show `total - unchekedItems` and\n * `isSelectAll` attribute will be true.\n *\n * When enabling this behavior you will receive a list of unselected ids (`unchekedItems`), `isSelectAll:true`, and `currentFilters`.\n * It is important to ensure that your server can query using those properties and retrieve the selected IDs\n * Here is the list of bulkActionToolbar's [attributes](/pages/cairo/?path=/story/components-collection--table).\n * @external\n */\n useNewSelectAllLogic?: boolean;\n /**\n * The query name used for cache purposes. This should be a unique value per API endpoint consumed inside the `fetchData` function.<br>\n * It's recommended to use the [Fqdn](https://bo.wix.com/wix-docs/rnd/p13n-guidelines---aips/guidance-aips/wix-api-basics/[1009]-fqdn) of the service used in `fetchData` as `queryName`.<br>\n * Either a string or a Fqdn object\n * @external\n */\n queryName: string;\n\n /**\n * Entity Fqdn, used in features where the fqdn is needed to manage the data (like DataExtension).\n * @external\n */\n fqdn?: string;\n\n /**\n * The `ExtendedFields` object used to render custom field values\n * Optional in case your data complies to the type `{ extendedFields: ExtendedFields }`\n */\n toExtendedFields?: (item: T) => ExtendedFields | undefined;\n\n /**\n * Toast message to show when fetching from the server is failed.\n * If the function returns nullish value, no toast will be shown.\n * @external\n */\n fetchErrorMessage: (params: {\n err: unknown;\n isOnline: boolean;\n }) => string | null | undefined;\n\n /**\n * @deprecated No longer required / used\n */\n entityName?: (pluralization: number) => string;\n\n search?: Filter<string>;\n queryOptions?: QueryOptions;\n /**\n * Persist the selected filters, search & sort in the query parameters of the URL.<br/>\n * For improved readability, sort & columns are formatted in CSV-like formatting, i.e \"?sort=name+desc,price+asc\". Do not use commas and/or spaces for your columns IDs.<br>\n * Note: The filters from the selected view will be persist, but the actual view will not be selected\n * @default false\n */\n persistQueryToUrl?: boolean;\n /**\n * Refreshes the collection when columns selection is changed. The selected columns are passed via `fetchData(query.columns)`.\n * @default false\n * @external\n */\n refreshOnColumnsChange?: boolean;\n initialPage?: DataResultRaw<T>;\n deferInitialLoading?: boolean;\n\n /**\n * Indicates whether to preserve or clear selection after applying a new search / filter.\n * @default preserve\n * @external\n */\n selectionConsistencyMode?: 'preserve' | 'clear';\n /**\n * Optional callbacks for various events of the collection state lifecycle\n * - `onInitialPageFetched` - when the first page of items is ready\n * - `onSearch` - when fetching new items as a result new search\n * - `onSearchResults` - when the result of a search is ready\n * - `onNewPageStart` - when starting to load the next page of items\n * - `onNewPageAdded` - when the result of the next page is ready\n * - `onError` - When `fetchData` throws an error. Return `true` from this function if the error was reported and shouldn't be reported again internally.\n */\n events?: CollectionEvents<F>;\n}\n\nexport interface CollectionConfigAnyPaginationMode<T, F extends FiltersMap>\n extends CollectionConfigBase<T, F> {\n /**\n * A function that integrates with the API to fetch the collection data from.<br>\n * Accepts the following parameters:\n * - `query`: A [ComputedQuery](/pages/cairo/?path=/story/common-models--computedquery) instance. Holds all the relevant variables to query the server API with.\n *\n * The function must return a promise of [DataResultRaw](/pages/cairo/?path=/story/common-models--dataresultraw)\n * @external\n */\n fetchData: (query: ComputedQuery<F>) => Promise<DataResultRaw<T>>;\n /**\n * Defines the filters that the collection supports. Optional if the collection should not have filters.<br>\n * Either of:\n * - [ArrayFilter](/pages/cairo/?path=/story/common-factories--arrayfilter)\n * - [CustomFilter](/pages/cairo/?path=/story/common-factories--customfilter)\n * @external\n */\n filters: F;\n /**\n * The item name which is used in many messages through cairo\n *\n * for example \"{entity} \"{itemName}\" was deleted successfully.\"\n * \"Contact \"Johnny Doe\" was deleted successfully.\"\n *\n * Optional in case your data complies to the type `{ name: string }`\n * @external\n */\n itemName: (item: T) => string;\n /**\n * The item key, usually the id, need to be unique within the collection\n * Optional in case your data complies to the type `{ id: string }`\n * @external\n */\n itemKey: (item: T) => string;\n /**\n * Number of items to fetch on each page\n * @external\n */\n limit?: number;\n}\n\nexport interface CollectionConfig<T, F extends FiltersMap>\n extends CollectionConfigAnyPaginationMode<T, F> {\n /**\n * Indicates what type of pagination the `fetchData` function supports.<br>\n * In case the server accepts the `query.offset` parameter - pass `'offset'`\n * In case the server returns a `cursor` from `fetchData` - pass `'cursor'`\n * @default offset\n * @external\n */\n paginationMode?: 'cursor' | 'offset';\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/hooks/collectionConfig.ts"],"sourcesContent":["import {\n CollectionEvents,\n ComputedQuery,\n DataResultRaw,\n Filter,\n FiltersMap,\n QueryOptions,\n} from '../model';\nimport { ExtendedFields } from '../services';\n\nexport interface CollectionConfigBase<T, F extends FiltersMap> {\n /**\n * Disables \"Select All\" server simulation for bulk selection\n * @external\n */\n disableAutoSelectAllCount?: boolean;\n /**\n * Enable new \"Select All\" logic - unchecking items after \"Select All\" will not fallback to specific selection.\n * This means that the \"Total selected\" in `<BulkActionToolbar/>` and `<MultiBulkActionToolbar />` will show `total - unchekedItems` and\n * `allSelected` attribute will be true.\n *\n * When enabling this behavior you will receive a list of unselected ids (`unchekedItems`), `allSelected:true`, and `currentFilters`.\n * It is important to ensure that your server can query using those properties and retrieve the selected IDs\n * Here is the list of bulkActionToolbar's [attributes](./?path=/story/components-collection--table).\n * @external\n */\n useNewSelectAllLogic?: boolean;\n /**\n * The query name used for cache purposes. This should be a unique value per API endpoint consumed inside the `fetchData` function.<br>\n * It's recommended to use the [Fqdn](https://bo.wix.com/wix-docs/rnd/p13n-guidelines---aips/guidance-aips/wix-api-basics/[1009]-fqdn) of the service used in `fetchData` as `queryName`.<br>\n * Either a string or a Fqdn object\n * @external\n */\n queryName: string;\n\n /**\n * Entity Fqdn, used in features where the fqdn is needed to manage the data (like DataExtension).\n * @external\n */\n fqdn?: string;\n\n /**\n * The `ExtendedFields` object used to render custom field values\n * Optional in case your data complies to the type `{ extendedFields: ExtendedFields }`\n */\n toExtendedFields?: (item: T) => ExtendedFields | undefined;\n\n /**\n * Toast message to show when fetching from the server is failed.\n * If the function returns nullish value, no toast will be shown.\n * @external\n */\n fetchErrorMessage: (params: {\n err: unknown;\n isOnline: boolean;\n }) => string | null | undefined;\n\n /**\n * @deprecated No longer required / used\n */\n entityName?: (pluralization: number) => string;\n\n search?: Filter<string>;\n queryOptions?: QueryOptions;\n /**\n * Persist the selected filters, search & sort in the query parameters of the URL.<br/>\n * For improved readability, sort & columns are formatted in CSV-like formatting, i.e \"?sort=name+desc,price+asc\". Do not use commas and/or spaces for your columns IDs.<br>\n * Note: The filters from the selected view will be persist, but the actual view will not be selected\n * @default false\n */\n persistQueryToUrl?: boolean;\n /**\n * Refreshes the collection when columns selection is changed. The selected columns are passed via `fetchData(query.columns)`.\n * @default false\n * @external\n */\n refreshOnColumnsChange?: boolean;\n initialPage?: DataResultRaw<T>;\n deferInitialLoading?: boolean;\n\n /**\n * Indicates whether to preserve or clear selection after applying a new search / filter.\n * @default preserve\n * @external\n */\n selectionConsistencyMode?: 'preserve' | 'clear';\n /**\n * Optional callbacks for various events of the collection state lifecycle\n * - `onInitialPageFetched` - when the first page of items is ready\n * - `onSearch` - when fetching new items as a result new search\n * - `onSearchResults` - when the result of a search is ready\n * - `onNewPageStart` - when starting to load the next page of items\n * - `onNewPageAdded` - when the result of the next page is ready\n * - `onError` - When `fetchData` throws an error. Return `true` from this function if the error was reported and shouldn't be reported again internally.\n */\n events?: CollectionEvents<F>;\n}\n\nexport interface CollectionConfigAnyPaginationMode<T, F extends FiltersMap>\n extends CollectionConfigBase<T, F> {\n /**\n * A function that integrates with the API to fetch the collection data from.<br>\n * Accepts the following parameters:\n * - `query`: A [ComputedQuery](./?path=/story/common-models--computedquery) instance. Holds all the relevant variables to query the server API with.\n *\n * The function must return a promise of [DataResultRaw](./?path=/story/common-models--dataresultraw)\n * @external\n */\n fetchData: (query: ComputedQuery<F>) => Promise<DataResultRaw<T>>;\n /**\n * Defines the filters that the collection supports. Optional if the collection should not have filters.<br>\n * Either of:\n * - [ArrayFilter](./?path=/story/common-factories--arrayfilter)\n * - [CustomFilter](./?path=/story/common-factories--customfilter)\n * @external\n */\n filters: F;\n /**\n * The item name which is used in many messages through cairo\n *\n * for example \"{entity} \"{itemName}\" was deleted successfully.\"\n * \"Contact \"Johnny Doe\" was deleted successfully.\"\n *\n * Optional in case your data complies to the type `{ name: string }`\n * @external\n */\n itemName: (item: T) => string;\n /**\n * The item key, usually the id, need to be unique within the collection\n * Optional in case your data complies to the type `{ id: string }`\n * @external\n */\n itemKey: (item: T) => string;\n /**\n * Number of items to fetch on each page\n * @external\n */\n limit?: number;\n}\n\nexport interface CollectionConfig<T, F extends FiltersMap>\n extends CollectionConfigAnyPaginationMode<T, F> {\n /**\n * Indicates what type of pagination the `fetchData` function supports.<br>\n * In case the server accepts the `query.offset` parameter - pass `'offset'`\n * In case the server returns a `cursor` from `fetchData` - pass `'cursor'`\n * @default offset\n * @external\n */\n paginationMode?: 'cursor' | 'offset';\n}\n"],"mappings":""}
@@ -10,13 +10,13 @@ var _useCollection = require("./useCollection");
10
10
  var _react = require("react");
11
11
  // TODO: should be exposed by Ambassador
12
12
 
13
- async function fetchData(config, cairoQuery, httpClient) {
13
+ async function fetchData(config, wixPatternsQuery, httpClient) {
14
14
  const {
15
15
  ambassador
16
16
  } = config;
17
17
  const transformPlatformizedQuery = config.transformPlatformizedQuery || _identity.default;
18
- const platformizedQuery = defaultPlatformizedQuery(cairoQuery);
19
- const query = await transformPlatformizedQuery(platformizedQuery, cairoQuery);
18
+ const platformizedQuery = defaultPlatformizedQuery(wixPatternsQuery);
19
+ const query = await transformPlatformizedQuery(platformizedQuery, wixPatternsQuery);
20
20
  return httpClient.request(ambassador.queryEntities({
21
21
  query
22
22
  }));
@@ -72,17 +72,17 @@ function useAmbassadorCollection(config) {
72
72
  const [collection] = (0, _react.useState)(() => createAmbassadorCollection(config));
73
73
  return collection;
74
74
  }
75
- function defaultPlatformizedQuery(cairoQuery) {
76
- var _cairoQuery$sort;
75
+ function defaultPlatformizedQuery(wixPatternsQuery) {
76
+ var _wixPatternsQuery$sor;
77
77
  return {
78
78
  filter: {},
79
- sort: (_cairoQuery$sort = cairoQuery.sort) == null ? void 0 : _cairoQuery$sort.map(sort => ({
79
+ sort: (_wixPatternsQuery$sor = wixPatternsQuery.sort) == null ? void 0 : _wixPatternsQuery$sor.map(sort => ({
80
80
  fieldName: sort.fieldName,
81
81
  order: sort.order.toUpperCase()
82
82
  })),
83
83
  cursorPaging: {
84
- cursor: cairoQuery.cursor,
85
- limit: cairoQuery.limit
84
+ cursor: wixPatternsQuery.cursor,
85
+ limit: wixPatternsQuery.limit
86
86
  }
87
87
  };
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_identity","_interopRequireDefault","require","_providers","_useCollection","_react","fetchData","config","cairoQuery","httpClient","ambassador","transformPlatformizedQuery","identity","platformizedQuery","defaultPlatformizedQuery","query","request","queryEntities","getOffsetConfig","queryName","fqdn","paginationMode","data","items","entities","total","metadata","getCursorConfig","cursor","cursors","next","useCreateAmbassadorCollection","createCollection","useCreateCollection","useWixPatternsContainer","collectionConfig","useAmbassadorCollection","createAmbassadorCollection","collection","useState","_cairoQuery$sort","filter","sort","map","fieldName","order","toUpperCase","cursorPaging","limit"],"sources":["../../../src/hooks/useAmbassadorCollection.ts"],"sourcesContent":["import identity from 'lodash/identity';\nimport type { AutoCrudHttp } from '@wix/auto-crud';\nimport type { FiltersMap, OptionalFiltersMap } from '../model';\nimport type { CollectionState } from '../state';\nimport type { CollectionConfigWithConditionals } from './collectionConfigPartials';\nimport type { CursorQuery, OffsetQuery } from '.';\nimport { useWixPatternsContainer } from '../providers';\nimport { useCreateCollection } from './useCollection';\nimport { useState } from 'react';\nimport { WixPatternsContainerParams } from '../state';\n\nexport type TransformPlatformizedQuery = (\n platformizedQuery: PlatformizedQuery,\n cairoQuery: CursorQuery,\n) => PlatformizedQuery | Promise<PlatformizedQuery>;\n\nexport type AmbassadorCollectionConfig<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> = Omit<\n CollectionConfigWithConditionals<T, F>,\n 'fetchData' | 'paginationMode' | 'queryName'\n> &\n AmbassadorCollectionConfigI<T>;\n\nexport interface AmbassadorCollectionConfigI<T> {\n /**\n * CRUD subpackage of a metro Ambassador package.\n */\n ambassador: Required<Pick<AutoCrudHttp<T>, 'queryEntities' | 'fqdn'>>;\n /**\n * A function to transform the cairo query to a PlatformizedQuery object (which will be used to fetch data from the server):\n * - `platformizedQuery`: PlatformizedQuery\n * - `cairoQuery`: CursorQuery\n * The function should return a PlatformizedQuery instance or a promise of PlatformizedQuery\n */\n transformPlatformizedQuery?: TransformPlatformizedQuery;\n /**\n * The query name used for cache purposes. This should be a unique value per API endpoint.\n * @default ambassador.fqdn\n */\n queryName?: string;\n}\n\ntype PlatformizedFilter = {\n [filter: string]: any;\n};\n\ntype PlatformizedSorting = {\n fieldName: string;\n order: 'ASC' | 'DESC';\n};\n\ntype PlatformizedCursorPaging = {\n limit: number;\n cursor?: string | null;\n};\n\n// TODO: should be exposed by Ambassador\ntype PlatformizedQuery = {\n filter?: PlatformizedFilter;\n sort?: PlatformizedSorting[];\n cursorPaging?: PlatformizedCursorPaging;\n};\n\nexport type AmbassadorCollectionFactory = <\n T,\n F extends FiltersMap = OptionalFiltersMap,\n>(\n config: AmbassadorCollectionConfig<T, F>,\n) => CollectionState<T, F>;\n\nasync function fetchData<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n cairoQuery: CursorQuery<Partial<F>> | OffsetQuery<Partial<F>>,\n httpClient: WixPatternsContainerParams['httpClient'],\n) {\n const { ambassador } = config;\n const transformPlatformizedQuery =\n config.transformPlatformizedQuery || identity;\n const platformizedQuery = defaultPlatformizedQuery(cairoQuery);\n const query = await transformPlatformizedQuery(platformizedQuery, cairoQuery);\n return httpClient.request(ambassador.queryEntities({ query }));\n}\n\nfunction getOffsetConfig<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n httpClient: WixPatternsContainerParams['httpClient'],\n): CollectionConfigWithConditionals<T, F> {\n return {\n queryName: config.ambassador.fqdn,\n ...config,\n paginationMode: 'offset',\n fetchData: async (query: OffsetQuery<Partial<F>>) => {\n const { data } = await fetchData(config, query, httpClient);\n return {\n items: data.entities,\n total: data.metadata.total,\n };\n },\n };\n}\n\nfunction getCursorConfig<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n httpClient: WixPatternsContainerParams['httpClient'],\n): CollectionConfigWithConditionals<T, F> {\n const { ambassador } = config;\n\n return {\n queryName: ambassador.fqdn,\n ...config,\n paginationMode: 'cursor',\n fetchData: async (query: CursorQuery<Partial<F>>) => {\n const { data } = await fetchData(config, query, httpClient);\n return {\n items: data.entities,\n cursor: data.metadata.cursors.next,\n total: data.metadata.total,\n };\n },\n };\n}\n\nexport function useCreateAmbassadorCollection(): AmbassadorCollectionFactory {\n const createCollection = useCreateCollection();\n const { httpClient } = useWixPatternsContainer();\n\n return <T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n ) => {\n const collectionConfig: CollectionConfigWithConditionals<T, F> =\n config.ambassador.queryEntities.paginationMode === 'offset'\n ? getOffsetConfig(config, httpClient)\n : getCursorConfig(config, httpClient);\n\n return createCollection(collectionConfig);\n };\n}\n\nexport function useAmbassadorCollection<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n>(config: AmbassadorCollectionConfig<T, F>): CollectionState<T, F> {\n const createAmbassadorCollection = useCreateAmbassadorCollection();\n\n const [collection] = useState(() => createAmbassadorCollection<T, F>(config));\n\n return collection;\n}\n\nfunction defaultPlatformizedQuery(cairoQuery: CursorQuery): PlatformizedQuery {\n return {\n filter: {},\n sort: cairoQuery.sort?.map((sort) => ({\n fieldName: sort.fieldName,\n order: sort.order.toUpperCase() as 'ASC' | 'DESC',\n })),\n cursorPaging: { cursor: cairoQuery.cursor, limit: cairoQuery.limit },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_identity","_interopRequireDefault","require","_providers","_useCollection","_react","fetchData","config","wixPatternsQuery","httpClient","ambassador","transformPlatformizedQuery","identity","platformizedQuery","defaultPlatformizedQuery","query","request","queryEntities","getOffsetConfig","queryName","fqdn","paginationMode","data","items","entities","total","metadata","getCursorConfig","cursor","cursors","next","useCreateAmbassadorCollection","createCollection","useCreateCollection","useWixPatternsContainer","collectionConfig","useAmbassadorCollection","createAmbassadorCollection","collection","useState","_wixPatternsQuery$sor","filter","sort","map","fieldName","order","toUpperCase","cursorPaging","limit"],"sources":["../../../src/hooks/useAmbassadorCollection.ts"],"sourcesContent":["import identity from 'lodash/identity';\nimport type { AutoCrudHttp } from '@wix/auto-crud';\nimport type { FiltersMap, OptionalFiltersMap } from '../model';\nimport type { CollectionState } from '../state';\nimport type { CollectionConfigWithConditionals } from './collectionConfigPartials';\nimport type { CursorQuery, OffsetQuery } from '.';\nimport { useWixPatternsContainer } from '../providers';\nimport { useCreateCollection } from './useCollection';\nimport { useState } from 'react';\nimport { WixPatternsContainerParams } from '../state';\n\nexport type TransformPlatformizedQuery = (\n platformizedQuery: PlatformizedQuery,\n wixPatternsQuery: CursorQuery,\n) => PlatformizedQuery | Promise<PlatformizedQuery>;\n\nexport type AmbassadorCollectionConfig<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> = Omit<\n CollectionConfigWithConditionals<T, F>,\n 'fetchData' | 'paginationMode' | 'queryName'\n> &\n AmbassadorCollectionConfigI<T>;\n\nexport interface AmbassadorCollectionConfigI<T> {\n /**\n * CRUD subpackage of a metro Ambassador package.\n */\n ambassador: Required<Pick<AutoCrudHttp<T>, 'queryEntities' | 'fqdn'>>;\n /**\n * A function to transform the cairo query to a PlatformizedQuery object (which will be used to fetch data from the server):\n * - `platformizedQuery`: PlatformizedQuery\n * - `wixPatternsQuery`: CursorQuery\n * The function should return a PlatformizedQuery instance or a promise of PlatformizedQuery\n */\n transformPlatformizedQuery?: TransformPlatformizedQuery;\n /**\n * The query name used for cache purposes. This should be a unique value per API endpoint.\n * @default ambassador.fqdn\n */\n queryName?: string;\n}\n\ntype PlatformizedFilter = {\n [filter: string]: any;\n};\n\ntype PlatformizedSorting = {\n fieldName: string;\n order: 'ASC' | 'DESC';\n};\n\ntype PlatformizedCursorPaging = {\n limit: number;\n cursor?: string | null;\n};\n\n// TODO: should be exposed by Ambassador\ntype PlatformizedQuery = {\n filter?: PlatformizedFilter;\n sort?: PlatformizedSorting[];\n cursorPaging?: PlatformizedCursorPaging;\n};\n\nexport type AmbassadorCollectionFactory = <\n T,\n F extends FiltersMap = OptionalFiltersMap,\n>(\n config: AmbassadorCollectionConfig<T, F>,\n) => CollectionState<T, F>;\n\nasync function fetchData<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n wixPatternsQuery: CursorQuery<Partial<F>> | OffsetQuery<Partial<F>>,\n httpClient: WixPatternsContainerParams['httpClient'],\n) {\n const { ambassador } = config;\n const transformPlatformizedQuery =\n config.transformPlatformizedQuery || identity;\n const platformizedQuery = defaultPlatformizedQuery(wixPatternsQuery);\n const query = await transformPlatformizedQuery(\n platformizedQuery,\n wixPatternsQuery,\n );\n return httpClient.request(ambassador.queryEntities({ query }));\n}\n\nfunction getOffsetConfig<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n httpClient: WixPatternsContainerParams['httpClient'],\n): CollectionConfigWithConditionals<T, F> {\n return {\n queryName: config.ambassador.fqdn,\n ...config,\n paginationMode: 'offset',\n fetchData: async (query: OffsetQuery<Partial<F>>) => {\n const { data } = await fetchData(config, query, httpClient);\n return {\n items: data.entities,\n total: data.metadata.total,\n };\n },\n };\n}\n\nfunction getCursorConfig<T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n httpClient: WixPatternsContainerParams['httpClient'],\n): CollectionConfigWithConditionals<T, F> {\n const { ambassador } = config;\n\n return {\n queryName: ambassador.fqdn,\n ...config,\n paginationMode: 'cursor',\n fetchData: async (query: CursorQuery<Partial<F>>) => {\n const { data } = await fetchData(config, query, httpClient);\n return {\n items: data.entities,\n cursor: data.metadata.cursors.next,\n total: data.metadata.total,\n };\n },\n };\n}\n\nexport function useCreateAmbassadorCollection(): AmbassadorCollectionFactory {\n const createCollection = useCreateCollection();\n const { httpClient } = useWixPatternsContainer();\n\n return <T, F extends FiltersMap = OptionalFiltersMap>(\n config: AmbassadorCollectionConfig<T, F>,\n ) => {\n const collectionConfig: CollectionConfigWithConditionals<T, F> =\n config.ambassador.queryEntities.paginationMode === 'offset'\n ? getOffsetConfig(config, httpClient)\n : getCursorConfig(config, httpClient);\n\n return createCollection(collectionConfig);\n };\n}\n\nexport function useAmbassadorCollection<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n>(config: AmbassadorCollectionConfig<T, F>): CollectionState<T, F> {\n const createAmbassadorCollection = useCreateAmbassadorCollection();\n\n const [collection] = useState(() => createAmbassadorCollection<T, F>(config));\n\n return collection;\n}\n\nfunction defaultPlatformizedQuery(\n wixPatternsQuery: CursorQuery,\n): PlatformizedQuery {\n return {\n filter: {},\n sort: wixPatternsQuery.sort?.map((sort) => ({\n fieldName: sort.fieldName,\n order: sort.order.toUpperCase() as 'ASC' | 'DESC',\n })),\n cursorPaging: {\n cursor: wixPatternsQuery.cursor,\n limit: wixPatternsQuery.limit,\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/cairoEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type GetContentContainerY = (params: {\n maybeContainer?: HTMLElement | null | undefined;\n errorMonitor: Essentials['errorMonitor'];\n}) => number;\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): {\n report(reportProps: ReportProps): Promise<any>;\n };\n}\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\n/**\n * @deprecated\n * use `WixPatternsEssentials`\n */\nexport interface CairoEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: (params: {\n pageId: string;\n appState?: string;\n referrer?: string;\n }) => void;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n getContentContainerY?: GetContentContainerY;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** @deprecated use `environment.artifactId` instead */\n uiNamespace?: string;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentials extends CairoEssentials {}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/model/cairoEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type GetContentContainerY = (params: {\n maybeContainer?: HTMLElement | null | undefined;\n errorMonitor: Essentials['errorMonitor'];\n}) => number;\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): {\n report(reportProps: ReportProps): Promise<any>;\n };\n}\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\nexport interface WixPatternsEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: (params: {\n pageId: string;\n appState?: string;\n referrer?: string;\n }) => void;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n getContentContainerY?: GetContentContainerY;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** @deprecated use `environment.artifactId` instead */\n uiNamespace?: string;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/commonTypes.ts"],"sourcesContent":["export type SortDirection = 'asc' | 'desc';\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/model/commonTypes.ts"],"sourcesContent":["export type SortOrder = 'asc' | 'desc';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/model/computedQuery/computedQuery.ts"],"sourcesContent":["import { SortDirection } from '../commonTypes';\nimport { Filter, FiltersMap, OptionalFiltersMap } from '../filter';\n\nexport type ExtractFilterValue<T> = T extends Filter<infer U> ? U : undefined;\n\nexport type RawFilters<F extends FiltersMap> = Partial<{\n [P in keyof F]: ExtractFilterValue<F[P]>;\n}>;\n\nexport type FiltersKey<F extends FiltersMap> = Partial<{\n [P in keyof F]: string[] | undefined | null;\n}>;\n\nexport type AllFilters<F extends FiltersMap> = F & { search: Filter<string> };\n\nexport type FiltersValues<F extends FiltersMap> = {\n [P in keyof F]: {\n value?: ExtractFilterValue<F[P]>;\n };\n};\n\nexport interface Sort {\n field: string;\n direction: SortDirection;\n}\n\nexport interface ComputedQuery<F extends FiltersMap = OptionalFiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset: number;\n page: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * Current search term (defaults to `''` for empty search)\n */\n rawSearch: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](/pages/cairo/?path=/story/common-hooks--usecollection).\n */\n filters: RawFilters<F>;\n /**\n * Same as `filters` but defaults to `undefined` for empty filter values\n */\n rawFilters: RawFilters<F>;\n /**\n * Whether at least one filter is not empty\n */\n hasActiveFilters: boolean;\n /**\n * Whether at least one filter is not empty, not including tabs\n */\n hasNonPersistentActiveFilters: boolean;\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * @deprecated Use `fields` instead\n */\n columns?: string[];\n /**\n * Array of projected fields. A list of specific field names to fetch. Use this to optimize your server query to load only needed columns. Note that a mapping between client-side columns to server-fields is usually required.\n * Use `refreshOnColumnsChange` of [useCollection](/pages/cairo/?path=/story/common-hooks--usecollection) to control whether the collection should be refreshed when this value changes.\n */\n fields?: string[];\n}\n\nexport interface ComputedQueryFull<F extends FiltersMap = OptionalFiltersMap>\n extends ComputedQuery<F> {\n filtersKey: FiltersKey<F>;\n nonPersistentFiltersKey: FiltersKey<F>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../../src/model/computedQuery/computedQuery.ts"],"sourcesContent":["import { SortOrder } from '../commonTypes';\nimport { Filter, FiltersMap, OptionalFiltersMap } from '../filter';\n\nexport type ExtractFilterValue<T> = T extends Filter<infer U> ? U : undefined;\n\nexport type RawFilters<F extends FiltersMap> = Partial<{\n [P in keyof F]: ExtractFilterValue<F[P]>;\n}>;\n\nexport type FiltersKey<F extends FiltersMap> = Partial<{\n [P in keyof F]: string[] | undefined | null;\n}>;\n\nexport type AllFilters<F extends FiltersMap> = F & { search: Filter<string> };\n\nexport type FiltersValues<F extends FiltersMap> = {\n [P in keyof F]: {\n value?: ExtractFilterValue<F[P]>;\n };\n};\n\nexport interface Sort {\n field: string;\n direction: SortOrder;\n}\n\nexport interface ComputedQuery<F extends FiltersMap = OptionalFiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset: number;\n page: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * Current search term (defaults to `''` for empty search)\n */\n rawSearch: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](./?path=/story/common-hooks--usecollection).\n */\n filters: RawFilters<F>;\n /**\n * Same as `filters` but defaults to `undefined` for empty filter values\n */\n rawFilters: RawFilters<F>;\n /**\n * Whether at least one filter is not empty\n */\n hasActiveFilters: boolean;\n /**\n * Whether at least one filter is not empty, not including tabs\n */\n hasNonPersistentActiveFilters: boolean;\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * @deprecated Use `fields` instead\n */\n columns?: string[];\n /**\n * Array of projected fields. A list of specific field names to fetch. Use this to optimize your server query to load only needed columns. Note that a mapping between client-side columns to server-fields is usually required.\n * Use `refreshOnColumnsChange` of [useCollection](./?path=/story/common-hooks--usecollection) to control whether the collection should be refreshed when this value changes.\n */\n fields?: string[];\n}\n\nexport interface ComputedQueryFull<F extends FiltersMap = OptionalFiltersMap>\n extends ComputedQuery<F> {\n filtersKey: FiltersKey<F>;\n nonPersistentFiltersKey: FiltersKey<F>;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/filter.ts"],"sourcesContent":["import { TypedEmitter } from '../util';\n\n/*\nchange - whenever we want to notify that the value was changed, for additional side effects, i.e BI events. For example, when initializing the value, we don't want to emit this event.\nrefresh - the collection should be refreshed as a result of this change\nscheduleRefresh - the collection should schedule a refresh as a result of this change\n */\ntype FilterEvent = 'change' | 'refresh' | 'scheduleRefresh' | 'beforeRefresh';\n\nexport interface ChangeValueOptions {\n emitEvents?: FilterEvent[];\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\nexport type FilterItem<T> = T extends (infer V)[] ? V : T;\n\nexport interface FilterEventOptions {\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\ninterface FilterEventsSchema {\n refresh: (opt: FilterEventOptions | undefined) => unknown;\n beforeRefresh: (opt: FilterEventOptions | undefined) => unknown;\n change: (opt?: FilterEventOptions) => unknown;\n scheduleRefresh: (opt?: FilterEventOptions) => unknown;\n}\n\nexport type FilterEvents = TypedEmitter<FilterEventsSchema>;\n\nexport interface Filter<T> {\n events: TypedEmitter<FilterEventsSchema>;\n name: string;\n persistent?: boolean;\n readonly value: T;\n readonly toArray: FilterItem<T>[];\n readonly isEmpty: boolean;\n readonly toQueryString: string;\n readonly decode: (value: unknown) => T;\n readonly encode: (value: T) => unknown;\n readonly size: number;\n readonly itemKey: (item: FilterItem<T>) => string;\n readonly itemName: (item: FilterItem<T>) => string;\n readonly matches: (item: FilterItem<T>, value: T) => boolean;\n readonly entityName: (pluralization: number) => string;\n readonly equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n\n applyFromQueryString(str: string): void;\n setValue(value: T, options?: ChangeValueOptions): void;\n changeValue(value: T, options?: ChangeValueOptions): void;\n refresh(value: T, options?: ChangeValueOptions): void;\n scheduleRefresh(value: T): void;\n reset(options?: ChangeValueOptions): void;\n remove(items: FilterItem<T>[], options?: ChangeValueOptions): void;\n clone(...args: any[]): Filter<T>;\n hasDiff(items: T): boolean;\n}\n\nexport interface FilterStateBaseParams<T> {\n name?: string;\n /**\n * Marks the filter as a \"context\" or \"scope\" filter. This makes the filter not be visible in the sub-toolbar tag list, not saved in views, not counted as \"X filters applied\".\n * @external\n */\n persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n initialValue?: T;\n\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n * @external\n */\n itemKey: (item: FilterItem<T>) => string;\n /**\n * A callback function that accepts an item and returns the item name which is used in many messages through cairo\n * @external\n */\n itemName: (item: FilterItem<T>) => string;\n /**\n * @deprecated No longer required. To customize filters panel accordion item label pass [accordionItemProps.label](/pages/cairo/?path=/story/components-filters--filterprops) prop to the filter component\n */\n entityName?: (pluralization: number) => string;\n\n /**\n * A function which accepts 2 items and returns true if they are equal\n * @external\n */\n equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n}\n\nexport type FiltersMap = { [key: string]: Filter<any> | undefined };\nexport type OptionalFiltersMap = { [key: string]: undefined };\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/model/filter.ts"],"sourcesContent":["import { TypedEmitter } from '../util';\n\n/*\nchange - whenever we want to notify that the value was changed, for additional side effects, i.e BI events. For example, when initializing the value, we don't want to emit this event.\nrefresh - the collection should be refreshed as a result of this change\nscheduleRefresh - the collection should schedule a refresh as a result of this change\n */\ntype FilterEvent = 'change' | 'refresh' | 'scheduleRefresh' | 'beforeRefresh';\n\nexport interface ChangeValueOptions {\n emitEvents?: FilterEvent[];\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\nexport type FilterItem<T> = T extends (infer V)[] ? V : T;\n\nexport interface FilterEventOptions {\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\ninterface FilterEventsSchema {\n refresh: (opt: FilterEventOptions | undefined) => unknown;\n beforeRefresh: (opt: FilterEventOptions | undefined) => unknown;\n change: (opt?: FilterEventOptions) => unknown;\n scheduleRefresh: (opt?: FilterEventOptions) => unknown;\n}\n\nexport type FilterEvents = TypedEmitter<FilterEventsSchema>;\n\nexport interface Filter<T> {\n events: TypedEmitter<FilterEventsSchema>;\n name: string;\n persistent?: boolean;\n readonly value: T;\n readonly toArray: FilterItem<T>[];\n readonly isEmpty: boolean;\n readonly toQueryString: string;\n readonly decode: (value: unknown) => T;\n readonly encode: (value: T) => unknown;\n readonly size: number;\n readonly itemKey: (item: FilterItem<T>) => string;\n readonly itemName: (item: FilterItem<T>) => string;\n readonly matches: (item: FilterItem<T>, value: T) => boolean;\n readonly entityName: (pluralization: number) => string;\n readonly equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n\n applyFromQueryString(str: string): void;\n setValue(value: T, options?: ChangeValueOptions): void;\n changeValue(value: T, options?: ChangeValueOptions): void;\n refresh(value: T, options?: ChangeValueOptions): void;\n scheduleRefresh(value: T): void;\n reset(options?: ChangeValueOptions): void;\n remove(items: FilterItem<T>[], options?: ChangeValueOptions): void;\n clone(...args: any[]): Filter<T>;\n hasDiff(items: T): boolean;\n}\n\nexport interface FilterStateBaseParams<T> {\n name?: string;\n /**\n * Marks the filter as a \"context\" or \"scope\" filter. This makes the filter not be visible in the sub-toolbar tag list, not saved in views, not counted as \"X filters applied\".\n * @external\n */\n persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n initialValue?: T;\n\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n * @external\n */\n itemKey: (item: FilterItem<T>) => string;\n /**\n * A callback function that accepts an item and returns the item name which is used in many messages through cairo\n * @external\n */\n itemName: (item: FilterItem<T>) => string;\n /**\n * @deprecated No longer required. To customize filters panel accordion item label pass [accordionItemProps.label](./?path=/story/components-filters--filterprops) prop to the filter component\n */\n entityName?: (pluralization: number) => string;\n\n /**\n * A function which accepts 2 items and returns true if they are equal\n * @external\n */\n equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n}\n\nexport type FiltersMap = { [key: string]: Filter<any> | undefined };\nexport type OptionalFiltersMap = { [key: string]: undefined };\n"],"mappings":""}
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useWixPatternsContainerOverrides = exports.WixPatternsContainerOverridesProvider = exports.WixPatternsContainerOverridesContext = exports.WixPatternsContainerOverridesConsumer = exports.CairoContainerOverridesProvider = void 0;
4
+ exports.useWixPatternsContainerOverrides = exports.WixPatternsContainerOverridesProvider = exports.WixPatternsContainerOverridesContext = exports.WixPatternsContainerOverridesConsumer = void 0;
5
5
  var _react = require("react");
6
6
  const Context = /*#__PURE__*/(0, _react.createContext)({});
7
7
  const WixPatternsContainerOverridesContext = exports.WixPatternsContainerOverridesContext = Context;
8
- /**
9
- * @deprecated
10
- * use `WixPatternsContainerOverridesProvider`
11
- */
12
- const CairoContainerOverridesProvider = exports.CairoContainerOverridesProvider = Context.Provider;
13
8
  const WixPatternsContainerOverridesProvider = exports.WixPatternsContainerOverridesProvider = Context.Provider;
14
9
  const WixPatternsContainerOverridesConsumer = exports.WixPatternsContainerOverridesConsumer = Context.Consumer;
15
10
  const useWixPatternsContainerOverrides = () => (0, _react.useContext)(Context);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","Context","createContext","WixPatternsContainerOverridesContext","exports","CairoContainerOverridesProvider","Provider","WixPatternsContainerOverridesProvider","WixPatternsContainerOverridesConsumer","Consumer","useWixPatternsContainerOverrides","useContext"],"sources":["../../../src/providers/CairoContainerOverridesContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { WixPatternsContainerParams } from '../state';\n\nconst Context = createContext<Partial<WixPatternsContainerParams>>({});\n\nexport const WixPatternsContainerOverridesContext = Context;\n/**\n * @deprecated\n * use `WixPatternsContainerOverridesProvider`\n */\nexport const CairoContainerOverridesProvider = Context.Provider;\nexport const WixPatternsContainerOverridesProvider = Context.Provider;\nexport const WixPatternsContainerOverridesConsumer = Context.Consumer;\nexport const useWixPatternsContainerOverrides = () => useContext(Context);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,gBAAG,IAAAC,oBAAa,EAAsC,CAAC,CAAC,CAAC;AAE/D,MAAMC,oCAAoC,GAAAC,OAAA,CAAAD,oCAAA,GAAGF,OAAO;AAC3D;AACA;AACA;AACA;AACO,MAAMI,+BAA+B,GAAAD,OAAA,CAAAC,+BAAA,GAAGJ,OAAO,CAACK,QAAQ;AACxD,MAAMC,qCAAqC,GAAAH,OAAA,CAAAG,qCAAA,GAAGN,OAAO,CAACK,QAAQ;AAC9D,MAAME,qCAAqC,GAAAJ,OAAA,CAAAI,qCAAA,GAAGP,OAAO,CAACQ,QAAQ;AAC9D,MAAMC,gCAAgC,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACV,OAAO,CAAC;AAACG,OAAA,CAAAM,gCAAA,GAAAA,gCAAA"}
1
+ {"version":3,"names":["_react","require","Context","createContext","WixPatternsContainerOverridesContext","exports","WixPatternsContainerOverridesProvider","Provider","WixPatternsContainerOverridesConsumer","Consumer","useWixPatternsContainerOverrides","useContext"],"sources":["../../../src/providers/CairoContainerOverridesContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { WixPatternsContainerParams } from '../state';\n\nconst Context = createContext<Partial<WixPatternsContainerParams>>({});\n\nexport const WixPatternsContainerOverridesContext = Context;\nexport const WixPatternsContainerOverridesProvider = Context.Provider;\nexport const WixPatternsContainerOverridesConsumer = Context.Consumer;\nexport const useWixPatternsContainerOverrides = () => useContext(Context);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,gBAAG,IAAAC,oBAAa,EAAsC,CAAC,CAAC,CAAC;AAE/D,MAAMC,oCAAoC,GAAAC,OAAA,CAAAD,oCAAA,GAAGF,OAAO;AACpD,MAAMI,qCAAqC,GAAAD,OAAA,CAAAC,qCAAA,GAAGJ,OAAO,CAACK,QAAQ;AAC9D,MAAMC,qCAAqC,GAAAH,OAAA,CAAAG,qCAAA,GAAGN,OAAO,CAACO,QAAQ;AAC9D,MAAMC,gCAAgC,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACT,OAAO,CAAC;AAACG,OAAA,CAAAK,gCAAA,GAAAA,gCAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useWixPatternsContainer = exports.useCairoContainer = exports.WixPatternsContainerProvider = exports.WixPatternsContainerContext = exports.WixPatternsContainerConsumer = void 0;
4
+ exports.useWixPatternsContainer = exports.WixPatternsContainerProvider = exports.WixPatternsContainerContext = exports.WixPatternsContainerConsumer = void 0;
5
5
  var _createContext = require("../createContext");
6
6
  const {
7
7
  useContext,
@@ -12,10 +12,5 @@ const {
12
12
  const WixPatternsContainerProvider = exports.WixPatternsContainerProvider = Provider;
13
13
  const WixPatternsContainerConsumer = exports.WixPatternsContainerConsumer = Consumer;
14
14
  const WixPatternsContainerContext = exports.WixPatternsContainerContext = Context;
15
- /**
16
- * @deprecated
17
- * use `useWixPatternsContainer`
18
- */
19
- const useCairoContainer = exports.useCairoContainer = useContext;
20
15
  const useWixPatternsContainer = exports.useWixPatternsContainer = useContext;
21
16
  //# sourceMappingURL=CairoContainerProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_createContext","require","useContext","Provider","Context","Consumer","createContext","WixPatternsContainerProvider","exports","WixPatternsContainerConsumer","WixPatternsContainerContext","useCairoContainer","useWixPatternsContainer"],"sources":["../../../../src/providers/CairoContainerProvider/CairoContainerProvider.ts"],"sourcesContent":["import { WixPatternsContainer } from '../../state';\nimport { createContext } from '../createContext';\n\nconst { useContext, Provider, Context, Consumer } =\n createContext<WixPatternsContainer>('WixPatternsContainerProvider');\n\nexport const WixPatternsContainerProvider = Provider;\nexport const WixPatternsContainerConsumer = Consumer;\nexport const WixPatternsContainerContext = Context;\n/**\n * @deprecated\n * use `useWixPatternsContainer`\n */\nexport const useCairoContainer = useContext;\nexport const useWixPatternsContainer = useContext;\n"],"mappings":";;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,OAAO;EAAEC;AAAS,CAAC,GAC/C,IAAAC,4BAAa,EAAuB,8BAA8B,CAAC;AAE9D,MAAMC,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAGJ,QAAQ;AAC7C,MAAMM,4BAA4B,GAAAD,OAAA,CAAAC,4BAAA,GAAGJ,QAAQ;AAC7C,MAAMK,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAGN,OAAO;AAClD;AACA;AACA;AACA;AACO,MAAMO,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAAGT,UAAU;AACpC,MAAMU,uBAAuB,GAAAJ,OAAA,CAAAI,uBAAA,GAAGV,UAAU"}
1
+ {"version":3,"names":["_createContext","require","useContext","Provider","Context","Consumer","createContext","WixPatternsContainerProvider","exports","WixPatternsContainerConsumer","WixPatternsContainerContext","useWixPatternsContainer"],"sources":["../../../../src/providers/CairoContainerProvider/CairoContainerProvider.ts"],"sourcesContent":["import { WixPatternsContainer } from '../../state';\nimport { createContext } from '../createContext';\n\nconst { useContext, Provider, Context, Consumer } =\n createContext<WixPatternsContainer>('WixPatternsContainerProvider');\n\nexport const WixPatternsContainerProvider = Provider;\nexport const WixPatternsContainerConsumer = Consumer;\nexport const WixPatternsContainerContext = Context;\nexport const useWixPatternsContainer = useContext;\n"],"mappings":";;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,OAAO;EAAEC;AAAS,CAAC,GAC/C,IAAAC,4BAAa,EAAuB,8BAA8B,CAAC;AAE9D,MAAMC,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAGJ,QAAQ;AAC7C,MAAMM,4BAA4B,GAAAD,OAAA,CAAAC,4BAAA,GAAGJ,QAAQ;AAC7C,MAAMK,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAGN,OAAO;AAC3C,MAAMO,uBAAuB,GAAAH,OAAA,CAAAG,uBAAA,GAAGT,UAAU"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useCairoInitialProps = exports.WixPatternsInitialPropsProvider = void 0;
4
+ exports.useWixPatternsInitialProps = exports.WixPatternsInitialPropsProvider = void 0;
5
5
  var _react = require("react");
6
6
  const Context = /*#__PURE__*/(0, _react.createContext)({});
7
7
  const WixPatternsInitialPropsProvider = exports.WixPatternsInitialPropsProvider = Context.Provider;
8
- const useCairoInitialProps = () => (0, _react.useContext)(Context);
9
- exports.useCairoInitialProps = useCairoInitialProps;
8
+ const useWixPatternsInitialProps = () => (0, _react.useContext)(Context);
9
+ exports.useWixPatternsInitialProps = useWixPatternsInitialProps;
10
10
  //# sourceMappingURL=CairoInitialPropsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","Context","createContext","WixPatternsInitialPropsProvider","exports","Provider","useCairoInitialProps","useContext"],"sources":["../../../src/providers/CairoInitialPropsProvider.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { WixPatternsInitialProps } from '../model';\n\nconst Context = createContext<WixPatternsInitialProps>({});\nexport const WixPatternsInitialPropsProvider = Context.Provider;\nexport const useCairoInitialProps = () => useContext(Context);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,gBAAG,IAAAC,oBAAa,EAA0B,CAAC,CAAC,CAAC;AACnD,MAAMC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAGF,OAAO,CAACI,QAAQ;AACxD,MAAMC,oBAAoB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACN,OAAO,CAAC;AAACG,OAAA,CAAAE,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["_react","require","Context","createContext","WixPatternsInitialPropsProvider","exports","Provider","useWixPatternsInitialProps","useContext"],"sources":["../../../src/providers/CairoInitialPropsProvider.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { WixPatternsInitialProps } from '../model';\n\nconst Context = createContext<WixPatternsInitialProps>({});\nexport const WixPatternsInitialPropsProvider = Context.Provider;\nexport const useWixPatternsInitialProps = () => useContext(Context);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,gBAAG,IAAAC,oBAAa,EAA0B,CAAC,CAAC,CAAC;AACnD,MAAMC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA,GAAGF,OAAO,CAACI,QAAQ;AACxD,MAAMC,0BAA0B,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACN,OAAO,CAAC;AAACG,OAAA,CAAAE,0BAAA,GAAAA,0BAAA"}
@@ -16,8 +16,8 @@ function CairoProvider({
16
16
  localCache = true
17
17
  }) {
18
18
  const containerOverrides = (0, _CairoContainerOverridesContext.useWixPatternsContainerOverrides)();
19
- const initialProps = (0, _CairoInitialPropsProvider.useCairoInitialProps)();
20
- const [container] = (0, _react.useState)(() => (0, _state.buildCairoContainer)(value, {
19
+ const initialProps = (0, _CairoInitialPropsProvider.useWixPatternsInitialProps)();
20
+ const [container] = (0, _react.useState)(() => (0, _state.buildWixPatternsContainer)(value, {
21
21
  containerOverrides,
22
22
  initialProps,
23
23
  localCache
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_CairoInitialPropsProvider","_CairoContainerProvider","_CairoContainerOverridesContext","_state","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CairoProvider","value","children","localCache","containerOverrides","useWixPatternsContainerOverrides","initialProps","useCairoInitialProps","container","useState","buildCairoContainer","initialFetch","useEffect","init","createElement","WixPatternsContainerProvider","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../../src/providers/CairoProvider/CairoProvider.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useState } from 'react';\nimport { useCairoInitialProps } from '../CairoInitialPropsProvider';\nimport { WixPatternsContainerProvider } from '../CairoContainerProvider';\nimport { WixPatternsEssentials } from '../../model';\nimport { useWixPatternsContainerOverrides } from '../CairoContainerOverridesContext';\nimport { buildCairoContainer } from '../../state';\n\nexport interface CairoProviderProps {\n value: WixPatternsEssentials;\n children?: ReactNode;\n localCache?: boolean;\n}\n\nexport function CairoProvider({\n value,\n children,\n localCache = true,\n}: CairoProviderProps) {\n const containerOverrides = useWixPatternsContainerOverrides();\n const initialProps = useCairoInitialProps();\n\n const [container] = useState(() =>\n buildCairoContainer(value, {\n containerOverrides,\n initialProps,\n localCache,\n }),\n );\n\n useState(() => {\n container.initialFetch();\n });\n\n useEffect(() => {\n return container.init();\n }, []);\n\n return (\n <WixPatternsContainerProvider value={container}>\n {children}\n </WixPatternsContainerProvider>\n );\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAEA,IAAAG,+BAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAkD,IAAAK,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQ3C,SAASY,aAAaA,CAAC;EAC5BC,KAAK;EACLC,QAAQ;EACRC,UAAU,GAAG;AACK,CAAC,EAAE;EACrB,MAAMC,kBAAkB,GAAG,IAAAC,gEAAgC,EAAC,CAAC;EAC7D,MAAMC,YAAY,GAAG,IAAAC,+CAAoB,EAAC,CAAC;EAE3C,MAAM,CAACC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAC3B,IAAAC,0BAAmB,EAACT,KAAK,EAAE;IACzBG,kBAAkB;IAClBE,YAAY;IACZH;EACF,CAAC,CACH,CAAC;EAED,IAAAM,eAAQ,EAAC,MAAM;IACbD,SAAS,CAACG,YAAY,CAAC,CAAC;EAC1B,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOJ,SAAS,CAACK,IAAI,CAAC,CAAC;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE1C,MAAA,CAAAc,OAAA,CAAA6B,aAAA,CAACvC,uBAAA,CAAAwC,4BAA4B;IAACd,KAAK,EAAEO,SAAU;IAAAQ,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxC,YAAA;MAAAyC,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC5ClB,QAC2B,CAAC;AAEnC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_CairoInitialPropsProvider","_CairoContainerProvider","_CairoContainerOverridesContext","_state","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CairoProvider","value","children","localCache","containerOverrides","useWixPatternsContainerOverrides","initialProps","useWixPatternsInitialProps","container","useState","buildWixPatternsContainer","initialFetch","useEffect","init","createElement","WixPatternsContainerProvider","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../../src/providers/CairoProvider/CairoProvider.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useState } from 'react';\nimport { useWixPatternsInitialProps } from '../CairoInitialPropsProvider';\nimport { WixPatternsContainerProvider } from '../CairoContainerProvider';\nimport { WixPatternsEssentials } from '../../model';\nimport { useWixPatternsContainerOverrides } from '../CairoContainerOverridesContext';\nimport { buildWixPatternsContainer } from '../../state';\n\nexport interface CairoProviderProps {\n value: WixPatternsEssentials;\n children?: ReactNode;\n localCache?: boolean;\n}\n\nexport function CairoProvider({\n value,\n children,\n localCache = true,\n}: CairoProviderProps) {\n const containerOverrides = useWixPatternsContainerOverrides();\n const initialProps = useWixPatternsInitialProps();\n\n const [container] = useState(() =>\n buildWixPatternsContainer(value, {\n containerOverrides,\n initialProps,\n localCache,\n }),\n );\n\n useState(() => {\n container.initialFetch();\n });\n\n useEffect(() => {\n return container.init();\n }, []);\n\n return (\n <WixPatternsContainerProvider value={container}>\n {children}\n </WixPatternsContainerProvider>\n );\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAEA,IAAAG,+BAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAwD,IAAAK,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQjD,SAASY,aAAaA,CAAC;EAC5BC,KAAK;EACLC,QAAQ;EACRC,UAAU,GAAG;AACK,CAAC,EAAE;EACrB,MAAMC,kBAAkB,GAAG,IAAAC,gEAAgC,EAAC,CAAC;EAC7D,MAAMC,YAAY,GAAG,IAAAC,qDAA0B,EAAC,CAAC;EAEjD,MAAM,CAACC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAC3B,IAAAC,gCAAyB,EAACT,KAAK,EAAE;IAC/BG,kBAAkB;IAClBE,YAAY;IACZH;EACF,CAAC,CACH,CAAC;EAED,IAAAM,eAAQ,EAAC,MAAM;IACbD,SAAS,CAACG,YAAY,CAAC,CAAC;EAC1B,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOJ,SAAS,CAACK,IAAI,CAAC,CAAC;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE1C,MAAA,CAAAc,OAAA,CAAA6B,aAAA,CAACvC,uBAAA,CAAAwC,4BAA4B;IAACd,KAAK,EAAEO,SAAU;IAAAQ,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxC,YAAA;MAAAyC,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC5ClB,QAC2B,CAAC;AAEnC"}
@@ -10,7 +10,7 @@ var _snapshot = require("./snapshot");
10
10
  var _util = require("../util");
11
11
  var _events = require("events");
12
12
  class BulkSelectState {
13
- get isSelectAll() {
13
+ get allSelected() {
14
14
  return this.select.defaultStatus.isChecked;
15
15
  }
16
16
  get hasUnchecked() {
@@ -32,12 +32,12 @@ class BulkSelectState {
32
32
  });
33
33
  (0, _defineProperty2.default)(this, "toggleIsSelectAll", (0, _mobx.action)(() => {
34
34
  const {
35
- isSelectAll,
35
+ allSelected,
36
36
  select: {
37
37
  isEmptyEnabledItems
38
38
  }
39
39
  } = this;
40
- if (isSelectAll || !isEmptyEnabledItems) {
40
+ if (allSelected || !isEmptyEnabledItems) {
41
41
  this.deselectAll();
42
42
  } else {
43
43
  this.selectAll();
@@ -51,11 +51,11 @@ class BulkSelectState {
51
51
  keyGetter: item => item.key
52
52
  });
53
53
  this.totalSnapshot = new _snapshot.Snapshot({
54
- expression: () => this.isSelectAll,
54
+ expression: () => this.allSelected,
55
55
  effect: () => this.collection.result.total
56
56
  });
57
57
  (0, _mobx.makeObservable)(this, {
58
- isSelectAll: _mobx.computed,
58
+ allSelected: _mobx.computed,
59
59
  disableAutoSelectAllCount: _mobx.observable.ref,
60
60
  selectAll: _mobx.action,
61
61
  selectOne: _mobx.action,
@@ -201,7 +201,7 @@ class BulkSelectState {
201
201
  }), (0, _mobx.reaction)(() => this.collection.result.keyedItems, keyedItems => {
202
202
  const {
203
203
  select,
204
- isSelectAll,
204
+ allSelected,
205
205
  disableAutoSelectAllCount,
206
206
  collection: {
207
207
  result: {
@@ -209,7 +209,7 @@ class BulkSelectState {
209
209
  }
210
210
  }
211
211
  } = this;
212
- if (isSelectAll && !disableAutoSelectAllCount) {
212
+ if (allSelected && !disableAutoSelectAllCount) {
213
213
  select.syncValues(keyedItems);
214
214
  } else {
215
215
  select.syncValues(select.selectedKeys.map(key => _keyedItemsMap.get(key)).filter(e => e != null));
@@ -237,7 +237,7 @@ class BulkSelectState {
237
237
  }
238
238
  get selectedCountOrTotal() {
239
239
  const {
240
- isSelectAll,
240
+ allSelected,
241
241
  disableAutoSelectAllCount,
242
242
  selectedIds,
243
243
  useNewSelectAllLogic,
@@ -246,7 +246,7 @@ class BulkSelectState {
246
246
  value: total
247
247
  }
248
248
  } = this;
249
- if (!isSelectAll || disableAutoSelectAllCount) {
249
+ if (!allSelected || disableAutoSelectAllCount) {
250
250
  return selectedIds.length;
251
251
  }
252
252
  if (useNewSelectAllLogic) {