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
@@ -6101,6 +6101,87 @@ var getSubjectInfo = (subject) => {
6101
6101
  };
6102
6102
  };
6103
6103
 
6104
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
6105
+ var areSelectedIdsEqual = (ids1, ids2) => {
6106
+ if (ids1 === ids2) return true;
6107
+ if (!ids1 || !ids2) return ids1 === ids2;
6108
+ if (ids1.length !== ids2.length) return false;
6109
+ for (let i = 0; i < ids1.length; i++) {
6110
+ if (ids1[i] !== ids2[i]) return false;
6111
+ }
6112
+ return true;
6113
+ };
6114
+ var isCategoryEnabled = (category, allCategories) => {
6115
+ if (!category.dependsOn || category.dependsOn.length === 0) {
6116
+ return true;
6117
+ }
6118
+ return category.dependsOn.every((depKey) => {
6119
+ const depCat = allCategories.find((c) => c.key === depKey);
6120
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
6121
+ });
6122
+ };
6123
+ var isItemMatchingFilter = (item, filter, allCategories) => {
6124
+ const parentCat = allCategories.find((c) => c.key === filter.key);
6125
+ const parentSelectedIds = parentCat?.selectedIds || [];
6126
+ const itemFieldValue = item[filter.internalField];
6127
+ return parentSelectedIds.includes(String(itemFieldValue));
6128
+ };
6129
+ var getBadgeText = (category, formattedItems) => {
6130
+ const visibleIds = formattedItems.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
+ };
6137
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
6138
+ if (typeof value !== "string") {
6139
+ if (!value) {
6140
+ return "";
6141
+ }
6142
+ return null;
6143
+ }
6144
+ if (!value) {
6145
+ return "";
6146
+ }
6147
+ const category = categories.find((c) => c.key === value);
6148
+ if (!category) {
6149
+ return null;
6150
+ }
6151
+ const isEnabled = isCategoryEnabledFn(category);
6152
+ if (!isEnabled) {
6153
+ return null;
6154
+ }
6155
+ return value;
6156
+ };
6157
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
6158
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
6159
+ return category?.itens || [];
6160
+ }
6161
+ const isEnabled = isCategoryEnabled(category, allCategories);
6162
+ if (!isEnabled) {
6163
+ return [];
6164
+ }
6165
+ const filters = category.filteredBy || [];
6166
+ if (filters.length === 0) {
6167
+ return category?.itens || [];
6168
+ }
6169
+ const selectedIdsArr = filters.map((f) => {
6170
+ const parentCat = allCategories.find((c) => c.key === f.key);
6171
+ if (!parentCat?.selectedIds?.length) {
6172
+ return [];
6173
+ }
6174
+ return parentCat.selectedIds;
6175
+ });
6176
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
6177
+ return [];
6178
+ }
6179
+ const filteredItems = (category.itens || []).filter(
6180
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
6181
+ );
6182
+ return filteredItems;
6183
+ };
6184
+
6104
6185
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
6105
6186
  var import_jsx_runtime32 = require("react/jsx-runtime");
6106
6187
  var CheckboxGroup = ({
@@ -6117,21 +6198,16 @@ var CheckboxGroup = ({
6117
6198
  (0, import_react20.useEffect)(() => {
6118
6199
  onCategoriesChangeRef.current = onCategoriesChange;
6119
6200
  }, [onCategoriesChange]);
6120
- const areSelectedIdsEqual = (ids1, ids2) => {
6121
- if (ids1 === ids2) return true;
6122
- if (!ids1 || !ids2) return ids1 === ids2;
6123
- if (ids1.length !== ids2.length) return false;
6124
- for (let i = 0; i < ids1.length; i++) {
6125
- if (ids1[i] !== ids2[i]) return false;
6126
- }
6127
- return true;
6128
- };
6129
6201
  const categoriesWithAutoSelection = (0, import_react20.useMemo)(() => {
6130
6202
  return categories.map((category) => {
6131
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
6203
+ const filteredItems = calculateFormattedItemsForAutoSelection(
6204
+ category,
6205
+ categories
6206
+ );
6207
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
6132
6208
  return {
6133
6209
  ...category,
6134
- selectedIds: [category.itens[0].id]
6210
+ selectedIds: [filteredItems[0].id]
6135
6211
  };
6136
6212
  }
6137
6213
  return category;
@@ -6266,6 +6342,23 @@ var CheckboxGroup = ({
6266
6342
  const getFormattedItems = (categoryKey) => {
6267
6343
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
6268
6344
  };
6345
+ const getBadgeText2 = (category) => {
6346
+ const formattedItems = getFormattedItems(category.key);
6347
+ return getBadgeText(category, formattedItems);
6348
+ };
6349
+ const isCategoryEnabled2 = (category) => {
6350
+ return isCategoryEnabled(category, categories);
6351
+ };
6352
+ const handleAccordionValueChange2 = (value) => {
6353
+ const newValue = handleAccordionValueChange(
6354
+ value,
6355
+ categories,
6356
+ isCategoryEnabled2
6357
+ );
6358
+ if (newValue !== null) {
6359
+ setOpenAccordion(newValue);
6360
+ }
6361
+ };
6269
6362
  const getDependentCategories = (categoryKey) => {
6270
6363
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
6271
6364
  };
@@ -6458,14 +6551,7 @@ var CheckboxGroup = ({
6458
6551
  }
6459
6552
  )
6460
6553
  ] }),
6461
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
6462
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
6463
- const selectedVisibleCount = visibleIds.filter(
6464
- (id) => category.selectedIds?.includes(id)
6465
- ).length;
6466
- const totalVisible = visibleIds.length;
6467
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
6468
- })() })
6554
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
6469
6555
  ] });
6470
6556
  const renderCompactSingleItem = (category) => {
6471
6557
  const formattedItems = getFormattedItems(category.key);
@@ -6487,10 +6573,7 @@ var CheckboxGroup = ({
6487
6573
  );
6488
6574
  };
6489
6575
  const renderCategoryAccordion = (category) => {
6490
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6491
- const depCat = categories.find((c) => c.key === depKey);
6492
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6493
- });
6576
+ const isEnabled = isCategoryEnabled2(category);
6494
6577
  const hasOnlyOneItem = category.itens?.length === 1;
6495
6578
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
6496
6579
  return null;
@@ -6530,10 +6613,7 @@ var CheckboxGroup = ({
6530
6613
  if (!openAccordion) return;
6531
6614
  const category = categories.find((c) => c.key === openAccordion);
6532
6615
  if (!category) return;
6533
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6534
- const depCat = categories.find((c) => c.key === depKey);
6535
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6536
- });
6616
+ const isEnabled = isCategoryEnabled2(category);
6537
6617
  if (!isEnabled) {
6538
6618
  setTimeout(() => {
6539
6619
  setOpenAccordion("");
@@ -6546,21 +6626,7 @@ var CheckboxGroup = ({
6546
6626
  type: "single",
6547
6627
  collapsible: true,
6548
6628
  value: openAccordion,
6549
- onValueChange: (value) => {
6550
- if (typeof value === "string") {
6551
- if (value) {
6552
- const category = categories.find((c) => c.key === value);
6553
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
6554
- const depCat = categories.find((c) => c.key === depKey);
6555
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6556
- });
6557
- if (!isEnabled) {
6558
- return;
6559
- }
6560
- }
6561
- setOpenAccordion(value);
6562
- }
6563
- },
6629
+ onValueChange: handleAccordionValueChange2,
6564
6630
  children: categories.map(renderCategoryAccordion)
6565
6631
  }
6566
6632
  );