analytica-frontend-lib 1.2.38 → 1.2.44

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 (96) hide show
  1. package/dist/Accordation/index.d.ts +4 -0
  2. package/dist/Accordation/index.d.ts.map +1 -1
  3. package/dist/Accordation/index.js +5 -2
  4. package/dist/Accordation/index.js.map +1 -1
  5. package/dist/Accordation/index.mjs +5 -2
  6. package/dist/Accordation/index.mjs.map +1 -1
  7. package/dist/ActivityCardQuestionBanks/index.css +24 -10
  8. package/dist/ActivityCardQuestionBanks/index.css.map +1 -1
  9. package/dist/ActivityCardQuestionBanks/index.d.ts.map +1 -1
  10. package/dist/ActivityCardQuestionBanks/index.js +8 -6
  11. package/dist/ActivityCardQuestionBanks/index.js.map +1 -1
  12. package/dist/ActivityCardQuestionBanks/index.mjs +8 -6
  13. package/dist/ActivityCardQuestionBanks/index.mjs.map +1 -1
  14. package/dist/ActivityCardQuestionPreview/index.css +19307 -0
  15. package/dist/ActivityCardQuestionPreview/index.css.map +1 -0
  16. package/dist/ActivityCardQuestionPreview/index.d.ts +29 -0
  17. package/dist/ActivityCardQuestionPreview/index.d.ts.map +1 -0
  18. package/dist/ActivityCardQuestionPreview/index.js +3684 -0
  19. package/dist/ActivityCardQuestionPreview/index.js.map +1 -0
  20. package/dist/ActivityCardQuestionPreview/index.mjs +3692 -0
  21. package/dist/ActivityCardQuestionPreview/index.mjs.map +1 -0
  22. package/dist/ActivityDetails/index.css +24 -10
  23. package/dist/ActivityDetails/index.css.map +1 -1
  24. package/dist/ActivityDetails/index.js +83 -31
  25. package/dist/ActivityDetails/index.js.map +1 -1
  26. package/dist/ActivityDetails/index.mjs +84 -31
  27. package/dist/ActivityDetails/index.mjs.map +1 -1
  28. package/dist/ActivityFilters/index.css +24 -10
  29. package/dist/ActivityFilters/index.css.map +1 -1
  30. package/dist/ActivityFilters/index.js +83 -31
  31. package/dist/ActivityFilters/index.js.map +1 -1
  32. package/dist/ActivityFilters/index.mjs +84 -31
  33. package/dist/ActivityFilters/index.mjs.map +1 -1
  34. package/dist/ActivityPreview/index.css +19307 -0
  35. package/dist/ActivityPreview/index.css.map +1 -0
  36. package/dist/ActivityPreview/index.d.ts +34 -0
  37. package/dist/ActivityPreview/index.d.ts.map +1 -0
  38. package/dist/ActivityPreview/index.js +4458 -0
  39. package/dist/ActivityPreview/index.js.map +1 -0
  40. package/dist/ActivityPreview/index.mjs +4468 -0
  41. package/dist/ActivityPreview/index.mjs.map +1 -0
  42. package/dist/AlertManager/index.css +24 -10
  43. package/dist/AlertManager/index.css.map +1 -1
  44. package/dist/AlertManager/index.js +500 -389
  45. package/dist/AlertManager/index.js.map +1 -1
  46. package/dist/AlertManager/index.mjs +466 -354
  47. package/dist/AlertManager/index.mjs.map +1 -1
  48. package/dist/CorrectActivityModal/index.js +5 -2
  49. package/dist/CorrectActivityModal/index.js.map +1 -1
  50. package/dist/CorrectActivityModal/index.mjs +5 -2
  51. package/dist/CorrectActivityModal/index.mjs.map +1 -1
  52. package/dist/DropdownMenu/index.d.ts +7 -8
  53. package/dist/DropdownMenu/index.d.ts.map +1 -1
  54. package/dist/DropdownMenu/index.js +78 -29
  55. package/dist/DropdownMenu/index.js.map +1 -1
  56. package/dist/DropdownMenu/index.mjs +79 -29
  57. package/dist/DropdownMenu/index.mjs.map +1 -1
  58. package/dist/NotificationCard/index.js +78 -29
  59. package/dist/NotificationCard/index.js.map +1 -1
  60. package/dist/NotificationCard/index.mjs +79 -29
  61. package/dist/NotificationCard/index.mjs.map +1 -1
  62. package/dist/Search/index.js +78 -29
  63. package/dist/Search/index.js.map +1 -1
  64. package/dist/Search/index.mjs +79 -29
  65. package/dist/Search/index.mjs.map +1 -1
  66. package/dist/SendActivityModal/index.css +19307 -0
  67. package/dist/SendActivityModal/index.css.map +1 -0
  68. package/dist/SendActivityModal/index.d.ts +5 -0
  69. package/dist/SendActivityModal/index.d.ts.map +1 -0
  70. package/dist/SendActivityModal/index.js +6471 -0
  71. package/dist/SendActivityModal/index.js.map +1 -0
  72. package/dist/SendActivityModal/index.mjs +6493 -0
  73. package/dist/SendActivityModal/index.mjs.map +1 -0
  74. package/dist/TableProvider/index.css +24 -10
  75. package/dist/TableProvider/index.css.map +1 -1
  76. package/dist/TableProvider/index.js +83 -31
  77. package/dist/TableProvider/index.js.map +1 -1
  78. package/dist/TableProvider/index.mjs +84 -31
  79. package/dist/TableProvider/index.mjs.map +1 -1
  80. package/dist/index.css +24 -10
  81. package/dist/index.css.map +1 -1
  82. package/dist/index.d.ts +16 -3
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +3183 -1502
  85. package/dist/index.js.map +1 -1
  86. package/dist/index.mjs +2963 -1294
  87. package/dist/index.mjs.map +1 -1
  88. package/dist/styles.css +24 -10
  89. package/dist/styles.css.map +1 -1
  90. package/dist/types/activityDetails.d.ts +10 -0
  91. package/dist/types/activityDetails.d.ts.map +1 -1
  92. package/dist/types/questions.d.ts +100 -1
  93. package/dist/types/questions.d.ts.map +1 -1
  94. package/dist/utils/questionRenderer.d.ts +5 -0
  95. package/dist/utils/questionRenderer.d.ts.map +1 -0
  96. package/package.json +7 -1
@@ -1641,12 +1641,14 @@ import { CaretRight, SignOut, User } from "phosphor-react";
1641
1641
  import {
1642
1642
  forwardRef as forwardRef4,
1643
1643
  useEffect as useEffect6,
1644
+ useLayoutEffect,
1644
1645
  useRef as useRef3,
1645
1646
  isValidElement as isValidElement2,
1646
1647
  Children as Children2,
1647
1648
  cloneElement as cloneElement2,
1648
1649
  useState as useState5
1649
1650
  } from "react";
1651
+ import { createPortal } from "react-dom";
1650
1652
  import { create as create3, useStore as useStore2 } from "zustand";
1651
1653
 
1652
1654
  // src/components/ThemeToggle/ThemeToggle.tsx
@@ -1911,7 +1913,7 @@ var DropdownMenu = ({
1911
1913
  ).filter((el) => el instanceof HTMLElement);
1912
1914
  if (items.length === 0) return;
1913
1915
  const focusedItem = document.activeElement;
1914
- const currentIndex = items.findIndex((item) => item === focusedItem);
1916
+ const currentIndex = items.indexOf(focusedItem);
1915
1917
  let nextIndex;
1916
1918
  if (event.key === "ArrowDown") {
1917
1919
  nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % items.length;
@@ -1929,9 +1931,14 @@ var DropdownMenu = ({
1929
1931
  }
1930
1932
  };
1931
1933
  const handleClickOutside = (event) => {
1932
- if (menuRef.current && !menuRef.current.contains(event.target)) {
1933
- setOpen(false);
1934
+ const target = event.target;
1935
+ if (menuRef.current?.contains(target)) {
1936
+ return;
1934
1937
  }
1938
+ if (target instanceof Element && target.closest('[data-dropdown-content="true"]')) {
1939
+ return;
1940
+ }
1941
+ setOpen(false);
1935
1942
  };
1936
1943
  useEffect6(() => {
1937
1944
  if (open) {
@@ -1953,40 +1960,30 @@ var DropdownMenu = ({
1953
1960
  }, [propOpen]);
1954
1961
  return /* @__PURE__ */ jsx11("div", { className: "relative", ref: menuRef, children: injectStore2(children, store) });
1955
1962
  };
1956
- var DropdownMenuTrigger = ({
1957
- className,
1958
- children,
1959
- onClick,
1960
- store: externalStore,
1961
- ...props
1962
- }) => {
1963
+ var DropdownMenuTrigger = forwardRef4(({ className, children, onClick, store: externalStore, ...props }, ref) => {
1963
1964
  const store = useDropdownStore(externalStore);
1964
1965
  const open = useStore2(store, (s) => s.open);
1965
1966
  const toggleOpen = () => store.setState({ open: !open });
1966
1967
  return /* @__PURE__ */ jsx11(
1967
- "div",
1968
+ "button",
1968
1969
  {
1970
+ ref,
1971
+ type: "button",
1969
1972
  onClick: (e) => {
1970
1973
  e.stopPropagation();
1971
1974
  toggleOpen();
1972
- if (onClick) onClick(e);
1973
- },
1974
- role: "button",
1975
- onKeyDown: (e) => {
1976
- if (e.key === "Enter" || e.key === " ") {
1977
- e.preventDefault();
1978
- toggleOpen();
1979
- if (onClick) onClick(e);
1980
- }
1975
+ onClick?.(e);
1981
1976
  },
1982
- tabIndex: 0,
1983
1977
  "aria-expanded": open,
1984
- className: cn(className),
1978
+ className: cn(
1979
+ "appearance-none bg-transparent border-none p-0",
1980
+ className
1981
+ ),
1985
1982
  ...props,
1986
1983
  children
1987
1984
  }
1988
1985
  );
1989
- };
1986
+ });
1990
1987
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
1991
1988
  var ITEM_SIZE_CLASSES = {
1992
1989
  small: "text-sm",
@@ -2027,11 +2024,15 @@ var DropdownMenuContent = forwardRef4(
2027
2024
  sideOffset = 4,
2028
2025
  children,
2029
2026
  store: externalStore,
2027
+ portal = false,
2028
+ triggerRef,
2030
2029
  ...props
2031
2030
  }, ref) => {
2032
2031
  const store = useDropdownStore(externalStore);
2033
2032
  const open = useStore2(store, (s) => s.open);
2034
2033
  const [isVisible, setIsVisible] = useState5(open);
2034
+ const [portalPosition, setPortalPosition] = useState5({ top: 0, left: 0 });
2035
+ const contentRef = useRef3(null);
2035
2036
  useEffect6(() => {
2036
2037
  if (open) {
2037
2038
  setIsVisible(true);
@@ -2040,18 +2041,61 @@ var DropdownMenuContent = forwardRef4(
2040
2041
  return () => clearTimeout(timer);
2041
2042
  }
2042
2043
  }, [open]);
2044
+ useLayoutEffect(() => {
2045
+ if (portal && open && triggerRef?.current) {
2046
+ const rect = triggerRef.current.getBoundingClientRect();
2047
+ let top = rect.bottom + sideOffset;
2048
+ let left = rect.left;
2049
+ if (side === "left") {
2050
+ left = rect.left - sideOffset;
2051
+ top = rect.top;
2052
+ } else if (side === "right") {
2053
+ left = rect.right + sideOffset;
2054
+ top = rect.top;
2055
+ } else {
2056
+ if (align === "end") {
2057
+ left = rect.right;
2058
+ } else if (align === "center") {
2059
+ left = rect.left + rect.width / 2;
2060
+ }
2061
+ if (side === "top") {
2062
+ top = rect.top - sideOffset;
2063
+ }
2064
+ }
2065
+ setPortalPosition({ top, left });
2066
+ }
2067
+ }, [portal, open, triggerRef, align, side, sideOffset]);
2043
2068
  if (!isVisible) return null;
2044
2069
  const getPositionClasses = () => {
2070
+ if (portal) {
2071
+ return "fixed";
2072
+ }
2045
2073
  const vertical = SIDE_CLASSES[side];
2046
2074
  const horizontal = ALIGN_CLASSES[align];
2047
2075
  return `absolute ${vertical} ${horizontal}`;
2048
2076
  };
2077
+ const getPortalAlignStyle = () => {
2078
+ if (!portal) return {};
2079
+ const baseStyle = {
2080
+ top: portalPosition.top
2081
+ };
2082
+ if (align === "end") {
2083
+ baseStyle.right = window.innerWidth - portalPosition.left;
2084
+ } else if (align === "center") {
2085
+ baseStyle.left = portalPosition.left;
2086
+ baseStyle.transform = "translateX(-50%)";
2087
+ } else {
2088
+ baseStyle.left = portalPosition.left;
2089
+ }
2090
+ return baseStyle;
2091
+ };
2049
2092
  const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
2050
- return /* @__PURE__ */ jsx11(
2093
+ const content = /* @__PURE__ */ jsx11(
2051
2094
  "div",
2052
2095
  {
2053
- ref,
2096
+ ref: portal ? contentRef : ref,
2054
2097
  role: "menu",
2098
+ "data-dropdown-content": "true",
2055
2099
  className: `
2056
2100
  bg-background z-50 min-w-[210px] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md border-border-100
2057
2101
  ${open ? "animate-in fade-in-0 zoom-in-95" : "animate-out fade-out-0 zoom-out-95"}
@@ -2060,15 +2104,21 @@ var DropdownMenuContent = forwardRef4(
2060
2104
  ${className}
2061
2105
  `,
2062
2106
  style: {
2063
- marginTop: side === "bottom" ? sideOffset : void 0,
2064
- marginBottom: side === "top" ? sideOffset : void 0,
2065
- marginLeft: side === "right" ? sideOffset : void 0,
2066
- marginRight: side === "left" ? sideOffset : void 0
2107
+ ...portal ? getPortalAlignStyle() : {
2108
+ marginTop: side === "bottom" ? sideOffset : void 0,
2109
+ marginBottom: side === "top" ? sideOffset : void 0,
2110
+ marginLeft: side === "right" ? sideOffset : void 0,
2111
+ marginRight: side === "left" ? sideOffset : void 0
2112
+ }
2067
2113
  },
2068
2114
  ...props,
2069
2115
  children
2070
2116
  }
2071
2117
  );
2118
+ if (portal && typeof document !== "undefined") {
2119
+ return createPortal(content, document.body);
2120
+ }
2121
+ return content;
2072
2122
  }
2073
2123
  );
2074
2124
  DropdownMenuContent.displayName = "DropdownMenuContent";
@@ -4340,6 +4390,8 @@ var CardAccordation = forwardRef6(
4340
4390
  onToggleExpanded,
4341
4391
  value,
4342
4392
  disabled = false,
4393
+ triggerClassName,
4394
+ contentClassName,
4343
4395
  ...props
4344
4396
  }, ref) => {
4345
4397
  const [internalExpanded, setInternalExpanded] = useState7(defaultExpanded);
@@ -4388,7 +4440,8 @@ var CardAccordation = forwardRef6(
4388
4440
  disabled,
4389
4441
  className: cn(
4390
4442
  "w-full cursor-pointer not-aria-expanded:rounded-xl aria-expanded:rounded-t-xl flex items-center justify-between gap-3 text-left transition-colors duration-200 focus:outline-none focus:border-2 focus:border-primary-950 focus:ring-inset px-2",
4391
- disabled && "cursor-not-allowed text-text-400"
4443
+ disabled && "cursor-not-allowed text-text-400",
4444
+ triggerClassName
4392
4445
  ),
4393
4446
  "aria-expanded": isExpanded,
4394
4447
  "aria-controls": contentId,
@@ -4423,7 +4476,7 @@ var CardAccordation = forwardRef6(
4423
4476
  ),
4424
4477
  "data-testid": "accordion-content",
4425
4478
  "data-value": value,
4426
- children: /* @__PURE__ */ jsx19("div", { className: "p-4 pt-0", children })
4479
+ children: /* @__PURE__ */ jsx19("div", { className: cn("p-4 pt-0", contentClassName), children })
4427
4480
  }
4428
4481
  )
4429
4482
  ]