@activecollab/components 2.0.422 → 2.0.424

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 (51) hide show
  1. package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js +66 -0
  2. package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
  3. package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js +121 -0
  4. package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
  5. package/dist/cjs/components/DrilldownMenu/MeasuredPane.js +61 -0
  6. package/dist/cjs/components/DrilldownMenu/MeasuredPane.js.map +1 -0
  7. package/dist/cjs/components/DrilldownMenu/Styles.js +30 -0
  8. package/dist/cjs/components/DrilldownMenu/Styles.js.map +1 -0
  9. package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js +28 -0
  10. package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
  11. package/dist/cjs/components/DrilldownMenu/index.js +50 -0
  12. package/dist/cjs/components/DrilldownMenu/index.js.map +1 -0
  13. package/dist/cjs/components/index.js +11 -0
  14. package/dist/cjs/components/index.js.map +1 -1
  15. package/dist/cjs/presentation/shared/portfolioDetails.js +1 -1
  16. package/dist/cjs/presentation/shared/portfolioDetails.js.map +1 -1
  17. package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts +24 -0
  18. package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts.map +1 -0
  19. package/dist/esm/components/DrilldownMenu/DrilldownMenu.js +48 -0
  20. package/dist/esm/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
  21. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts +38 -0
  22. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts.map +1 -0
  23. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js +97 -0
  24. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
  25. package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts +10 -0
  26. package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts.map +1 -0
  27. package/dist/esm/components/DrilldownMenu/MeasuredPane.js +44 -0
  28. package/dist/esm/components/DrilldownMenu/MeasuredPane.js.map +1 -0
  29. package/dist/esm/components/DrilldownMenu/Styles.d.ts +17 -0
  30. package/dist/esm/components/DrilldownMenu/Styles.d.ts.map +1 -0
  31. package/dist/esm/components/DrilldownMenu/Styles.js +23 -0
  32. package/dist/esm/components/DrilldownMenu/Styles.js.map +1 -0
  33. package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts +11 -0
  34. package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts.map +1 -0
  35. package/dist/esm/components/DrilldownMenu/SubmenuHeader.js +21 -0
  36. package/dist/esm/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
  37. package/dist/esm/components/DrilldownMenu/index.d.ts +5 -0
  38. package/dist/esm/components/DrilldownMenu/index.d.ts.map +1 -0
  39. package/dist/esm/components/DrilldownMenu/index.js +5 -0
  40. package/dist/esm/components/DrilldownMenu/index.js.map +1 -0
  41. package/dist/esm/components/index.d.ts +1 -0
  42. package/dist/esm/components/index.d.ts.map +1 -1
  43. package/dist/esm/components/index.js +1 -0
  44. package/dist/esm/components/index.js.map +1 -1
  45. package/dist/esm/presentation/shared/portfolioDetails.js +1 -1
  46. package/dist/esm/presentation/shared/portfolioDetails.js.map +1 -1
  47. package/dist/index.js +246 -5
  48. package/dist/index.js.map +1 -1
  49. package/dist/index.min.js +1 -1
  50. package/dist/index.min.js.map +1 -1
  51. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14611,7 +14611,7 @@
14611
14611
  };
14612
14612
  Bubble.displayName = "Bubble";
14613
14613
 
14614
- var StyledMenu$2 = styled__default["default"](Bubble).withConfig({
14614
+ var StyledMenu$3 = styled__default["default"](Bubble).withConfig({
14615
14615
  displayName: "Styles__StyledMenu",
14616
14616
  componentId: "sc-8fhkp-0"
14617
14617
  })(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", " ", ""], {
@@ -14629,7 +14629,7 @@
14629
14629
  }, function (props) {
14630
14630
  return props.$mode === "widest" && styled.css(["width:590px;"]);
14631
14631
  });
14632
- StyledMenu$2.displayName = "StyledMenu";
14632
+ StyledMenu$3.displayName = "StyledMenu";
14633
14633
  var StyledMenuFooter$1 = styled__default["default"].div.withConfig({
14634
14634
  displayName: "Styles__StyledMenuFooter",
14635
14635
  componentId: "sc-8fhkp-1"
@@ -14994,7 +14994,7 @@
14994
14994
  className: popperClassName,
14995
14995
  tabIndex: -1,
14996
14996
  afterWrite: onPopperOpen
14997
- }, /*#__PURE__*/React__default["default"].createElement(StyledMenu$2, {
14997
+ }, /*#__PURE__*/React__default["default"].createElement(StyledMenu$3, {
14998
14998
  className: classNames__default["default"]("c-simple-menu__paper", "c-simple-menu__".concat(mode), menuClassName, className),
14999
14999
  $mode: mode,
15000
15000
  onMouseDown: onMenuClick
@@ -15771,7 +15771,7 @@
15771
15771
  "WebkitFontSmoothing": "antialiased",
15772
15772
  "MozOsxFontSmoothing": "grayscale"
15773
15773
  });
15774
- var StyledMenu$1 = styled__default["default"](Menu).withConfig({
15774
+ var StyledMenu$2 = styled__default["default"](Menu).withConfig({
15775
15775
  displayName: "Styles__StyledMenu",
15776
15776
  componentId: "sc-1v8h7mt-1"
15777
15777
  })(["", ""], {
@@ -15837,7 +15837,7 @@
15837
15837
  StyledButtonGroup.displayName = "StyledButtonGroup";
15838
15838
  StyledSpan$1.displayName = "StyledSpan";
15839
15839
  StyledDiv$1.displayName = "StyledDiv";
15840
- StyledMenu$1.displayName = "StyledMenu";
15840
+ StyledMenu$2.displayName = "StyledMenu";
15841
15841
  StyledButton$1.displayName = "StyledButton";
15842
15842
  StyledControl.displayName = "StyledControl";
15843
15843
 
@@ -23631,6 +23631,241 @@
23631
23631
  });
23632
23632
  DisplayHours.displayName = "DisplayHours";
23633
23633
 
23634
+ var MeasuredPane = function MeasuredPane(_ref) {
23635
+ var active = _ref.active,
23636
+ onHeight = _ref.onHeight,
23637
+ style = _ref.style,
23638
+ children = _ref.children;
23639
+ var _useState = React.useState(null),
23640
+ _useState2 = _slicedToArray(_useState, 2),
23641
+ node = _useState2[0],
23642
+ setNode = _useState2[1];
23643
+ var reported = React.useRef(0);
23644
+ React.useEffect(function () {
23645
+ if (!active || !node) {
23646
+ return undefined;
23647
+ }
23648
+ reported.current = 0;
23649
+ var frame = 0;
23650
+
23651
+ // The reported height lands on an ancestor of the measured element, so a
23652
+ // shrink can hand the observer back a taller box and loop forever. While a
23653
+ // pane stays open the height only grows, and every slide starts over.
23654
+ var observer = new ResizeObserver__default["default"](function (entries) {
23655
+ var _entries$;
23656
+ var height = Math.round(((_entries$ = entries[0]) === null || _entries$ === void 0 || (_entries$ = _entries$.contentRect) === null || _entries$ === void 0 ? void 0 : _entries$.height) || 0);
23657
+ if (height <= reported.current) {
23658
+ return;
23659
+ }
23660
+ reported.current = height;
23661
+ cancelAnimationFrame(frame);
23662
+ frame = requestAnimationFrame(function () {
23663
+ return onHeight(height);
23664
+ });
23665
+ });
23666
+ observer.observe(node);
23667
+ return function () {
23668
+ cancelAnimationFrame(frame);
23669
+ observer.disconnect();
23670
+ };
23671
+ }, [active, node, onHeight]);
23672
+ return /*#__PURE__*/React__default["default"].createElement("div", {
23673
+ ref: setNode,
23674
+ style: style
23675
+ }, children);
23676
+ };
23677
+ MeasuredPane.displayName = "MeasuredPane";
23678
+
23679
+ var SubmenuHeader = function SubmenuHeader(_ref) {
23680
+ var title = _ref.title,
23681
+ onBack = _ref.onBack,
23682
+ _ref$backLabel = _ref.backLabel,
23683
+ backLabel = _ref$backLabel === void 0 ? "Back" : _ref$backLabel;
23684
+ return /*#__PURE__*/React__default["default"].createElement(MenuHeader, {
23685
+ title: title,
23686
+ leftElement: onBack ? /*#__PURE__*/React__default["default"].createElement(IconButton, {
23687
+ variant: "text gray",
23688
+ size: "small",
23689
+ onClick: onBack,
23690
+ "aria-label": backLabel
23691
+ }, /*#__PURE__*/React__default["default"].createElement(ArrowLeftIcon$1, null)) : null
23692
+ });
23693
+ };
23694
+ SubmenuHeader.displayName = "SubmenuHeader";
23695
+
23696
+ var DEFAULT_PANE_WIDTH = 260;
23697
+ var INDEX_VIEW = "index";
23698
+ var NO_SUBMENUS$1 = [];
23699
+ var DrilldownMenuContent = function DrilldownMenuContent(_ref) {
23700
+ var width = _ref.width,
23701
+ _ref$submenus = _ref.submenus,
23702
+ submenus = _ref$submenus === void 0 ? NO_SUBMENUS$1 : _ref$submenus,
23703
+ backLabel = _ref.backLabel,
23704
+ children = _ref.children;
23705
+ var _useState = React.useState(INDEX_VIEW),
23706
+ _useState2 = _slicedToArray(_useState, 2),
23707
+ view = _useState2[0],
23708
+ setView = _useState2[1];
23709
+ var _useState3 = React.useState(true),
23710
+ _useState4 = _slicedToArray(_useState3, 2),
23711
+ isLeft = _useState4[0],
23712
+ setIsLeft = _useState4[1];
23713
+ var _useState5 = React.useState(0),
23714
+ _useState6 = _slicedToArray(_useState5, 2),
23715
+ menuHeight = _useState6[0],
23716
+ setMenuHeight = _useState6[1];
23717
+ var _useState7 = React.useState(INDEX_VIEW),
23718
+ _useState8 = _slicedToArray(_useState7, 2),
23719
+ enteredView = _useState8[0],
23720
+ setEnteredView = _useState8[1];
23721
+ var paneWidth = width || DEFAULT_PANE_WIDTH;
23722
+ var handleHeight = React.useCallback(function (element) {
23723
+ return setMenuHeight(element.offsetHeight);
23724
+ }, []);
23725
+ var handleEnteredIndex = React.useCallback(function () {
23726
+ return setEnteredView(INDEX_VIEW);
23727
+ }, []);
23728
+ var openSubmenu = React.useCallback(function (id) {
23729
+ setView(id);
23730
+ setIsLeft(true);
23731
+ }, []);
23732
+ var goToIndex = React.useCallback(function () {
23733
+ setView(INDEX_VIEW);
23734
+ setIsLeft(false);
23735
+ }, []);
23736
+ var index = typeof children === "function" ? children({
23737
+ openSubmenu
23738
+ }) : children;
23739
+ if (submenus.length === 0) {
23740
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, index);
23741
+ }
23742
+ return /*#__PURE__*/React__default["default"].createElement(ResizeTransition, {
23743
+ in: true,
23744
+ style: {
23745
+ height: menuHeight || "auto",
23746
+ width: paneWidth
23747
+ }
23748
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
23749
+ style: {
23750
+ height: menuHeight || "auto",
23751
+ width: paneWidth
23752
+ }
23753
+ }, /*#__PURE__*/React__default["default"].createElement(SlideLeftRightTransition, {
23754
+ in: view === INDEX_VIEW,
23755
+ appear: true,
23756
+ direction: isLeft ? "left" : "right",
23757
+ onEnter: handleHeight,
23758
+ onEntered: handleEnteredIndex
23759
+ }, /*#__PURE__*/React__default["default"].createElement(FocusLock.MoveFocusInside, {
23760
+ disabled: enteredView !== INDEX_VIEW
23761
+ }, /*#__PURE__*/React__default["default"].createElement(MeasuredPane, {
23762
+ active: view === INDEX_VIEW,
23763
+ onHeight: setMenuHeight
23764
+ }, index))), submenus.map(function (submenu) {
23765
+ var isEntered = enteredView === submenu.id;
23766
+ var goBack = function goBack() {
23767
+ var _submenu$onBack;
23768
+ goToIndex();
23769
+ (_submenu$onBack = submenu.onBack) === null || _submenu$onBack === void 0 || _submenu$onBack.call(submenu);
23770
+ };
23771
+ return /*#__PURE__*/React__default["default"].createElement(SlideLeftRightTransition, {
23772
+ key: submenu.id,
23773
+ in: view === submenu.id,
23774
+ direction: isLeft ? "left" : "right",
23775
+ onEnter: handleHeight,
23776
+ onEntered: function onEntered() {
23777
+ return setEnteredView(submenu.id);
23778
+ }
23779
+ }, /*#__PURE__*/React__default["default"].createElement(FocusLock.MoveFocusInside, {
23780
+ disabled: !isEntered
23781
+ }, /*#__PURE__*/React__default["default"].createElement(MeasuredPane, {
23782
+ active: view === submenu.id,
23783
+ onHeight: setMenuHeight,
23784
+ style: {
23785
+ width: paneWidth
23786
+ }
23787
+ }, submenu.title ? /*#__PURE__*/React__default["default"].createElement(SubmenuHeader, {
23788
+ title: submenu.title,
23789
+ onBack: goBack,
23790
+ backLabel: backLabel
23791
+ }) : null, typeof submenu.content === "function" ? submenu.content({
23792
+ isEntered,
23793
+ goBack
23794
+ }) : submenu.content)));
23795
+ })));
23796
+ };
23797
+ DrilldownMenuContent.displayName = "DrilldownMenuContent";
23798
+
23799
+ var StyledMenu$1 = styled__default["default"](Menu).withConfig({
23800
+ displayName: "Styles__StyledMenu",
23801
+ componentId: "sc-15ei9o0-0"
23802
+ })(["", ""], function (_ref) {
23803
+ var $paned = _ref.$paned;
23804
+ return $paned && {
23805
+ "position": "relative",
23806
+ "overflow": "hidden"
23807
+ };
23808
+ });
23809
+ var StyledIndexList = styled__default["default"](List).withConfig({
23810
+ displayName: "Styles__StyledIndexList",
23811
+ componentId: "sc-15ei9o0-1"
23812
+ })(["", ""], {
23813
+ "paddingTop": "0.5rem",
23814
+ "paddingBottom": "0.5rem"
23815
+ });
23816
+ StyledMenu$1.displayName = "StyledDrilldownMenu";
23817
+ StyledIndexList.displayName = "StyledDrilldownIndexList";
23818
+
23819
+ var NO_SUBMENUS = [];
23820
+ var DrilldownMenu = function DrilldownMenu(_ref) {
23821
+ var target = _ref.target,
23822
+ open = _ref.open,
23823
+ onOpen = _ref.onOpen,
23824
+ onClose = _ref.onClose,
23825
+ position = _ref.position,
23826
+ width = _ref.width,
23827
+ header = _ref.header,
23828
+ listClassName = _ref.listClassName,
23829
+ backLabel = _ref.backLabel,
23830
+ _ref$submenus = _ref.submenus,
23831
+ submenus = _ref$submenus === void 0 ? NO_SUBMENUS : _ref$submenus,
23832
+ children = _ref.children;
23833
+ var _useState = React.useState(0),
23834
+ _useState2 = _slicedToArray(_useState, 2),
23835
+ contentKey = _useState2[0],
23836
+ setContentKey = _useState2[1];
23837
+ var showPanes = submenus.length > 0;
23838
+ var paneWidth = width || DEFAULT_PANE_WIDTH;
23839
+ React.useEffect(function () {
23840
+ if (!open) {
23841
+ setContentKey(function (key) {
23842
+ return key + 1;
23843
+ });
23844
+ }
23845
+ }, [open]);
23846
+ return /*#__PURE__*/React__default["default"].createElement(StyledMenu$1, {
23847
+ $paned: showPanes,
23848
+ target: target,
23849
+ open: open,
23850
+ onOpen: onOpen,
23851
+ onClose: onClose,
23852
+ position: position
23853
+ }, /*#__PURE__*/React__default["default"].createElement(DrilldownMenuContent, {
23854
+ key: contentKey,
23855
+ width: width,
23856
+ submenus: submenus,
23857
+ backLabel: backLabel
23858
+ }, function (paneProps) {
23859
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, header, /*#__PURE__*/React__default["default"].createElement(StyledIndexList, {
23860
+ className: listClassName,
23861
+ style: {
23862
+ width: showPanes ? paneWidth : "100%"
23863
+ }
23864
+ }, typeof children === "function" ? children(paneProps) : children));
23865
+ }));
23866
+ };
23867
+ DrilldownMenu.displayName = "DrilldownMenu";
23868
+
23634
23869
  var _excluded$J = ["expanded"];
23635
23870
  var ExpandAll = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
23636
23871
  var _ref$expanded = _ref.expanded,
@@ -30646,6 +30881,7 @@
30646
30881
  exports.DARK_THEME_SELECTOR = DARK_THEME_SELECTOR;
30647
30882
  exports.DEFAULT_DARK_THEME = DEFAULT_DARK_THEME;
30648
30883
  exports.DEFAULT_KEYBOARD_STEP = DEFAULT_KEYBOARD_STEP;
30884
+ exports.DEFAULT_PANE_WIDTH = DEFAULT_PANE_WIDTH;
30649
30885
  exports.DEFAULT_THEME = DEFAULT_THEME;
30650
30886
  exports.DataTable = DataTable;
30651
30887
  exports.DatePicker = DatePicker;
@@ -30674,6 +30910,8 @@
30674
30910
  exports.DotsLoader = DotsLoader;
30675
30911
  exports.DownloadIcon = DownloadIcon$1;
30676
30912
  exports.DrawIcon = DrawIcon$1;
30913
+ exports.DrilldownMenu = DrilldownMenu;
30914
+ exports.DrilldownMenuContent = DrilldownMenuContent;
30677
30915
  exports.DriveIcon = DriveIcon$1;
30678
30916
  exports.DropboxIcon = DropboxIcon$1;
30679
30917
  exports.DuplicateIcon = DuplicateIcon$1;
@@ -30733,6 +30971,7 @@
30733
30971
  exports.HeartIcon = HeartIcon$1;
30734
30972
  exports.HelpIcon = HelpIcon$1;
30735
30973
  exports.HistoryOfChangesIcon = HistoryOfChangesIcon$1;
30974
+ exports.INDEX_VIEW = INDEX_VIEW;
30736
30975
  exports.IconButton = IconButton;
30737
30976
  exports.ImageIcon = ImageIcon$1;
30738
30977
  exports.InfoBox = InfoBox;
@@ -30775,6 +31014,7 @@
30775
31014
  exports.LockIcon = LockIcon$1;
30776
31015
  exports.LockSmallIcon = LockSmallIcon$1;
30777
31016
  exports.MarkerIcon = MarkerIcon$1;
31017
+ exports.MeasuredPane = MeasuredPane;
30778
31018
  exports.Media = Media;
30779
31019
  exports.Menu = Menu;
30780
31020
  exports.MenuFooter = MenuFooter;
@@ -30937,6 +31177,7 @@
30937
31177
  exports.StopIcon = StopIcon$1;
30938
31178
  exports.StopwatchIcon = StopwatchIcon$1;
30939
31179
  exports.StyledInputTimeWrapper = StyledInputTimeWrapper;
31180
+ exports.SubmenuHeader = SubmenuHeader;
30940
31181
  exports.SunIcon = SunIcon$1;
30941
31182
  exports.SystemSettingsIcon = SystemSettingsIcon$1;
30942
31183
  exports.THEMES = THEMES;