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
@@ -5726,6 +5726,87 @@ var createUseActivityModels = (fetchActivityModels, deleteActivityModel) => {
5726
5726
  };
5727
5727
  };
5728
5728
 
5729
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
5730
+ var areSelectedIdsEqual = (ids1, ids2) => {
5731
+ if (ids1 === ids2) return true;
5732
+ if (!ids1 || !ids2) return ids1 === ids2;
5733
+ if (ids1.length !== ids2.length) return false;
5734
+ for (let i = 0; i < ids1.length; i++) {
5735
+ if (ids1[i] !== ids2[i]) return false;
5736
+ }
5737
+ return true;
5738
+ };
5739
+ var isCategoryEnabled = (category, allCategories) => {
5740
+ if (!category.dependsOn || category.dependsOn.length === 0) {
5741
+ return true;
5742
+ }
5743
+ return category.dependsOn.every((depKey) => {
5744
+ const depCat = allCategories.find((c) => c.key === depKey);
5745
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
5746
+ });
5747
+ };
5748
+ var isItemMatchingFilter = (item, filter, allCategories) => {
5749
+ const parentCat = allCategories.find((c) => c.key === filter.key);
5750
+ const parentSelectedIds = parentCat?.selectedIds || [];
5751
+ const itemFieldValue = item[filter.internalField];
5752
+ return parentSelectedIds.includes(String(itemFieldValue));
5753
+ };
5754
+ var getBadgeText = (category, formattedItems) => {
5755
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
5756
+ const selectedVisibleCount = visibleIds.filter(
5757
+ (id) => category.selectedIds?.includes(id)
5758
+ ).length;
5759
+ const totalVisible = visibleIds.length;
5760
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5761
+ };
5762
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
5763
+ if (typeof value !== "string") {
5764
+ if (!value) {
5765
+ return "";
5766
+ }
5767
+ return null;
5768
+ }
5769
+ if (!value) {
5770
+ return "";
5771
+ }
5772
+ const category = categories.find((c) => c.key === value);
5773
+ if (!category) {
5774
+ return null;
5775
+ }
5776
+ const isEnabled = isCategoryEnabledFn(category);
5777
+ if (!isEnabled) {
5778
+ return null;
5779
+ }
5780
+ return value;
5781
+ };
5782
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
5783
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
5784
+ return category?.itens || [];
5785
+ }
5786
+ const isEnabled = isCategoryEnabled(category, allCategories);
5787
+ if (!isEnabled) {
5788
+ return [];
5789
+ }
5790
+ const filters = category.filteredBy || [];
5791
+ if (filters.length === 0) {
5792
+ return category?.itens || [];
5793
+ }
5794
+ const selectedIdsArr = filters.map((f) => {
5795
+ const parentCat = allCategories.find((c) => c.key === f.key);
5796
+ if (!parentCat?.selectedIds?.length) {
5797
+ return [];
5798
+ }
5799
+ return parentCat.selectedIds;
5800
+ });
5801
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
5802
+ return [];
5803
+ }
5804
+ const filteredItems = (category.itens || []).filter(
5805
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
5806
+ );
5807
+ return filteredItems;
5808
+ };
5809
+
5729
5810
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
5730
5811
  var import_jsx_runtime33 = require("react/jsx-runtime");
5731
5812
  var CheckboxGroup = ({
@@ -5742,21 +5823,16 @@ var CheckboxGroup = ({
5742
5823
  (0, import_react20.useEffect)(() => {
5743
5824
  onCategoriesChangeRef.current = onCategoriesChange;
5744
5825
  }, [onCategoriesChange]);
5745
- const areSelectedIdsEqual = (ids1, ids2) => {
5746
- if (ids1 === ids2) return true;
5747
- if (!ids1 || !ids2) return ids1 === ids2;
5748
- if (ids1.length !== ids2.length) return false;
5749
- for (let i = 0; i < ids1.length; i++) {
5750
- if (ids1[i] !== ids2[i]) return false;
5751
- }
5752
- return true;
5753
- };
5754
5826
  const categoriesWithAutoSelection = (0, import_react20.useMemo)(() => {
5755
5827
  return categories.map((category) => {
5756
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5828
+ const filteredItems = calculateFormattedItemsForAutoSelection(
5829
+ category,
5830
+ categories
5831
+ );
5832
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5757
5833
  return {
5758
5834
  ...category,
5759
- selectedIds: [category.itens[0].id]
5835
+ selectedIds: [filteredItems[0].id]
5760
5836
  };
5761
5837
  }
5762
5838
  return category;
@@ -5891,6 +5967,23 @@ var CheckboxGroup = ({
5891
5967
  const getFormattedItems = (categoryKey) => {
5892
5968
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
5893
5969
  };
5970
+ const getBadgeText2 = (category) => {
5971
+ const formattedItems = getFormattedItems(category.key);
5972
+ return getBadgeText(category, formattedItems);
5973
+ };
5974
+ const isCategoryEnabled2 = (category) => {
5975
+ return isCategoryEnabled(category, categories);
5976
+ };
5977
+ const handleAccordionValueChange2 = (value) => {
5978
+ const newValue = handleAccordionValueChange(
5979
+ value,
5980
+ categories,
5981
+ isCategoryEnabled2
5982
+ );
5983
+ if (newValue !== null) {
5984
+ setOpenAccordion(newValue);
5985
+ }
5986
+ };
5894
5987
  const getDependentCategories = (categoryKey) => {
5895
5988
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
5896
5989
  };
@@ -6083,14 +6176,7 @@ var CheckboxGroup = ({
6083
6176
  }
6084
6177
  )
6085
6178
  ] }),
6086
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
6087
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
6088
- const selectedVisibleCount = visibleIds.filter(
6089
- (id) => category.selectedIds?.includes(id)
6090
- ).length;
6091
- const totalVisible = visibleIds.length;
6092
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
6093
- })() })
6179
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
6094
6180
  ] });
6095
6181
  const renderCompactSingleItem = (category) => {
6096
6182
  const formattedItems = getFormattedItems(category.key);
@@ -6112,10 +6198,7 @@ var CheckboxGroup = ({
6112
6198
  );
6113
6199
  };
6114
6200
  const renderCategoryAccordion = (category) => {
6115
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6116
- const depCat = categories.find((c) => c.key === depKey);
6117
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6118
- });
6201
+ const isEnabled = isCategoryEnabled2(category);
6119
6202
  const hasOnlyOneItem = category.itens?.length === 1;
6120
6203
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
6121
6204
  return null;
@@ -6155,10 +6238,7 @@ var CheckboxGroup = ({
6155
6238
  if (!openAccordion) return;
6156
6239
  const category = categories.find((c) => c.key === openAccordion);
6157
6240
  if (!category) return;
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
- });
6241
+ const isEnabled = isCategoryEnabled2(category);
6162
6242
  if (!isEnabled) {
6163
6243
  setTimeout(() => {
6164
6244
  setOpenAccordion("");
@@ -6171,21 +6251,7 @@ var CheckboxGroup = ({
6171
6251
  type: "single",
6172
6252
  collapsible: true,
6173
6253
  value: openAccordion,
6174
- onValueChange: (value) => {
6175
- if (typeof value === "string") {
6176
- if (value) {
6177
- const category = categories.find((c) => c.key === value);
6178
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
6179
- const depCat = categories.find((c) => c.key === depKey);
6180
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6181
- });
6182
- if (!isEnabled) {
6183
- return;
6184
- }
6185
- }
6186
- setOpenAccordion(value);
6187
- }
6188
- },
6254
+ onValueChange: handleAccordionValueChange2,
6189
6255
  children: categories.map(renderCategoryAccordion)
6190
6256
  }
6191
6257
  );