@leav/ui 1.8.0 → 1.9.0-0dfef3bb

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 (549) hide show
  1. package/dist/_gqlTypes/index.d.ts +452 -172
  2. package/dist/_gqlTypes/index.js +259 -87
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/attributes/attributeDetailsFragment.js +3 -0
  5. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  6. package/dist/_queries/records/createRecordMutation.js +2 -2
  7. package/dist/_queries/records/createRecordMutation.js.map +1 -1
  8. package/dist/_utils/getFiltersFromRequest.js +5 -6
  9. package/dist/_utils/getFiltersFromRequest.js.map +1 -1
  10. package/dist/_utils/index.js +3 -4
  11. package/dist/_utils/index.js.map +1 -1
  12. package/dist/_utils/typeguards.d.ts +5 -0
  13. package/dist/_utils/typeguards.js +6 -0
  14. package/dist/_utils/typeguards.js.map +1 -1
  15. package/dist/components/Explorer/Explorer.d.ts +2 -1
  16. package/dist/components/Explorer/Explorer.js +31 -13
  17. package/dist/components/Explorer/Explorer.js.map +1 -1
  18. package/dist/components/Explorer/ExplorerToolbar.js +2 -1
  19. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  20. package/dist/components/Explorer/_queries/useExplorerCountData.d.ts +16 -0
  21. package/dist/components/Explorer/_queries/useExplorerCountData.js +26 -0
  22. package/dist/components/Explorer/_queries/useExplorerCountData.js.map +1 -0
  23. package/dist/components/Explorer/_queries/useExplorerData.js +18 -20
  24. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  25. package/dist/components/Explorer/actions-mass/ResultsCount.d.ts +10 -0
  26. package/dist/components/Explorer/actions-mass/ResultsCount.js +8 -0
  27. package/dist/components/Explorer/actions-mass/ResultsCount.js.map +1 -0
  28. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +1 -1
  29. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -1
  30. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.d.ts +9 -2
  31. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js +18 -4
  32. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js.map +1 -1
  33. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.d.ts +10 -0
  34. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js +69 -0
  35. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js.map +1 -0
  36. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.d.ts +18 -0
  37. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js +57 -0
  38. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js.map +1 -0
  39. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.d.ts +19 -0
  40. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js +94 -0
  41. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js.map +1 -0
  42. package/dist/components/Explorer/actions-mass/useMassActions.d.ts +5 -3
  43. package/dist/components/Explorer/actions-mass/useMassActions.js +19 -13
  44. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  45. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
  46. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +5 -1
  47. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  48. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +1 -1
  49. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  50. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +5 -2
  51. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  52. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +17 -8
  53. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  54. package/dist/components/Filters/_queries/treeFiltersDataQuery.d.ts +6 -0
  55. package/dist/components/Filters/_queries/treeFiltersDataQuery.js +54 -0
  56. package/dist/components/Filters/_queries/treeFiltersDataQuery.js.map +1 -0
  57. package/dist/components/Filters/_types.d.ts +12 -1
  58. package/dist/components/Filters/_types.js +2 -1
  59. package/dist/components/Filters/_types.js.map +1 -1
  60. package/dist/components/Filters/context/filtersReducer.js +3 -2
  61. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  62. package/dist/components/Filters/context/useGetTreeFilters.js +24 -40
  63. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  64. package/dist/components/Filters/filter-items/CommonFilterItem.js +2 -2
  65. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  66. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +1 -1
  67. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  68. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +5 -1
  69. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  70. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +3 -3
  71. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  72. package/dist/components/Filters/filter-items/filter-type/_types.d.ts +6 -1
  73. package/dist/components/Filters/filter-items/filter-type/_types.js.map +1 -1
  74. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.d.ts +2 -0
  75. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js +106 -0
  76. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js.map +1 -0
  77. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.d.ts +25 -0
  78. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js +59 -0
  79. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js.map +1 -0
  80. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.d.ts +5 -0
  81. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js +25 -0
  82. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js.map +1 -0
  83. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +5 -4
  84. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
  85. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts +6 -0
  86. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js +54 -0
  87. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map +1 -0
  88. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +22 -41
  89. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
  90. package/dist/components/Filters/filter-items/{EmptyValueCheckbox.d.ts → shared/EmptyValueCheckbox.d.ts} +2 -1
  91. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js +20 -0
  92. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js.map +1 -0
  93. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.d.ts +5 -0
  94. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js +18 -0
  95. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js.map +1 -0
  96. package/dist/components/Filters/filter-items/{SelectAllCheckbox.js → shared/SelectAllCheckbox.js} +1 -1
  97. package/dist/components/Filters/filter-items/shared/SelectAllCheckbox.js.map +1 -0
  98. package/dist/components/Filters/prepareFiltersForRequest.js +10 -5
  99. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  100. package/dist/components/Filters/useFilters.d.ts +542 -0
  101. package/dist/components/Filters/useTransformFilters.js +3 -0
  102. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  103. package/dist/components/Notifications/hooks/useNotificationSubscription.d.ts +9 -3
  104. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  105. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  106. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  107. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +4 -0
  108. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  109. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +1 -3
  110. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  111. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +28 -17
  112. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  113. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  114. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +30 -18
  115. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  116. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.d.ts +2 -0
  117. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js +11 -0
  118. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js.map +1 -0
  119. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.d.ts +2 -0
  120. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js +35 -0
  121. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js.map +1 -0
  122. package/dist/components/RecordEdition/_types.d.ts +1 -1
  123. package/dist/components/RecordEdition/_types.js.map +1 -1
  124. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +7 -6
  125. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  126. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
  127. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +6 -2
  128. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  129. package/dist/components/SearchModal/SearchModal.js +28 -18
  130. package/dist/components/SearchModal/SearchModal.js.map +1 -1
  131. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +0 -2
  132. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
  133. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  134. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +0 -2
  135. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +60 -115
  136. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  137. package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +0 -1
  138. package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -7
  139. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  140. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.d.ts +6 -0
  141. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js +56 -0
  142. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js.map +1 -0
  143. package/dist/components/SelectTreeNode/_types.d.ts +0 -1
  144. package/dist/components/SelectTreeNode/_types.js.map +1 -1
  145. package/dist/components/index.d.ts +0 -3
  146. package/dist/components/index.js +0 -3
  147. package/dist/components/index.js.map +1 -1
  148. package/dist/hooks/useGetLibraryDetailExtendedQuery/useGetLibraryDetailExtendedQuery.d.ts +1 -1
  149. package/dist/hooks/useGetRecordUpdatesSubscription/useGetRecordUpdatesSubscription.d.ts +9 -3
  150. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  151. package/dist/hooks/useIFrameMessenger/schema.d.ts +2 -2
  152. package/dist/hooks/useIFrameMessenger/schema.js +1 -1
  153. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  154. package/dist/hooks/useIFrameMessenger/types.d.ts +5 -0
  155. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  156. package/dist/locales/en/shared.json +11 -4
  157. package/dist/locales/fr/shared.json +11 -4
  158. package/package.json +12 -21
  159. package/dist/__mocks__/common/mockSearchContextProvider.d.ts +0 -6
  160. package/dist/__mocks__/common/mockSearchContextProvider.js +0 -10
  161. package/dist/__mocks__/common/mockSearchContextProvider.js.map +0 -1
  162. package/dist/components/AttributesSelectionList/Attribute/Attribute.d.ts +0 -3
  163. package/dist/components/AttributesSelectionList/Attribute/Attribute.js +0 -50
  164. package/dist/components/AttributesSelectionList/Attribute/Attribute.js.map +0 -1
  165. package/dist/components/AttributesSelectionList/Attribute/index.d.ts +0 -2
  166. package/dist/components/AttributesSelectionList/Attribute/index.js +0 -6
  167. package/dist/components/AttributesSelectionList/Attribute/index.js.map +0 -1
  168. package/dist/components/AttributesSelectionList/AttributesSelectionList.d.ts +0 -10
  169. package/dist/components/AttributesSelectionList/AttributesSelectionList.js +0 -72
  170. package/dist/components/AttributesSelectionList/AttributesSelectionList.js.map +0 -1
  171. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.d.ts +0 -7
  172. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js +0 -39
  173. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js.map +0 -1
  174. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.d.ts +0 -2
  175. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js +0 -6
  176. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js.map +0 -1
  177. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.d.ts +0 -2
  178. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +0 -63
  179. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +0 -1
  180. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.d.ts +0 -2
  181. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js +0 -6
  182. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js.map +0 -1
  183. package/dist/components/AttributesSelectionList/_types.d.ts +0 -8
  184. package/dist/components/AttributesSelectionList/_types.js +0 -2
  185. package/dist/components/AttributesSelectionList/_types.js.map +0 -1
  186. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.d.ts +0 -3
  187. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js +0 -9
  188. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js.map +0 -1
  189. package/dist/components/AttributesSelectionList/index.d.ts +0 -2
  190. package/dist/components/AttributesSelectionList/index.js +0 -6
  191. package/dist/components/AttributesSelectionList/index.js.map +0 -1
  192. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +0 -11
  193. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js +0 -10
  194. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js.map +0 -1
  195. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.d.ts +0 -33
  196. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js +0 -77
  197. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js.map +0 -1
  198. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.d.ts +0 -10
  199. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js +0 -8
  200. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js.map +0 -1
  201. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +0 -809
  202. package/dist/components/AttributesSelectionList/sharedComponents.js +0 -16
  203. package/dist/components/AttributesSelectionList/sharedComponents.js.map +0 -1
  204. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.d.ts +0 -10
  205. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js +0 -39
  206. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js.map +0 -1
  207. package/dist/components/DeactivateRecordsModal/index.d.ts +0 -1
  208. package/dist/components/DeactivateRecordsModal/index.js +0 -5
  209. package/dist/components/DeactivateRecordsModal/index.js.map +0 -1
  210. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +0 -16
  211. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +0 -1
  212. package/dist/components/Filters/filter-items/SelectAllCheckbox.js.map +0 -1
  213. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.d.ts +0 -13
  214. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +0 -50
  215. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +0 -1
  216. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.d.ts +0 -2
  217. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js +0 -6
  218. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js.map +0 -1
  219. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.d.ts +0 -2
  220. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js +0 -80
  221. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +0 -1
  222. package/dist/components/LibraryItemsList/DisplayOptions/index.d.ts +0 -2
  223. package/dist/components/LibraryItemsList/DisplayOptions/index.js +0 -6
  224. package/dist/components/LibraryItemsList/DisplayOptions/index.js.map +0 -1
  225. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.d.ts +0 -2
  226. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js +0 -22
  227. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js.map +0 -1
  228. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.d.ts +0 -2
  229. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js +0 -6
  230. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js.map +0 -1
  231. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.d.ts +0 -13
  232. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +0 -229
  233. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +0 -1
  234. package/dist/components/LibraryItemsList/FiltersDropdown/index.d.ts +0 -2
  235. package/dist/components/LibraryItemsList/FiltersDropdown/index.js +0 -6
  236. package/dist/components/LibraryItemsList/FiltersDropdown/index.js.map +0 -1
  237. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +0 -11
  238. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +0 -328
  239. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +0 -1
  240. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.d.ts +0 -7
  241. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js +0 -90
  242. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js.map +0 -1
  243. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.d.ts +0 -2
  244. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js +0 -6
  245. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js.map +0 -1
  246. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.d.ts +0 -3
  247. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js +0 -13
  248. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js.map +0 -1
  249. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.d.ts +0 -2
  250. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js +0 -6
  251. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js.map +0 -1
  252. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.d.ts +0 -3
  253. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js +0 -26
  254. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js.map +0 -1
  255. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.d.ts +0 -2
  256. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js +0 -6
  257. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js.map +0 -1
  258. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.d.ts +0 -3
  259. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js +0 -22
  260. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js.map +0 -1
  261. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.d.ts +0 -2
  262. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js +0 -6
  263. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js.map +0 -1
  264. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.d.ts +0 -3
  265. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js +0 -35
  266. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js.map +0 -1
  267. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.d.ts +0 -2
  268. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js +0 -6
  269. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js.map +0 -1
  270. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.d.ts +0 -3
  271. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js +0 -34
  272. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js.map +0 -1
  273. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.d.ts +0 -2
  274. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js +0 -6
  275. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js.map +0 -1
  276. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.d.ts +0 -2
  277. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js +0 -16
  278. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js.map +0 -1
  279. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.d.ts +0 -2
  280. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js +0 -6
  281. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js.map +0 -1
  282. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.d.ts +0 -8
  283. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js +0 -11
  284. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js.map +0 -1
  285. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.d.ts +0 -2
  286. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js +0 -6
  287. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js.map +0 -1
  288. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.d.ts +0 -6
  289. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js +0 -38
  290. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js.map +0 -1
  291. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.d.ts +0 -2
  292. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js +0 -6
  293. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js.map +0 -1
  294. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.d.ts +0 -14
  295. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +0 -147
  296. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +0 -1
  297. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.d.ts +0 -2
  298. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +0 -121
  299. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +0 -1
  300. package/dist/components/LibraryItemsList/FiltersPanel/index.d.ts +0 -2
  301. package/dist/components/LibraryItemsList/FiltersPanel/index.js +0 -6
  302. package/dist/components/LibraryItemsList/FiltersPanel/index.js.map +0 -1
  303. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.d.ts +0 -3
  304. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js +0 -17
  305. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js.map +0 -1
  306. package/dist/components/LibraryItemsList/IconViewType/IconViewType.d.ts +0 -8
  307. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js +0 -18
  308. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js.map +0 -1
  309. package/dist/components/LibraryItemsList/IconViewType/index.d.ts +0 -2
  310. package/dist/components/LibraryItemsList/IconViewType/index.js +0 -6
  311. package/dist/components/LibraryItemsList/IconViewType/index.js.map +0 -1
  312. package/dist/components/LibraryItemsList/LibraryItemsList.d.ts +0 -14
  313. package/dist/components/LibraryItemsList/LibraryItemsList.js +0 -18
  314. package/dist/components/LibraryItemsList/LibraryItemsList.js.map +0 -1
  315. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.d.ts +0 -16
  316. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +0 -202
  317. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js.map +0 -1
  318. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.d.ts +0 -2
  319. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js +0 -6
  320. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js.map +0 -1
  321. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.d.ts +0 -6
  322. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js +0 -32
  323. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js.map +0 -1
  324. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.d.ts +0 -2
  325. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js +0 -6
  326. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js.map +0 -1
  327. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.d.ts +0 -2
  328. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js +0 -21
  329. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js.map +0 -1
  330. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.d.ts +0 -2
  331. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js +0 -6
  332. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js.map +0 -1
  333. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.d.ts +0 -8
  334. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js +0 -56
  335. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js.map +0 -1
  336. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.d.ts +0 -2
  337. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js +0 -6
  338. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js.map +0 -1
  339. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.d.ts +0 -7
  340. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js +0 -54
  341. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js.map +0 -1
  342. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.d.ts +0 -2
  343. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js +0 -6
  344. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js.map +0 -1
  345. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.d.ts +0 -8
  346. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +0 -66
  347. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js.map +0 -1
  348. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.d.ts +0 -2
  349. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js +0 -6
  350. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js.map +0 -1
  351. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.d.ts +0 -8
  352. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +0 -59
  353. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js.map +0 -1
  354. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.d.ts +0 -9
  355. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js +0 -56
  356. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js.map +0 -1
  357. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.d.ts +0 -2
  358. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js +0 -6
  359. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js.map +0 -1
  360. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.d.ts +0 -5
  361. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js +0 -34
  362. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js.map +0 -1
  363. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.d.ts +0 -2
  364. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js +0 -6
  365. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js.map +0 -1
  366. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.d.ts +0 -5
  367. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js +0 -23
  368. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js.map +0 -1
  369. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.d.ts +0 -3
  370. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +0 -80
  371. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +0 -1
  372. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.d.ts +0 -2
  373. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js +0 -6
  374. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js.map +0 -1
  375. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.d.ts +0 -2
  376. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js +0 -6
  377. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js.map +0 -1
  378. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +0 -12
  379. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +0 -11
  380. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +0 -1
  381. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.d.ts +0 -12
  382. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js +0 -2
  383. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js.map +0 -1
  384. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.d.ts +0 -2
  385. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js +0 -40
  386. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js.map +0 -1
  387. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.d.ts +0 -6
  388. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -81
  389. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +0 -1
  390. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.d.ts +0 -2
  391. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js +0 -6
  392. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js.map +0 -1
  393. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.d.ts +0 -9
  394. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js +0 -142
  395. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js.map +0 -1
  396. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.d.ts +0 -2
  397. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js +0 -6
  398. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js.map +0 -1
  399. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.d.ts +0 -2
  400. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js +0 -232
  401. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js.map +0 -1
  402. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.d.ts +0 -2
  403. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js +0 -6
  404. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js.map +0 -1
  405. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.d.ts +0 -9
  406. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +0 -27
  407. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js.map +0 -1
  408. package/dist/components/LibraryItemsList/MenuItemList/index.d.ts +0 -2
  409. package/dist/components/LibraryItemsList/MenuItemList/index.js +0 -6
  410. package/dist/components/LibraryItemsList/MenuItemList/index.js.map +0 -1
  411. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.d.ts +0 -2
  412. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js +0 -62
  413. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js.map +0 -1
  414. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.d.ts +0 -2
  415. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js +0 -6
  416. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js.map +0 -1
  417. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.d.ts +0 -5
  418. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +0 -139
  419. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js.map +0 -1
  420. package/dist/components/LibraryItemsList/MenuItemListSelected/index.d.ts +0 -2
  421. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js +0 -6
  422. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js.map +0 -1
  423. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.d.ts +0 -2
  424. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +0 -58
  425. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js.map +0 -1
  426. package/dist/components/LibraryItemsList/MenuSelection/index.d.ts +0 -2
  427. package/dist/components/LibraryItemsList/MenuSelection/index.js +0 -6
  428. package/dist/components/LibraryItemsList/MenuSelection/index.js.map +0 -1
  429. package/dist/components/LibraryItemsList/MenuView/MenuView.d.ts +0 -6
  430. package/dist/components/LibraryItemsList/MenuView/MenuView.js +0 -162
  431. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +0 -1
  432. package/dist/components/LibraryItemsList/MenuView/index.d.ts +0 -2
  433. package/dist/components/LibraryItemsList/MenuView/index.js +0 -6
  434. package/dist/components/LibraryItemsList/MenuView/index.js.map +0 -1
  435. package/dist/components/LibraryItemsList/SearchItems/SearchItems.d.ts +0 -2
  436. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js +0 -21
  437. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js.map +0 -1
  438. package/dist/components/LibraryItemsList/SearchItems/index.d.ts +0 -2
  439. package/dist/components/LibraryItemsList/SearchItems/index.js +0 -6
  440. package/dist/components/LibraryItemsList/SearchItems/index.js.map +0 -1
  441. package/dist/components/LibraryItemsList/Sidebar/Sidebar.d.ts +0 -2
  442. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +0 -58
  443. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js.map +0 -1
  444. package/dist/components/LibraryItemsList/Sidebar/index.d.ts +0 -2
  445. package/dist/components/LibraryItemsList/Sidebar/index.js +0 -6
  446. package/dist/components/LibraryItemsList/Sidebar/index.js.map +0 -1
  447. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.d.ts +0 -6
  448. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +0 -199
  449. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js.map +0 -1
  450. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.d.ts +0 -2
  451. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js +0 -6
  452. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js.map +0 -1
  453. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.d.ts +0 -2
  454. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js +0 -50
  455. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js.map +0 -1
  456. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.d.ts +0 -3
  457. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +0 -11
  458. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js.map +0 -1
  459. package/dist/components/LibraryItemsList/TileDisplay/index.d.ts +0 -2
  460. package/dist/components/LibraryItemsList/TileDisplay/index.js +0 -6
  461. package/dist/components/LibraryItemsList/TileDisplay/index.js.map +0 -1
  462. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.d.ts +0 -2
  463. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js +0 -66
  464. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js.map +0 -1
  465. package/dist/components/LibraryItemsList/VersionsPanel/index.d.ts +0 -2
  466. package/dist/components/LibraryItemsList/VersionsPanel/index.js +0 -6
  467. package/dist/components/LibraryItemsList/VersionsPanel/index.js.map +0 -1
  468. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.d.ts +0 -9
  469. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js +0 -85
  470. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js.map +0 -1
  471. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.d.ts +0 -2
  472. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js +0 -6
  473. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js.map +0 -1
  474. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +0 -7
  475. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +0 -152
  476. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +0 -1
  477. package/dist/components/LibraryItemsList/ViewPanel/View/index.d.ts +0 -2
  478. package/dist/components/LibraryItemsList/ViewPanel/View/index.js +0 -6
  479. package/dist/components/LibraryItemsList/ViewPanel/View/index.js.map +0 -1
  480. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.d.ts +0 -2
  481. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +0 -209
  482. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +0 -1
  483. package/dist/components/LibraryItemsList/ViewPanel/index.d.ts +0 -2
  484. package/dist/components/LibraryItemsList/ViewPanel/index.js +0 -6
  485. package/dist/components/LibraryItemsList/ViewPanel/index.js.map +0 -1
  486. package/dist/components/LibraryItemsList/constants.d.ts +0 -12
  487. package/dist/components/LibraryItemsList/constants.js +0 -19
  488. package/dist/components/LibraryItemsList/constants.js.map +0 -1
  489. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.d.ts +0 -3
  490. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js +0 -21
  491. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js.map +0 -1
  492. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +0 -3
  493. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +0 -18
  494. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js.map +0 -1
  495. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.d.ts +0 -4
  496. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js +0 -64
  497. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js.map +0 -1
  498. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.d.ts +0 -5
  499. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js +0 -40
  500. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js.map +0 -1
  501. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.d.ts +0 -6
  502. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js +0 -10
  503. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js.map +0 -1
  504. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.d.ts +0 -2
  505. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js +0 -13
  506. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js.map +0 -1
  507. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.d.ts +0 -2
  508. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js +0 -18
  509. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js.map +0 -1
  510. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.d.ts +0 -8
  511. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js +0 -99
  512. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js.map +0 -1
  513. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +0 -82
  514. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js +0 -2
  515. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +0 -1
  516. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.d.ts +0 -2
  517. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js +0 -6
  518. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js.map +0 -1
  519. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.d.ts +0 -7
  520. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js +0 -7
  521. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js.map +0 -1
  522. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +0 -121
  523. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +0 -228
  524. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +0 -1
  525. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +0 -5
  526. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js +0 -8
  527. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js.map +0 -1
  528. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.d.ts +0 -7
  529. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js +0 -40
  530. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js.map +0 -1
  531. package/dist/components/LibraryItemsList/index.d.ts +0 -1
  532. package/dist/components/LibraryItemsList/index.js +0 -5
  533. package/dist/components/LibraryItemsList/index.js.map +0 -1
  534. package/dist/components/LibraryItemsList/manageItems.d.ts +0 -11
  535. package/dist/components/LibraryItemsList/manageItems.js +0 -98
  536. package/dist/components/LibraryItemsList/manageItems.js.map +0 -1
  537. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.d.ts +0 -7
  538. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +0 -38
  539. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +0 -1
  540. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.d.ts +0 -2
  541. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js +0 -6
  542. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js.map +0 -1
  543. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.d.ts +0 -12
  544. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js +0 -29
  545. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js.map +0 -1
  546. package/dist/components/LibraryItemsList/shared/sharedUtils.d.ts +0 -4
  547. package/dist/components/LibraryItemsList/shared/sharedUtils.js +0 -9
  548. package/dist/components/LibraryItemsList/shared/sharedUtils.js.map +0 -1
  549. /package/dist/components/Filters/filter-items/{SelectAllCheckbox.d.ts → shared/SelectAllCheckbox.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"FilterValueListDropDown.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/FilterValueListDropDown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type FunctionComponent, type KeyboardEvent, useMemo, useState} from 'react';\nimport {KitInput} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {RecordFilterCondition} from '_ui/_gqlTypes';\nimport {\n isUIFilterLinkWithValueList,\n isUIFilterStandardWithValueList,\n type IUIFilterValueList,\n type UIFilter,\n} from '../../_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCheck, faSearch} from '@fortawesome/free-solid-svg-icons';\nimport {EmptyValueCheckbox} from '../EmptyValueCheckbox';\n\ninterface IFilterValueListDropDownProps {\n filter: IUIFilterValueList;\n onFilterChange: (filter: UIFilter) => void;\n}\n\nconst ListDivStyled = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-xxs) * 1px);\n`;\n\nconst OptionRow = styled.div<{$selected: boolean}>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n height: 36px;\n border-radius: calc(var(--general-spacing-xs) * 1px);\n cursor: pointer;\n background: ${props => (props.$selected ? 'var(--general-utilities-main-light)' : 'transparent')};\n color: var(--general-utilities-text-primary);\n\n &:hover {\n background: var(--general-utilities-main-light);\n }\n`;\n\nconst RightIcon = styled(FontAwesomeIcon)<{$visible: boolean}>`\n color: var(--general-utilities-main-default);\n opacity: ${props => (props.$visible ? 1 : 0)};\n transition: opacity 0.12s ease-in-out;\n`;\n\nconst Label = styled.div`\n flex: 1;\n min-width: 0; /* allow flex child to shrink for ellipsis */\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport const FilterValueListDropDown: FunctionComponent<IFilterValueListDropDownProps> = ({filter, onFilterChange}) => {\n const {t} = useSharedTranslation();\n const [searchText, setSearchText] = useState('');\n\n const getOptionLabelText = (label: any): string => (typeof label === 'string' ? label : '');\n\n // Generate an option list for the filter dropdown to select a value\n const _createOptionListFromValueList = () => {\n let valueListFormatted: Array<{label: string; value: string}> = [];\n if (isUIFilterStandardWithValueList(filter)) {\n valueListFormatted =\n filter.attribute.valuesList?.values?.map(value => ({\n label: value,\n value,\n })) || [];\n } else if (isUIFilterLinkWithValueList(filter)) {\n valueListFormatted =\n filter.attribute.valuesList?.linkedValues?.map(value => ({\n label: value.whoAmI.label!,\n value: value.id,\n })) || [];\n }\n\n return [...valueListFormatted];\n };\n\n const _handleOnCheckEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleToggle = (toggledValue: string) => {\n // remove or add the toggledValue from the filter.value\n const currentList = filter.value || [];\n const current = new Set(currentList);\n if (current.has(toggledValue)) {\n current.delete(toggledValue);\n } else {\n current.add(toggledValue);\n }\n const valuesSelected = Array.from(current);\n\n if (valuesSelected.length === 0) {\n // Clear filter when nothing selected\n onFilterChange({\n ...filter,\n value: [],\n field: (filter as any).field,\n });\n return;\n }\n\n onFilterChange({\n ...filter,\n condition: RecordFilterCondition.EQUAL,\n value: valuesSelected,\n });\n };\n\n const options = _createOptionListFromValueList();\n\n const isChecked = (optionValue: string) => {\n const set = new Set(filter.value ?? []);\n return set.has(optionValue);\n };\n\n const filteredOptions = useMemo(() => {\n if (!searchText) {\n return options;\n }\n const st = searchText.toLowerCase();\n const specials = new Set(['']);\n return options.filter(o => specials.has(o.value) || getOptionLabelText(o.label).toLowerCase().includes(st));\n }, [options, searchText]);\n\n const onKeyToggle = (e: KeyboardEvent<HTMLDivElement>, value: string) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n _handleToggle(value);\n }\n };\n\n return (\n <>\n <KitInput\n prefix={<FontAwesomeIcon icon={faSearch} />}\n placeholder={t('global.search')}\n value={searchText}\n onChange={e => setSearchText(e.target.value)}\n allowClear\n />\n <EmptyValueCheckbox onSelect={_handleOnCheckEmptyValue} filter={filter} />\n {filter.condition === RecordFilterCondition.EQUAL && (\n <ListDivStyled role=\"group\" aria-label={String(t('explorer.filter-value'))}>\n {filteredOptions.map(opt => {\n const selected = isChecked(opt.value);\n return (\n <OptionRow\n key={opt.value}\n $selected={selected}\n role=\"button\"\n aria-pressed={selected}\n tabIndex={0}\n onClick={() => _handleToggle(opt.value)}\n onKeyDown={e => onKeyToggle(e, opt.value)}\n >\n <Label>{opt.label}</Label>\n <RightIcon $visible={selected} icon={faCheck} />\n </OptionRow>\n );\n })}\n </ListDivStyled>\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"FilterValueListDropDown.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/FilterValueListDropDown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type FunctionComponent, type KeyboardEvent, useMemo, useState} from 'react';\nimport {KitInput} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {RecordFilterCondition} from '_ui/_gqlTypes';\nimport {\n isUIFilterLinkWithValueList,\n isUIFilterStandardWithValueList,\n type IUIFilterValueList,\n type UIFilter,\n} from '../../_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCheck, faSearch} from '@fortawesome/free-solid-svg-icons';\nimport {EmptyValueCheckbox} from '../shared/EmptyValueCheckbox';\n\ninterface IFilterValueListDropDownProps {\n filter: IUIFilterValueList;\n onFilterChange: (filter: UIFilter) => void;\n}\n\nconst ListDivStyled = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-xxs) * 1px);\n`;\n\nconst OptionRow = styled.div<{$selected: boolean}>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n height: 36px;\n border-radius: calc(var(--general-spacing-xs) * 1px);\n cursor: pointer;\n background: ${props => (props.$selected ? 'var(--general-utilities-main-light)' : 'transparent')};\n color: var(--general-utilities-text-primary);\n\n &:hover {\n background: var(--general-utilities-main-light);\n }\n`;\n\nconst RightIcon = styled(FontAwesomeIcon)<{$visible: boolean}>`\n color: var(--general-utilities-main-default);\n opacity: ${props => (props.$visible ? 1 : 0)};\n transition: opacity 0.12s ease-in-out;\n`;\n\nconst Label = styled.div`\n flex: 1;\n min-width: 0; /* allow flex child to shrink for ellipsis */\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport const FilterValueListDropDown: FunctionComponent<IFilterValueListDropDownProps> = ({filter, onFilterChange}) => {\n const {t} = useSharedTranslation();\n const [searchText, setSearchText] = useState('');\n\n const getOptionLabelText = (label: any): string => (typeof label === 'string' ? label : '');\n\n // Generate an option list for the filter dropdown to select a value\n const _createOptionListFromValueList = () => {\n let valueListFormatted: Array<{label: string; value: string}> = [];\n if (isUIFilterStandardWithValueList(filter)) {\n valueListFormatted =\n filter.attribute.valuesList?.values?.map(value => ({\n label: value,\n value,\n })) || [];\n } else if (isUIFilterLinkWithValueList(filter)) {\n valueListFormatted =\n filter.attribute.valuesList?.linkedValues?.map(value => ({\n label: value.whoAmI.label!,\n value: value.id,\n })) || [];\n }\n\n return [...valueListFormatted];\n };\n\n const _handleOnCheckEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleToggle = (toggledValue: string) => {\n // remove or add the toggledValue from the filter.value\n const currentList = filter.value || [];\n const current = new Set(currentList);\n if (current.has(toggledValue)) {\n current.delete(toggledValue);\n } else {\n current.add(toggledValue);\n }\n const valuesSelected = Array.from(current);\n\n if (valuesSelected.length === 0) {\n // Clear filter when nothing selected\n onFilterChange({\n ...filter,\n value: [],\n field: (filter as any).field,\n });\n return;\n }\n\n onFilterChange({\n ...filter,\n condition: RecordFilterCondition.EQUAL,\n value: valuesSelected,\n });\n };\n\n const options = _createOptionListFromValueList();\n\n const isChecked = (optionValue: string) => {\n const set = new Set(filter.value ?? []);\n return set.has(optionValue);\n };\n\n const filteredOptions = useMemo(() => {\n if (!searchText) {\n return options;\n }\n const st = searchText.toLowerCase();\n const specials = new Set(['']);\n return options.filter(o => specials.has(o.value) || getOptionLabelText(o.label).toLowerCase().includes(st));\n }, [options, searchText]);\n\n const onKeyToggle = (e: KeyboardEvent<HTMLDivElement>, value: string) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n _handleToggle(value);\n }\n };\n\n return (\n <>\n <KitInput\n prefix={<FontAwesomeIcon icon={faSearch} />}\n placeholder={t('global.search')}\n value={searchText}\n onChange={e => setSearchText(e.target.value)}\n allowClear\n />\n <EmptyValueCheckbox onSelect={_handleOnCheckEmptyValue} filter={filter} />\n <ListDivStyled role=\"group\" aria-label={String(t('explorer.filter-value'))}>\n {filteredOptions.map(opt => {\n const selected = isChecked(opt.value);\n return (\n <OptionRow\n key={opt.value}\n $selected={selected}\n role=\"button\"\n aria-pressed={selected}\n tabIndex={0}\n onClick={() => _handleToggle(opt.value)}\n onKeyDown={e => onKeyToggle(e, opt.value)}\n >\n <Label>{opt.label}</Label>\n <RightIcon $visible={selected} icon={faCheck} />\n </OptionRow>\n );\n })}\n </ListDivStyled>\n </>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { type RefObject } from 'react';
2
- import { type IUIFilterLink, type IUIFilterStandard, type IUIFilterThrough, type IUIFilterTree } from '../../_types';
2
+ import { type IUIFilterSmartFiler, type IUIFilterLink, type IUIFilterStandard, type IUIFilterThrough, type IUIFilterTree } from '../../_types';
3
3
  export interface IFilterChildrenDropDownProps {
4
4
  filter: IUIFilterStandard;
5
5
  onFilterChange: (filterData: IUIFilterStandard) => void;
@@ -16,3 +16,8 @@ export interface IFilterChildrenTreeDropDownProps {
16
16
  onFilterChange: (filterData: IUIFilterTree) => void;
17
17
  selectDropDownRef?: RefObject<HTMLDivElement>;
18
18
  }
19
+ export interface IFilterChildrenSmartFilterDropDownProps {
20
+ filter: IUIFilterSmartFiler;
21
+ onFilterChange: (filterData: IUIFilterSmartFiler) => void;
22
+ selectDropDownRef?: RefObject<HTMLDivElement>;
23
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/_types.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type RefObject} from 'react';\nimport {type IUIFilterLink, type IUIFilterStandard, type IUIFilterThrough, type IUIFilterTree} from '../../_types';\n\nexport interface IFilterChildrenDropDownProps {\n filter: IUIFilterStandard;\n onFilterChange: (filterData: IUIFilterStandard) => void;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n\nexport interface IFilterChildrenLinkDropDownProps {\n filter: IUIFilterLink | IUIFilterThrough;\n onFilterChange: (filterData: IUIFilterLink | IUIFilterThrough) => void;\n removeThroughCondition: boolean;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n\nexport interface IFilterChildrenTreeDropDownProps {\n filter: IUIFilterTree;\n onFilterChange: (filterData: IUIFilterTree) => void;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n"]}
1
+ {"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/_types.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type RefObject} from 'react';\nimport {\n type IUIFilterSmartFiler,\n type IUIFilterLink,\n type IUIFilterStandard,\n type IUIFilterThrough,\n type IUIFilterTree,\n} from '../../_types';\n\nexport interface IFilterChildrenDropDownProps {\n filter: IUIFilterStandard;\n onFilterChange: (filterData: IUIFilterStandard) => void;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n\nexport interface IFilterChildrenLinkDropDownProps {\n filter: IUIFilterLink | IUIFilterThrough;\n onFilterChange: (filterData: IUIFilterLink | IUIFilterThrough) => void;\n removeThroughCondition: boolean;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n\nexport interface IFilterChildrenTreeDropDownProps {\n filter: IUIFilterTree;\n onFilterChange: (filterData: IUIFilterTree) => void;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n\nexport interface IFilterChildrenSmartFilterDropDownProps {\n filter: IUIFilterSmartFiler;\n onFilterChange: (filterData: IUIFilterSmartFiler) => void;\n selectDropDownRef?: RefObject<HTMLDivElement>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { type IFilterChildrenSmartFilterDropDownProps } from '../_types';
2
+ export declare const SmartFilterAttributeDropdown: ({ filter, onFilterChange }: IFilterChildrenSmartFilterDropDownProps) => JSX.Element;
@@ -0,0 +1,106 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { ErrorDisplay } from '../../../../../components/ErrorDisplay';
6
+ import { useFiltersContext } from '../../../../../components/Filters/useFiltersContext';
7
+ import { KitLoader, KitSpace, KitTree } from 'aristid-ds';
8
+ import { useGetSmartFilterData } from './useGetSmartFilterData';
9
+ import { useSmartFilterSearch } from './useSmartFilerSearch';
10
+ import styled from 'styled-components';
11
+ import { SelectAllCheckbox } from '../../shared/SelectAllCheckbox';
12
+ import { EmptyValueCheckbox } from '../../shared/EmptyValueCheckbox';
13
+ import { FilterTreeNodeTitle } from '../../shared/FilterTreeNodeTitle';
14
+ const DropdownContentWrapper = styled(KitSpace) `
15
+ width: 327px;
16
+ justify-content: center;
17
+ `;
18
+ const ScrollableContent = styled.div `
19
+ max-height: 182px; /* Equal to 5.5 nodes of KitTree */
20
+ overflow-y: auto;
21
+ overflow-x: hidden;
22
+ width: 100%;
23
+ `;
24
+ const KitTreeWithGhostedNodes = styled(KitTree) `
25
+ & .ant-tree-treenode:has(div[data-ghosted='true']) {
26
+ & > span {
27
+ background-color: var(--general-utilities-neutral-light) !important;
28
+
29
+ .ant-tree-checkbox-inner {
30
+ background-color: var(--general-utilities-neutral-dark) !important;
31
+ border-color: var(--general-utilities-neutral-dark) !important;
32
+ }
33
+
34
+ .ant-typography {
35
+ font-style: italic;
36
+ }
37
+ }
38
+ }
39
+ `;
40
+ export const SmartFilterAttributeDropdown = ({ filter, onFilterChange }) => {
41
+ const { filtersData } = useFiltersContext();
42
+ const selectedNodesIds = [...(filter.value ?? [])];
43
+ const { smartFilterDataToDisplay, noValueNodeData, isLoading, error } = useGetSmartFilterData({
44
+ libraryId: filtersData.libraryId,
45
+ attributeId: filter.attribute.id,
46
+ filters: filtersData.filters,
47
+ filtersOperator: filtersData.filtersOperator,
48
+ selectedValueIds: selectedNodesIds,
49
+ selectedFormattedValues: filter.formattedValue,
50
+ linkedLibraryId: filter.attribute.linkedLibrary?.id,
51
+ });
52
+ const { filteredSmartFilterData, SearchInput } = useSmartFilterSearch(smartFilterDataToDisplay);
53
+ const isFullyChecked = selectedNodesIds.length > 0 &&
54
+ selectedNodesIds.length === smartFilterDataToDisplay.length &&
55
+ filter.withEmptyValues;
56
+ const hasAnySelection = selectedNodesIds.length > 0 || filter.withEmptyValues;
57
+ const _handleOnSelect = (node, selected) => {
58
+ let newSelectedIds;
59
+ if (selected) {
60
+ newSelectedIds = [...selectedNodesIds, node.key];
61
+ }
62
+ else {
63
+ newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.key);
64
+ }
65
+ const selectedNodes = newSelectedIds
66
+ .map(nodeKey => filteredSmartFilterData.find(smartFilterNode => smartFilterNode.key === nodeKey))
67
+ .filter((selectedNode) => Boolean(selectedNode));
68
+ onFilterChange({
69
+ ...filter,
70
+ value: selectedNodes.map(selectedNode => selectedNode.recordId),
71
+ formattedValue: selectedNodes.map(selectedNode => selectedNode.title),
72
+ });
73
+ };
74
+ const _handleOnSelectAll = (isSelected) => {
75
+ const selectedNodes = isSelected ? [...smartFilterDataToDisplay] : [];
76
+ onFilterChange({
77
+ ...filter,
78
+ value: selectedNodes.map(selectedNode => selectedNode.recordId),
79
+ formattedValue: selectedNodes.map(selectedNode => selectedNode.title),
80
+ withEmptyValues: isSelected,
81
+ });
82
+ };
83
+ const _handleOnSelectEmptyValue = (selected) => {
84
+ onFilterChange({
85
+ ...filter,
86
+ withEmptyValues: selected,
87
+ });
88
+ };
89
+ if (isLoading) {
90
+ return (_jsx(DropdownContentWrapper, { align: "center", children: _jsx(KitLoader, {}) }));
91
+ }
92
+ if (error) {
93
+ return (_jsx(DropdownContentWrapper, { children: _jsx(ErrorDisplay, { message: error.message }) }));
94
+ }
95
+ return (_jsxs(DropdownContentWrapper, { direction: "vertical", size: "xs", children: [SearchInput, _jsxs(ScrollableContent, { children: [_jsx(SelectAllCheckbox, { checked: isFullyChecked, indeterminate: hasAnySelection && !isFullyChecked, onChange: _handleOnSelectAll }), _jsx(EmptyValueCheckbox, { filter: filter, onSelect: _handleOnSelectEmptyValue, count: noValueNodeData?.count ?? 0 }), _jsx(KitTreeWithGhostedNodes, { treeData: filteredSmartFilterData, selectedKeys: selectedNodesIds, checkedKeys: selectedNodesIds, checkable: true, checkStrictly: true, multiple: true, titleRender: kitTreeNode => {
96
+ const node = kitTreeNode;
97
+ return (_jsx(FilterTreeNodeTitle, { title: node.title, count: node.count ?? 0, ghosted: node.ghosted }));
98
+ }, onCheck: (_, info) => {
99
+ const node = info.node;
100
+ _handleOnSelect(node, info.checked);
101
+ }, onSelect: (_, info) => {
102
+ const node = info.node;
103
+ _handleOnSelect(node, info.selected);
104
+ } })] })] }));
105
+ };
106
+ //# sourceMappingURL=SmartFilterAttributeDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartFilterAttributeDropdown.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {ErrorDisplay} from '_ui/components/ErrorDisplay';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {KitLoader, KitSpace, KitTree} from 'aristid-ds';\nimport {type ISmartFilterNode, useGetSmartFilterData} from './useGetSmartFilterData';\nimport {useSmartFilterSearch} from './useSmartFilerSearch';\nimport styled from 'styled-components';\nimport {type EventDataNode} from 'antd/es/tree';\nimport {type IFilterChildrenSmartFilterDropDownProps} from '../_types';\nimport {SelectAllCheckbox} from '../../shared/SelectAllCheckbox';\nimport {EmptyValueCheckbox} from '../../shared/EmptyValueCheckbox';\nimport {FilterTreeNodeTitle} from '../../shared/FilterTreeNodeTitle';\n\nconst DropdownContentWrapper = styled(KitSpace)`\n width: 327px;\n justify-content: center;\n`;\n\nconst ScrollableContent = styled.div`\n max-height: 182px; /* Equal to 5.5 nodes of KitTree */\n overflow-y: auto;\n overflow-x: hidden;\n width: 100%;\n`;\n\nconst KitTreeWithGhostedNodes = styled(KitTree)`\n & .ant-tree-treenode:has(div[data-ghosted='true']) {\n & > span {\n background-color: var(--general-utilities-neutral-light) !important;\n\n .ant-tree-checkbox-inner {\n background-color: var(--general-utilities-neutral-dark) !important;\n border-color: var(--general-utilities-neutral-dark) !important;\n }\n\n .ant-typography {\n font-style: italic;\n }\n }\n }\n`;\n\nexport const SmartFilterAttributeDropdown = ({filter, onFilterChange}: IFilterChildrenSmartFilterDropDownProps) => {\n const {filtersData} = useFiltersContext();\n\n const selectedNodesIds = [...(filter.value ?? [])];\n\n const {smartFilterDataToDisplay, noValueNodeData, isLoading, error} = useGetSmartFilterData({\n libraryId: filtersData.libraryId,\n attributeId: filter.attribute.id,\n filters: filtersData.filters,\n filtersOperator: filtersData.filtersOperator,\n selectedValueIds: selectedNodesIds,\n selectedFormattedValues: filter.formattedValue,\n linkedLibraryId: filter.attribute.linkedLibrary?.id,\n });\n\n const {filteredSmartFilterData, SearchInput} = useSmartFilterSearch(smartFilterDataToDisplay);\n\n const isFullyChecked =\n selectedNodesIds.length > 0 &&\n selectedNodesIds.length === smartFilterDataToDisplay.length &&\n filter.withEmptyValues;\n const hasAnySelection = selectedNodesIds.length > 0 || filter.withEmptyValues;\n\n const _handleOnSelect = (node: ISmartFilterNode, selected: boolean) => {\n let newSelectedIds: string[];\n\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.key];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.key);\n }\n\n const selectedNodes = newSelectedIds\n .map(nodeKey => filteredSmartFilterData.find(smartFilterNode => smartFilterNode.key === nodeKey))\n .filter((selectedNode): selectedNode is ISmartFilterNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAll = (isSelected: boolean) => {\n const selectedNodes = isSelected ? [...smartFilterDataToDisplay] : [];\n\n onFilterChange({\n ...filter,\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n withEmptyValues: isSelected,\n });\n };\n\n const _handleOnSelectEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n if (isLoading) {\n return (\n <DropdownContentWrapper align=\"center\">\n <KitLoader />\n </DropdownContentWrapper>\n );\n }\n\n if (error) {\n return (\n <DropdownContentWrapper>\n <ErrorDisplay message={error.message} />\n </DropdownContentWrapper>\n );\n }\n\n return (\n <DropdownContentWrapper direction=\"vertical\" size=\"xs\">\n {SearchInput}\n <ScrollableContent>\n <SelectAllCheckbox\n checked={isFullyChecked}\n indeterminate={hasAnySelection && !isFullyChecked}\n onChange={_handleOnSelectAll}\n />\n <EmptyValueCheckbox\n filter={filter}\n onSelect={_handleOnSelectEmptyValue}\n count={noValueNodeData?.count ?? 0}\n />\n <KitTreeWithGhostedNodes\n treeData={filteredSmartFilterData}\n selectedKeys={selectedNodesIds}\n checkedKeys={selectedNodesIds}\n checkable={true}\n checkStrictly={true}\n multiple={true}\n titleRender={kitTreeNode => {\n const node = kitTreeNode as EventDataNode<ISmartFilterNode>;\n return (\n <FilterTreeNodeTitle title={node.title} count={node.count ?? 0} ghosted={node.ghosted} />\n );\n }}\n onCheck={(_, info) => {\n const node = info.node as EventDataNode<ISmartFilterNode>;\n _handleOnSelect(node, info.checked);\n }}\n onSelect={(_, info) => {\n const node = info.node as EventDataNode<ISmartFilterNode>;\n _handleOnSelect(node, info.selected);\n }}\n />\n </ScrollableContent>\n </DropdownContentWrapper>\n );\n};\n"]}
@@ -0,0 +1,25 @@
1
+ import { type IUIFilterTree, type FiltersOperator, type UIFilter } from '../../../../../components/Filters/_types';
2
+ export interface ISmartFilterNode {
3
+ title: string;
4
+ key: string;
5
+ libraryId: string;
6
+ recordId: string;
7
+ count: number;
8
+ ghosted?: boolean;
9
+ }
10
+ interface IUseGetSmartFilterDataProps {
11
+ libraryId: string;
12
+ attributeId: string;
13
+ filters: UIFilter[] | IUIFilterTree[];
14
+ filtersOperator: FiltersOperator;
15
+ selectedValueIds?: string[] | null;
16
+ selectedFormattedValues?: Array<string | null> | null;
17
+ linkedLibraryId?: string;
18
+ }
19
+ export declare const useGetSmartFilterData: ({ libraryId, attributeId, filters, filtersOperator, selectedValueIds, selectedFormattedValues, linkedLibraryId, }: IUseGetSmartFilterDataProps) => {
20
+ smartFilterDataToDisplay: ISmartFilterNode[];
21
+ noValueNodeData: ISmartFilterNode;
22
+ isLoading: boolean;
23
+ error: import("@apollo/client").ApolloError;
24
+ };
25
+ export {};
@@ -0,0 +1,59 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { useSmartFilterListValuesQuery } from '../../../../../_gqlTypes';
5
+ import { prepareFiltersForRequest } from '../../../../../components/Filters/prepareFiltersForRequest';
6
+ export const useGetSmartFilterData = ({ libraryId, attributeId, filters, filtersOperator, selectedValueIds, selectedFormattedValues, linkedLibraryId, }) => {
7
+ const filtersWithoutCurrentAttributeFilter = filters.filter(filter => filter.attribute.id !== attributeId);
8
+ const preparedFilters = prepareFiltersForRequest(filtersWithoutCurrentAttributeFilter, filtersOperator, undefined);
9
+ const { data, loading, error } = useSmartFilterListValuesQuery({
10
+ variables: {
11
+ library: libraryId,
12
+ attribute: attributeId,
13
+ recordFilters: preparedFilters ?? undefined,
14
+ },
15
+ });
16
+ const occurrences = data?.listDistinctValues;
17
+ const smartFilterData = occurrences?.length
18
+ ? occurrences
19
+ .map(({ value, count }) => value !== null
20
+ ? {
21
+ key: value.id,
22
+ title: value.whoAmI.label ?? value.whoAmI.id ?? value.id,
23
+ recordId: value.whoAmI.id,
24
+ libraryId: value.whoAmI.library.id,
25
+ count,
26
+ }
27
+ : {
28
+ key: 'no_value',
29
+ title: '',
30
+ recordId: null,
31
+ libraryId: null,
32
+ count,
33
+ })
34
+ .sort((a, b) => a.title.localeCompare(b.title, undefined, { numeric: true }))
35
+ : [];
36
+ const smartFilterDataWithoutNoValue = smartFilterData.filter(node => node.key !== 'no_value');
37
+ const noValueNodeData = smartFilterData.find(node => node.key === 'no_value');
38
+ const selectedNodeIdsNotInSmartFilterData = (selectedValueIds ?? []).filter(nodeId => !smartFilterData.some(node => node.key === nodeId));
39
+ const selectedNodesNotInSmartFilterData = selectedNodeIdsNotInSmartFilterData.map(nodeId => {
40
+ const index = selectedValueIds?.indexOf(nodeId) ?? -1;
41
+ const formattedValue = index >= 0 && selectedFormattedValues?.[index] != null ? selectedFormattedValues[index] : nodeId;
42
+ return {
43
+ key: nodeId,
44
+ recordId: nodeId,
45
+ libraryId: linkedLibraryId ?? '',
46
+ title: formattedValue ?? nodeId,
47
+ count: 0,
48
+ ghosted: true,
49
+ };
50
+ });
51
+ const smartFilterDataToDisplay = [...smartFilterDataWithoutNoValue, ...selectedNodesNotInSmartFilterData];
52
+ return {
53
+ smartFilterDataToDisplay,
54
+ noValueNodeData,
55
+ isLoading: loading,
56
+ error: error ?? null,
57
+ };
58
+ };
59
+ //# sourceMappingURL=useGetSmartFilterData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetSmartFilterData.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSmartFilterListValuesQuery} from '_ui/_gqlTypes';\nimport {prepareFiltersForRequest} from '_ui/components/Filters/prepareFiltersForRequest';\nimport {type IUIFilterTree, type FiltersOperator, type UIFilter} from '_ui/components/Filters/_types';\n\nexport interface ISmartFilterNode {\n title: string;\n key: string;\n libraryId: string;\n recordId: string;\n count: number;\n ghosted?: boolean;\n}\n\ninterface IUseGetSmartFilterDataProps {\n libraryId: string;\n attributeId: string;\n filters: UIFilter[] | IUIFilterTree[];\n filtersOperator: FiltersOperator;\n selectedValueIds?: string[] | null;\n selectedFormattedValues?: Array<string | null> | null;\n linkedLibraryId?: string;\n}\n\nexport const useGetSmartFilterData = ({\n libraryId,\n attributeId,\n filters,\n filtersOperator,\n selectedValueIds,\n selectedFormattedValues,\n linkedLibraryId,\n}: IUseGetSmartFilterDataProps) => {\n const filtersWithoutCurrentAttributeFilter = filters.filter(filter => filter.attribute.id !== attributeId);\n const preparedFilters = prepareFiltersForRequest(filtersWithoutCurrentAttributeFilter, filtersOperator, undefined);\n\n const {data, loading, error} = useSmartFilterListValuesQuery({\n variables: {\n library: libraryId,\n attribute: attributeId,\n recordFilters: preparedFilters ?? undefined,\n },\n });\n\n const occurrences = data?.listDistinctValues;\n\n const smartFilterData: ISmartFilterNode[] = occurrences?.length\n ? occurrences\n .map(({value, count}) =>\n value !== null\n ? {\n key: value.id,\n title: value.whoAmI.label ?? value.whoAmI.id ?? value.id,\n recordId: value.whoAmI.id,\n libraryId: value.whoAmI.library.id,\n count,\n }\n : {\n key: 'no_value',\n title: '',\n recordId: null,\n libraryId: null,\n count,\n },\n )\n .sort((a, b) => a.title.localeCompare(b.title, undefined, {numeric: true}))\n : [];\n\n const smartFilterDataWithoutNoValue = smartFilterData.filter(node => node.key !== 'no_value');\n const noValueNodeData = smartFilterData.find(node => node.key === 'no_value');\n\n const selectedNodeIdsNotInSmartFilterData = (selectedValueIds ?? []).filter(\n nodeId => !smartFilterData.some(node => node.key === nodeId),\n );\n const selectedNodesNotInSmartFilterData: ISmartFilterNode[] = selectedNodeIdsNotInSmartFilterData.map(nodeId => {\n const index = selectedValueIds?.indexOf(nodeId) ?? -1;\n const formattedValue =\n index >= 0 && selectedFormattedValues?.[index] != null ? selectedFormattedValues[index] : nodeId;\n return {\n key: nodeId,\n recordId: nodeId,\n libraryId: linkedLibraryId ?? '',\n title: formattedValue ?? nodeId,\n count: 0,\n ghosted: true,\n };\n });\n\n const smartFilterDataToDisplay = [...smartFilterDataWithoutNoValue, ...selectedNodesNotInSmartFilterData];\n\n return {\n smartFilterDataToDisplay,\n noValueNodeData,\n isLoading: loading,\n error: error ?? null,\n };\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { type DataNode } from 'antd/es/tree';
2
+ export declare const useSmartFilterSearch: (smartFilterData: DataNode[]) => {
3
+ filteredSmartFilterData: DataNode[];
4
+ SearchInput: JSX.Element;
5
+ };
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { KitInput } from 'aristid-ds';
6
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
+ import { faSearch } from '@fortawesome/free-solid-svg-icons';
8
+ import { useSharedTranslation } from '../../../../../hooks/useSharedTranslation';
9
+ import { useState } from 'react';
10
+ export const useSmartFilterSearch = (smartFilterData) => {
11
+ const { t } = useSharedTranslation();
12
+ const [searchValue, setSearchValue] = useState('');
13
+ const normalizedSearch = searchValue.trim().toLowerCase();
14
+ const filteredSmartFilterData = !normalizedSearch
15
+ ? smartFilterData
16
+ : smartFilterData.filter(node => {
17
+ const title = typeof node.title === 'string' ? node.title : '';
18
+ return title.toLowerCase().includes(normalizedSearch);
19
+ });
20
+ return {
21
+ filteredSmartFilterData,
22
+ SearchInput: (_jsx(KitInput, { prefix: _jsx(FontAwesomeIcon, { icon: faSearch }), placeholder: t('global.search'), value: searchValue, onChange: e => setSearchValue(e.target.value), allowClear: true })),
23
+ };
24
+ };
25
+ //# sourceMappingURL=useSmartFilerSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSmartFilerSearch.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,eAA2B,EAAE,EAAE;IAChE,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE1D,MAAM,uBAAuB,GAAG,CAAC,gBAAgB;QAC7C,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IAET,OAAO;QACH,uBAAuB;QACvB,WAAW,EAAE,CACT,KAAC,QAAQ,IACL,MAAM,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,QAAQ,GAAI,EAC3C,WAAW,EAAE,CAAC,CAAC,eAAe,CAAC,EAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,UAAU,SACZ,CACL;KACJ,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitInput} from 'aristid-ds';\nimport {type DataNode} from 'antd/es/tree';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faSearch} from '@fortawesome/free-solid-svg-icons';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useState} from 'react';\n\nexport const useSmartFilterSearch = (smartFilterData: DataNode[]) => {\n const {t} = useSharedTranslation();\n const [searchValue, setSearchValue] = useState('');\n\n const normalizedSearch = searchValue.trim().toLowerCase();\n\n const filteredSmartFilterData = !normalizedSearch\n ? smartFilterData\n : smartFilterData.filter(node => {\n const title = typeof node.title === 'string' ? node.title : '';\n return title.toLowerCase().includes(normalizedSearch);\n });\n\n return {\n filteredSmartFilterData,\n SearchInput: (\n <KitInput\n prefix={<FontAwesomeIcon icon={faSearch} />}\n placeholder={t('global.search')}\n value={searchValue}\n onChange={e => setSearchValue(e.target.value)}\n allowClear\n />\n ),\n };\n};\n"]}
@@ -10,8 +10,8 @@ import { ErrorDisplay } from '../../../../../components/ErrorDisplay';
10
10
  import { useSharedTranslation } from '../../../../../hooks/useSharedTranslation';
11
11
  import { useTreesSearch } from './useTreesSearch';
12
12
  import { useFiltersContext } from '../../../../../components/Filters/useFiltersContext';
13
- import { EmptyValueCheckbox } from '../../EmptyValueCheckbox';
14
- import { SelectAllCheckbox } from '../../SelectAllCheckbox';
13
+ import { EmptyValueCheckbox } from '../../shared/EmptyValueCheckbox';
14
+ import { SelectAllCheckbox } from '../../shared/SelectAllCheckbox';
15
15
  import { buildFlattenTree } from './utils/buildFlattenTreeMap';
16
16
  import { getSelectAllState } from './utils/getSelectAllState';
17
17
  import { filterTreeByPermission } from './utils/filterTreeByPermission';
@@ -29,6 +29,7 @@ const FilteredTreeSpacer = styled(KitSpace) `
29
29
  `;
30
30
  const DropdownContentWrapper = styled(KitSpace) `
31
31
  width: 327px;
32
+ justify-content: center;
32
33
  `;
33
34
  export const TreeAttributeDropDown = ({ filter, onFilterChange, }) => {
34
35
  const { t } = useSharedTranslation();
@@ -118,10 +119,10 @@ export const TreeAttributeDropDown = ({ filter, onFilterChange, }) => {
118
119
  },
119
120
  };
120
121
  if (isLoading) {
121
- return _jsx(KitLoader, {});
122
+ return (_jsx(DropdownContentWrapper, { children: _jsx(KitLoader, {}) }));
122
123
  }
123
124
  if (error) {
124
- return _jsx(ErrorDisplay, { message: error.message });
125
+ return (_jsx(DropdownContentWrapper, { children: _jsx(ErrorDisplay, { message: error.message }) }));
125
126
  }
126
127
  return (_jsxs(DropdownContentWrapper, { direction: "vertical", size: "xs", children: [SearchInput, areBothTreesFilled ? (_jsxs(_Fragment, { children: [_jsx(EmptyValueCheckbox, { onSelect: _handleOnSelectEmptyValue, filter: filter }), _jsxs(FilteredTreeSpacer, { direction: "vertical", size: "xxs", children: [_jsx(FilteredTreeTitle, { size: "fontSize5", weight: "medium", children: t('filters.visible-by-default') }), _jsxs(ScrollableContent, { children: [_jsx(SelectAllCheckbox, { checked: allVisibleSelected, indeterminate: visibleIndeterminate, onChange: _handleOnSelectAllVisibleByDefault }), _jsx(KitTree, { treeData: filteredVisibleByDefaultTree, ...treeCommonProps })] })] }), _jsx(KitDivider, { noMargin: true }), _jsxs(FilteredTreeSpacer, { direction: "vertical", size: "xxs", children: [_jsx(FilteredTreeTitle, { size: "fontSize5", weight: "medium", children: t('filters.hidden-by-default') }), _jsxs(ScrollableContent, { children: [_jsx(SelectAllCheckbox, { checked: allHiddenSelected, indeterminate: hiddenIndeterminate, onChange: _handleOnSelectAllHiddenByDefault }), _jsx(KitTree, { treeData: filteredHiddenByDefaultTree, ...treeCommonProps })] })] })] })) : (_jsxs(ScrollableContent, { children: [_jsx(EmptyValueCheckbox, { onSelect: _handleOnSelectEmptyValue, filter: filter }), _jsx(SelectAllCheckbox, { checked: visibleByDefaultTree.length > 0 ? allVisibleSelected : allHiddenSelected, indeterminate: visibleByDefaultTree.length > 0 ? visibleIndeterminate : hiddenIndeterminate, onChange: visibleByDefaultTree.length > 0
127
128
  ? _handleOnSelectAllVisibleByDefault
@@ -1 +1 @@
1
- {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type ComponentProps, type FunctionComponent, type Key, useMemo, useState} from 'react';\nimport {type IFilterChildrenTreeDropDownProps} from '../_types';\nimport styled from 'styled-components';\nimport {KitDivider, KitLoader, KitSpace, KitTree, KitTypography} from 'aristid-ds';\nimport {type EventDataNode} from 'antd/lib/tree';\nimport {type ITreeNode, useGetTreeData} from './useGetTreeData';\nimport {ErrorDisplay} from '_ui/components/ErrorDisplay';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useTreesSearch} from './useTreesSearch';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {EmptyValueCheckbox} from '../../EmptyValueCheckbox';\nimport {SelectAllCheckbox} from '../../SelectAllCheckbox';\nimport {buildFlattenTree} from './utils/buildFlattenTreeMap';\nimport {getSelectAllState} from './utils/getSelectAllState';\nimport {filterTreeByPermission} from './utils/filterTreeByPermission';\n\nconst ScrollableContent = styled.div`\n max-height: 182px; /* Equal to 5.5 nodes of KitTree */\n overflow-y: auto;\n overflow-x: hidden;\n width: 100%;\n`;\n\nconst FilteredTreeTitle = styled(KitTypography.Text)`\n color: var(--general-colors-neutral-grey-500);\n`;\n\nconst FilteredTreeSpacer = styled(KitSpace)`\n width: 100%;\n`;\n\nconst DropdownContentWrapper = styled(KitSpace)`\n width: 327px;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n}) => {\n const {t} = useSharedTranslation();\n const {filtersData} = useFiltersContext();\n const {treeData, isLoading, error} = useGetTreeData({\n treeId: filter.attribute.linkedTree?.id ?? '',\n attributeId: filter.attribute.id,\n libraryId: filtersData.libraryId,\n });\n\n // Split treeData based on accessRecordByDefaultPermission\n const visibleByDefaultTree = useMemo(() => filterTreeByPermission(treeData, true), [treeData]);\n const hiddenByDefaultTree = useMemo(() => filterTreeByPermission(treeData, false), [treeData]);\n\n const {filteredVisibleByDefaultTree, filteredHiddenByDefaultTree, expandedNodeIdsFromSearch, SearchInput} =\n useTreesSearch(visibleByDefaultTree, hiddenByDefaultTree);\n\n const [expandedNodeIdsFromUser, setExpandedNodeIdsFromUser] = useState<Key[]>([]);\n\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n const areBothTreesFilled = visibleByDefaultTree.length > 0 && hiddenByDefaultTree.length > 0;\n\n // Build flatten trees to optimize the search and selection of nodes in handling functions\n const flattenTreeData = useMemo(() => buildFlattenTree(treeData), [treeData]);\n const flattenVisibleByDefaultTree = useMemo(() => buildFlattenTree(visibleByDefaultTree), [visibleByDefaultTree]);\n const flattenHiddenByDefaultTree = useMemo(() => buildFlattenTree(hiddenByDefaultTree), [hiddenByDefaultTree]);\n\n const _handleOnSelectEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleOnSelect = (node: ITreeNode, selected: boolean) => {\n let newSelectedIds: string[];\n\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({nodeId: selectedNode.id, libraryId: selectedNode.libraryId})),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAll = (treeToSelect: Map<string, ITreeNode>, isSelected: boolean) => {\n const treeNodeIds = Array.from(treeToSelect.keys());\n\n // Using Set to avoid duplicates\n const newSelectedIds = isSelected\n ? [...new Set([...selectedNodesIds, ...treeNodeIds])]\n : selectedNodesIds.filter(id => !treeNodeIds.includes(id));\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({\n nodeId: selectedNode.id,\n libraryId: selectedNode.libraryId,\n })),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAllVisibleByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenVisibleByDefaultTree, isSelected);\n\n const _handleOnSelectAllHiddenByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenHiddenByDefaultTree, isSelected);\n\n const {allSelected: allVisibleSelected, indeterminate: visibleIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenVisibleByDefaultTree,\n );\n\n const {allSelected: allHiddenSelected, indeterminate: hiddenIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenHiddenByDefaultTree,\n );\n\n const treeCommonProps: ComponentProps<typeof KitTree> = {\n selectedKeys: selectedNodesIds,\n checkedKeys: selectedNodesIds,\n defaultExpandedKeys: selectedNodesIds,\n expandedKeys: [...selectedNodesIds, ...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],\n autoExpandParent: true,\n checkable: true,\n checkStrictly: true,\n multiple: true,\n onExpand: expandedKeys => {\n setExpandedNodeIdsFromUser(expandedKeys);\n },\n onCheck: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.checked);\n },\n onSelect: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.selected);\n },\n };\n\n if (isLoading) {\n return <KitLoader />;\n }\n\n if (error) {\n return <ErrorDisplay message={error.message} />;\n }\n\n return (\n <DropdownContentWrapper direction=\"vertical\" size=\"xs\">\n {SearchInput}\n {areBothTreesFilled ? (\n <>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.visible-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allVisibleSelected}\n indeterminate={visibleIndeterminate}\n onChange={_handleOnSelectAllVisibleByDefault}\n />\n <KitTree treeData={filteredVisibleByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n <KitDivider noMargin />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.hidden-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allHiddenSelected}\n indeterminate={hiddenIndeterminate}\n onChange={_handleOnSelectAllHiddenByDefault}\n />\n <KitTree treeData={filteredHiddenByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n </>\n ) : (\n <ScrollableContent>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <SelectAllCheckbox\n checked={visibleByDefaultTree.length > 0 ? allVisibleSelected : allHiddenSelected}\n indeterminate={visibleByDefaultTree.length > 0 ? visibleIndeterminate : hiddenIndeterminate}\n onChange={\n visibleByDefaultTree.length > 0\n ? _handleOnSelectAllVisibleByDefault\n : _handleOnSelectAllHiddenByDefault\n }\n />\n <KitTree\n treeData={\n visibleByDefaultTree.length > 0 ? filteredVisibleByDefaultTree : filteredHiddenByDefaultTree\n }\n {...treeCommonProps}\n />\n </ScrollableContent>\n )}\n </DropdownContentWrapper>\n );\n};\n"]}
1
+ {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type ComponentProps, type FunctionComponent, type Key, useMemo, useState} from 'react';\nimport {type IFilterChildrenTreeDropDownProps} from '../_types';\nimport styled from 'styled-components';\nimport {KitDivider, KitLoader, KitSpace, KitTree, KitTypography} from 'aristid-ds';\nimport {type EventDataNode} from 'antd/lib/tree';\nimport {type ITreeNode, useGetTreeData} from './useGetTreeData';\nimport {ErrorDisplay} from '_ui/components/ErrorDisplay';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useTreesSearch} from './useTreesSearch';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {EmptyValueCheckbox} from '../../shared/EmptyValueCheckbox';\nimport {SelectAllCheckbox} from '../../shared/SelectAllCheckbox';\nimport {buildFlattenTree} from './utils/buildFlattenTreeMap';\nimport {getSelectAllState} from './utils/getSelectAllState';\nimport {filterTreeByPermission} from './utils/filterTreeByPermission';\n\nconst ScrollableContent = styled.div`\n max-height: 182px; /* Equal to 5.5 nodes of KitTree */\n overflow-y: auto;\n overflow-x: hidden;\n width: 100%;\n`;\n\nconst FilteredTreeTitle = styled(KitTypography.Text)`\n color: var(--general-colors-neutral-grey-500);\n`;\n\nconst FilteredTreeSpacer = styled(KitSpace)`\n width: 100%;\n`;\n\nconst DropdownContentWrapper = styled(KitSpace)`\n width: 327px;\n justify-content: center;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n}) => {\n const {t} = useSharedTranslation();\n const {filtersData} = useFiltersContext();\n const {treeData, isLoading, error} = useGetTreeData({\n treeId: filter.attribute.linkedTree?.id ?? '',\n attributeId: filter.attribute.id,\n libraryId: filtersData.libraryId,\n });\n\n // Split treeData based on accessRecordByDefaultPermission\n const visibleByDefaultTree = useMemo(() => filterTreeByPermission(treeData, true), [treeData]);\n const hiddenByDefaultTree = useMemo(() => filterTreeByPermission(treeData, false), [treeData]);\n\n const {filteredVisibleByDefaultTree, filteredHiddenByDefaultTree, expandedNodeIdsFromSearch, SearchInput} =\n useTreesSearch(visibleByDefaultTree, hiddenByDefaultTree);\n\n const [expandedNodeIdsFromUser, setExpandedNodeIdsFromUser] = useState<Key[]>([]);\n\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n const areBothTreesFilled = visibleByDefaultTree.length > 0 && hiddenByDefaultTree.length > 0;\n\n // Build flatten trees to optimize the search and selection of nodes in handling functions\n const flattenTreeData = useMemo(() => buildFlattenTree(treeData), [treeData]);\n const flattenVisibleByDefaultTree = useMemo(() => buildFlattenTree(visibleByDefaultTree), [visibleByDefaultTree]);\n const flattenHiddenByDefaultTree = useMemo(() => buildFlattenTree(hiddenByDefaultTree), [hiddenByDefaultTree]);\n\n const _handleOnSelectEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleOnSelect = (node: ITreeNode, selected: boolean) => {\n let newSelectedIds: string[];\n\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({nodeId: selectedNode.id, libraryId: selectedNode.libraryId})),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAll = (treeToSelect: Map<string, ITreeNode>, isSelected: boolean) => {\n const treeNodeIds = Array.from(treeToSelect.keys());\n\n // Using Set to avoid duplicates\n const newSelectedIds = isSelected\n ? [...new Set([...selectedNodesIds, ...treeNodeIds])]\n : selectedNodesIds.filter(id => !treeNodeIds.includes(id));\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({\n nodeId: selectedNode.id,\n libraryId: selectedNode.libraryId,\n })),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAllVisibleByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenVisibleByDefaultTree, isSelected);\n\n const _handleOnSelectAllHiddenByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenHiddenByDefaultTree, isSelected);\n\n const {allSelected: allVisibleSelected, indeterminate: visibleIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenVisibleByDefaultTree,\n );\n\n const {allSelected: allHiddenSelected, indeterminate: hiddenIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenHiddenByDefaultTree,\n );\n\n const treeCommonProps: ComponentProps<typeof KitTree> = {\n selectedKeys: selectedNodesIds,\n checkedKeys: selectedNodesIds,\n defaultExpandedKeys: selectedNodesIds,\n expandedKeys: [...selectedNodesIds, ...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],\n autoExpandParent: true,\n checkable: true,\n checkStrictly: true,\n multiple: true,\n onExpand: expandedKeys => {\n setExpandedNodeIdsFromUser(expandedKeys);\n },\n onCheck: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.checked);\n },\n onSelect: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.selected);\n },\n };\n\n if (isLoading) {\n return (\n <DropdownContentWrapper>\n <KitLoader />\n </DropdownContentWrapper>\n );\n }\n\n if (error) {\n return (\n <DropdownContentWrapper>\n <ErrorDisplay message={error.message} />\n </DropdownContentWrapper>\n );\n }\n\n return (\n <DropdownContentWrapper direction=\"vertical\" size=\"xs\">\n {SearchInput}\n {areBothTreesFilled ? (\n <>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.visible-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allVisibleSelected}\n indeterminate={visibleIndeterminate}\n onChange={_handleOnSelectAllVisibleByDefault}\n />\n <KitTree treeData={filteredVisibleByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n <KitDivider noMargin />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.hidden-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allHiddenSelected}\n indeterminate={hiddenIndeterminate}\n onChange={_handleOnSelectAllHiddenByDefault}\n />\n <KitTree treeData={filteredHiddenByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n </>\n ) : (\n <ScrollableContent>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <SelectAllCheckbox\n checked={visibleByDefaultTree.length > 0 ? allVisibleSelected : allHiddenSelected}\n indeterminate={visibleByDefaultTree.length > 0 ? visibleIndeterminate : hiddenIndeterminate}\n onChange={\n visibleByDefaultTree.length > 0\n ? _handleOnSelectAllVisibleByDefault\n : _handleOnSelectAllHiddenByDefault\n }\n />\n <KitTree\n treeData={\n visibleByDefaultTree.length > 0 ? filteredVisibleByDefaultTree : filteredHiddenByDefaultTree\n }\n {...treeCommonProps}\n />\n </ScrollableContent>\n )}\n </DropdownContentWrapper>\n );\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates recursive GraphQL for tree node children.
3
+ * Used to fetch nested children up to the specified depth.
4
+ */
5
+ export declare const filterTreeNodeChildren: (depth?: number) => string;
6
+ export declare const filterTreeDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;
@@ -0,0 +1,54 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { gql } from '@apollo/client';
5
+ const DEFAULT_DEPTH_TREE_NODES = 10;
6
+ /**
7
+ * Generates recursive GraphQL for tree node children.
8
+ * Used to fetch nested children up to the specified depth.
9
+ */
10
+ export const filterTreeNodeChildren = (depth = 0) => `
11
+ children {
12
+ id
13
+ record {
14
+ id
15
+ whoAmI {
16
+ id
17
+ label
18
+ library {
19
+ id
20
+ }
21
+ }
22
+ }
23
+ ${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}
24
+ accessRecordByDefaultPermission
25
+ }
26
+ `;
27
+ export const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql `
28
+ query FilterTreeDataQuery(
29
+ $treeId: ID!
30
+ $startAt: ID
31
+ $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput
32
+ ) {
33
+ treeContent(
34
+ treeId: $treeId
35
+ startAt: $startAt
36
+ accessRecordByDefaultPermission: $accessRecordByDefaultPermission
37
+ ) {
38
+ id
39
+ record {
40
+ id
41
+ whoAmI {
42
+ id
43
+ label
44
+ library {
45
+ id
46
+ }
47
+ }
48
+ }
49
+ ${filterTreeNodeChildren(depthTreeNodes - 1)}
50
+ accessRecordByDefaultPermission
51
+ }
52
+ }
53
+ `;
54
+ //# sourceMappingURL=filterTreeDataQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterTreeDataQuery.js","sourceRoot":"","sources":["../../../../../../../src/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;UAa3C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;;CAG3D,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,GAAG,wBAAwB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;cAsBvE,sBAAsB,CAAC,cAAc,GAAG,CAAC,CAAC;;;;CAIvD,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {gql} from '@apollo/client';\n\nconst DEFAULT_DEPTH_TREE_NODES = 10;\n\n/**\n * Generates recursive GraphQL for tree node children.\n * Used to fetch nested children up to the specified depth.\n */\nexport const filterTreeNodeChildren = (depth = 0) => `\n children {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}\n accessRecordByDefaultPermission\n }\n`;\n\nexport const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql`\n query FilterTreeDataQuery(\n $treeId: ID!\n $startAt: ID\n $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput\n ) {\n treeContent(\n treeId: $treeId\n startAt: $startAt\n accessRecordByDefaultPermission: $accessRecordByDefaultPermission\n ) {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${filterTreeNodeChildren(depthTreeNodes - 1)}\n accessRecordByDefaultPermission\n }\n }\n`;\n"]}