analytica-frontend-lib 1.2.54 → 1.2.55

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 (50) hide show
  1. package/dist/ActivitiesHistory/index.js +108 -42
  2. package/dist/ActivitiesHistory/index.js.map +1 -1
  3. package/dist/ActivitiesHistory/index.mjs +108 -42
  4. package/dist/ActivitiesHistory/index.mjs.map +1 -1
  5. package/dist/ActivityDetails/index.js +108 -42
  6. package/dist/ActivityDetails/index.js.map +1 -1
  7. package/dist/ActivityDetails/index.mjs +108 -42
  8. package/dist/ActivityDetails/index.mjs.map +1 -1
  9. package/dist/ActivityFilters/index.js +110 -42
  10. package/dist/ActivityFilters/index.js.map +1 -1
  11. package/dist/ActivityFilters/index.mjs +110 -42
  12. package/dist/ActivityFilters/index.mjs.map +1 -1
  13. package/dist/AlertManager/index.js +110 -42
  14. package/dist/AlertManager/index.js.map +1 -1
  15. package/dist/AlertManager/index.mjs +110 -42
  16. package/dist/AlertManager/index.mjs.map +1 -1
  17. package/dist/RecommendedLessonsHistory/index.js +108 -42
  18. package/dist/RecommendedLessonsHistory/index.js.map +1 -1
  19. package/dist/RecommendedLessonsHistory/index.mjs +108 -42
  20. package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
  21. package/dist/SendActivityModal/SendActivityModal.js +124 -46
  22. package/dist/SendActivityModal/SendActivityModal.js.map +1 -1
  23. package/dist/SendActivityModal/SendActivityModal.mjs +124 -46
  24. package/dist/SendActivityModal/SendActivityModal.mjs.map +1 -1
  25. package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts.map +1 -1
  26. package/dist/SendActivityModal/hooks/useSendActivityModal.js +16 -4
  27. package/dist/SendActivityModal/hooks/useSendActivityModal.js.map +1 -1
  28. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs +16 -4
  29. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs.map +1 -1
  30. package/dist/SendActivityModal/index.js +124 -46
  31. package/dist/SendActivityModal/index.js.map +1 -1
  32. package/dist/SendActivityModal/index.mjs +124 -46
  33. package/dist/SendActivityModal/index.mjs.map +1 -1
  34. package/dist/SendActivityModal/validation.js +1 -1
  35. package/dist/SendActivityModal/validation.js.map +1 -1
  36. package/dist/SendActivityModal/validation.mjs +1 -1
  37. package/dist/SendActivityModal/validation.mjs.map +1 -1
  38. package/dist/TableProvider/index.js +108 -42
  39. package/dist/TableProvider/index.js.map +1 -1
  40. package/dist/TableProvider/index.mjs +108 -42
  41. package/dist/TableProvider/index.mjs.map +1 -1
  42. package/dist/hooks/useActivityModels/index.d.ts +6 -6
  43. package/dist/hooks/useActivityModels.d.ts +6 -6
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +180 -59
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +178 -59
  49. package/dist/index.mjs.map +1 -1
  50. package/package.json +1 -1
@@ -5769,6 +5769,87 @@ var createUseActivityModels = (fetchActivityModels, deleteActivityModel) => {
5769
5769
  };
5770
5770
  };
5771
5771
 
5772
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
5773
+ var areSelectedIdsEqual = (ids1, ids2) => {
5774
+ if (ids1 === ids2) return true;
5775
+ if (!ids1 || !ids2) return ids1 === ids2;
5776
+ if (ids1.length !== ids2.length) return false;
5777
+ for (let i = 0; i < ids1.length; i++) {
5778
+ if (ids1[i] !== ids2[i]) return false;
5779
+ }
5780
+ return true;
5781
+ };
5782
+ var isCategoryEnabled = (category, allCategories) => {
5783
+ if (!category.dependsOn || category.dependsOn.length === 0) {
5784
+ return true;
5785
+ }
5786
+ return category.dependsOn.every((depKey) => {
5787
+ const depCat = allCategories.find((c) => c.key === depKey);
5788
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
5789
+ });
5790
+ };
5791
+ var isItemMatchingFilter = (item, filter, allCategories) => {
5792
+ const parentCat = allCategories.find((c) => c.key === filter.key);
5793
+ const parentSelectedIds = parentCat?.selectedIds || [];
5794
+ const itemFieldValue = item[filter.internalField];
5795
+ return parentSelectedIds.includes(String(itemFieldValue));
5796
+ };
5797
+ var getBadgeText = (category, formattedItems) => {
5798
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
5799
+ const selectedVisibleCount = visibleIds.filter(
5800
+ (id) => category.selectedIds?.includes(id)
5801
+ ).length;
5802
+ const totalVisible = visibleIds.length;
5803
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5804
+ };
5805
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
5806
+ if (typeof value !== "string") {
5807
+ if (!value) {
5808
+ return "";
5809
+ }
5810
+ return null;
5811
+ }
5812
+ if (!value) {
5813
+ return "";
5814
+ }
5815
+ const category = categories.find((c) => c.key === value);
5816
+ if (!category) {
5817
+ return null;
5818
+ }
5819
+ const isEnabled = isCategoryEnabledFn(category);
5820
+ if (!isEnabled) {
5821
+ return null;
5822
+ }
5823
+ return value;
5824
+ };
5825
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
5826
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
5827
+ return category?.itens || [];
5828
+ }
5829
+ const isEnabled = isCategoryEnabled(category, allCategories);
5830
+ if (!isEnabled) {
5831
+ return [];
5832
+ }
5833
+ const filters = category.filteredBy || [];
5834
+ if (filters.length === 0) {
5835
+ return category?.itens || [];
5836
+ }
5837
+ const selectedIdsArr = filters.map((f) => {
5838
+ const parentCat = allCategories.find((c) => c.key === f.key);
5839
+ if (!parentCat?.selectedIds?.length) {
5840
+ return [];
5841
+ }
5842
+ return parentCat.selectedIds;
5843
+ });
5844
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
5845
+ return [];
5846
+ }
5847
+ const filteredItems = (category.itens || []).filter(
5848
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
5849
+ );
5850
+ return filteredItems;
5851
+ };
5852
+
5772
5853
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
5773
5854
  import { jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
5774
5855
  var CheckboxGroup = ({
@@ -5785,21 +5866,16 @@ var CheckboxGroup = ({
5785
5866
  useEffect13(() => {
5786
5867
  onCategoriesChangeRef.current = onCategoriesChange;
5787
5868
  }, [onCategoriesChange]);
5788
- const areSelectedIdsEqual = (ids1, ids2) => {
5789
- if (ids1 === ids2) return true;
5790
- if (!ids1 || !ids2) return ids1 === ids2;
5791
- if (ids1.length !== ids2.length) return false;
5792
- for (let i = 0; i < ids1.length; i++) {
5793
- if (ids1[i] !== ids2[i]) return false;
5794
- }
5795
- return true;
5796
- };
5797
5869
  const categoriesWithAutoSelection = useMemo4(() => {
5798
5870
  return categories.map((category) => {
5799
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5871
+ const filteredItems = calculateFormattedItemsForAutoSelection(
5872
+ category,
5873
+ categories
5874
+ );
5875
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5800
5876
  return {
5801
5877
  ...category,
5802
- selectedIds: [category.itens[0].id]
5878
+ selectedIds: [filteredItems[0].id]
5803
5879
  };
5804
5880
  }
5805
5881
  return category;
@@ -5934,6 +6010,23 @@ var CheckboxGroup = ({
5934
6010
  const getFormattedItems = (categoryKey) => {
5935
6011
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
5936
6012
  };
6013
+ const getBadgeText2 = (category) => {
6014
+ const formattedItems = getFormattedItems(category.key);
6015
+ return getBadgeText(category, formattedItems);
6016
+ };
6017
+ const isCategoryEnabled2 = (category) => {
6018
+ return isCategoryEnabled(category, categories);
6019
+ };
6020
+ const handleAccordionValueChange2 = (value) => {
6021
+ const newValue = handleAccordionValueChange(
6022
+ value,
6023
+ categories,
6024
+ isCategoryEnabled2
6025
+ );
6026
+ if (newValue !== null) {
6027
+ setOpenAccordion(newValue);
6028
+ }
6029
+ };
5937
6030
  const getDependentCategories = (categoryKey) => {
5938
6031
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
5939
6032
  };
@@ -6126,14 +6219,7 @@ var CheckboxGroup = ({
6126
6219
  }
6127
6220
  )
6128
6221
  ] }),
6129
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx33(Badge_default, { variant: "solid", action: "info", children: (() => {
6130
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
6131
- const selectedVisibleCount = visibleIds.filter(
6132
- (id) => category.selectedIds?.includes(id)
6133
- ).length;
6134
- const totalVisible = visibleIds.length;
6135
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
6136
- })() })
6222
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx33(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
6137
6223
  ] });
6138
6224
  const renderCompactSingleItem = (category) => {
6139
6225
  const formattedItems = getFormattedItems(category.key);
@@ -6155,10 +6241,7 @@ var CheckboxGroup = ({
6155
6241
  );
6156
6242
  };
6157
6243
  const renderCategoryAccordion = (category) => {
6158
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6159
- const depCat = categories.find((c) => c.key === depKey);
6160
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6161
- });
6244
+ const isEnabled = isCategoryEnabled2(category);
6162
6245
  const hasOnlyOneItem = category.itens?.length === 1;
6163
6246
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
6164
6247
  return null;
@@ -6198,10 +6281,7 @@ var CheckboxGroup = ({
6198
6281
  if (!openAccordion) return;
6199
6282
  const category = categories.find((c) => c.key === openAccordion);
6200
6283
  if (!category) return;
6201
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6202
- const depCat = categories.find((c) => c.key === depKey);
6203
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6204
- });
6284
+ const isEnabled = isCategoryEnabled2(category);
6205
6285
  if (!isEnabled) {
6206
6286
  setTimeout(() => {
6207
6287
  setOpenAccordion("");
@@ -6214,21 +6294,7 @@ var CheckboxGroup = ({
6214
6294
  type: "single",
6215
6295
  collapsible: true,
6216
6296
  value: openAccordion,
6217
- onValueChange: (value) => {
6218
- if (typeof value === "string") {
6219
- if (value) {
6220
- const category = categories.find((c) => c.key === value);
6221
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
6222
- const depCat = categories.find((c) => c.key === depKey);
6223
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6224
- });
6225
- if (!isEnabled) {
6226
- return;
6227
- }
6228
- }
6229
- setOpenAccordion(value);
6230
- }
6231
- },
6297
+ onValueChange: handleAccordionValueChange2,
6232
6298
  children: categories.map(renderCategoryAccordion)
6233
6299
  }
6234
6300
  );