@app-studio/web 0.8.39 → 0.8.41

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.
@@ -1796,7 +1796,8 @@
1796
1796
  fallback = 'IM',
1797
1797
  styles,
1798
1798
  imageError,
1799
- setImageError
1799
+ setImageError,
1800
+ onClick = () => {}
1800
1801
  } = _ref;
1801
1802
  // Determines the size of the avatar by mapping the size prop to the predefined AvatarSizeMap.
1802
1803
  var avatarSize = AvatarSizeMap[size];
@@ -1814,7 +1815,8 @@
1814
1815
  borderWidth: "1px",
1815
1816
  borderStyle: "solid",
1816
1817
  borderColor: imageError ? 'black' : 'transparent',
1817
- boxShadow: "0px 2px 4px rgba(0, 0, 0, 0.25)"
1818
+ boxShadow: "0px 2px 4px rgba(0, 0, 0, 0.25)",
1819
+ onClick: onClick
1818
1820
  }, styles == null ? void 0 : styles.container), !imageError ? (/*#__PURE__*/React__default.createElement(appStudio.Image, {
1819
1821
  alt: "IM",
1820
1822
  src: src,
@@ -1833,7 +1835,8 @@
1833
1835
  src,
1834
1836
  size,
1835
1837
  styles,
1836
- fallback
1838
+ fallback,
1839
+ onClick
1837
1840
  } = _ref;
1838
1841
  // Uses custom hook useAvatarState to manage the avatar image loading error state.
1839
1842
  var {
@@ -1847,7 +1850,8 @@
1847
1850
  styles: styles,
1848
1851
  fallback: fallback,
1849
1852
  imageError: imageError,
1850
- setImageError: setImageError
1853
+ setImageError: setImageError,
1854
+ onClick: onClick
1851
1855
  });
1852
1856
  // AvatarComponent is a functional component that wraps the AvatarView with added state logic.
1853
1857
  };
@@ -6612,46 +6616,51 @@
6612
6616
  };
6613
6617
 
6614
6618
  var useModalStore = /*#__PURE__*/zustand.create(set => ({
6615
- modal: false,
6616
- modalProps: {
6617
- isVisible: false
6618
- },
6619
- overlayProps: {},
6620
- show: function show(modal, modalProps, overlayProps) {
6619
+ modals: [],
6620
+ show: function show(name, modalProps, overlayProps) {
6621
6621
  if (modalProps === void 0) {
6622
6622
  modalProps = {};
6623
6623
  }
6624
6624
  if (overlayProps === void 0) {
6625
6625
  overlayProps = {};
6626
6626
  }
6627
- if (modal) {
6628
- modalProps.isVisible = true;
6629
- }
6630
- set(state => Object.assign({}, state, {
6631
- modal,
6632
- modalProps,
6633
- overlayProps
6627
+ set(state => ({
6628
+ modals: [...state.modals, {
6629
+ name,
6630
+ props: Object.assign({}, modalProps, {
6631
+ isVisible: true
6632
+ }),
6633
+ overlayProps
6634
+ }]
6634
6635
  }));
6635
6636
  },
6636
- hide: () => {
6637
- set(state => Object.assign({}, state, {
6638
- modalProps: Object.assign({}, state.modalProps, {
6639
- isVisible: false
6640
- })
6641
- }));
6637
+ hide: name => {
6638
+ set(state => {
6639
+ if (!name) {
6640
+ // Hide all modals
6641
+ return {
6642
+ modals: []
6643
+ };
6644
+ }
6645
+ // Hide specific modal by name
6646
+ return {
6647
+ modals: state.modals.filter(modal => modal.name !== name)
6648
+ };
6649
+ });
6642
6650
  }
6643
6651
  }));
6644
- var showModal = function showModal(modal, modalProps, overlayProps) {
6652
+ var showModal = function showModal(name, modalProps, overlayProps) {
6645
6653
  if (modalProps === void 0) {
6646
6654
  modalProps = {};
6647
6655
  }
6648
6656
  if (overlayProps === void 0) {
6649
6657
  overlayProps = {};
6650
6658
  }
6651
- useModalStore.getState().show(modal, modalProps, overlayProps);
6659
+ useModalStore.getState().show(name, modalProps, overlayProps);
6652
6660
  };
6653
- var hideModal = () => {
6654
- useModalStore.getState().hide();
6661
+ var hideModal = name => {
6662
+ console.log('hideModal', name);
6663
+ useModalStore.getState().hide(typeof name === 'string' ? name : undefined);
6655
6664
  };
6656
6665
 
6657
6666
  var ContainerShapes = {
@@ -6821,33 +6830,29 @@
6821
6830
 
6822
6831
  var ModalLayout = _ref => {
6823
6832
  var {
6824
- modals
6833
+ modals: availableModals
6825
6834
  } = _ref;
6826
- var modalStore = useModalStore(_ref2 => {
6827
- var {
6828
- modal,
6829
- modalProps,
6830
- overlayProps
6831
- } = _ref2;
6832
- return {
6833
- modal,
6834
- modalProps,
6835
- overlayProps
6836
- };
6837
- });
6838
- if (typeof modalStore.modal === 'boolean') {
6839
- return null;
6840
- }
6841
- var Modal = modals[modalStore.modal];
6842
- if (!Modal) {
6843
- console.error(modalStore.modal + " modal doesn't exist");
6835
+ var activeModals = useModalStore(state => state.modals);
6836
+ if (activeModals.length === 0) {
6844
6837
  return null;
6845
6838
  }
6846
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(ModalOverlay, Object.assign({
6847
- isOpen: modalStore.modalProps.isVisible,
6848
- onClose: hideModal,
6849
- blur: 10
6850
- }, modalStore.overlayProps), Modal !== undefined && /*#__PURE__*/React__default.createElement(Modal, Object.assign({}, modalStore.modalProps))));
6839
+ return /*#__PURE__*/React__default.createElement(React.Fragment, null, activeModals.map((modal, index) => {
6840
+ var ModalComponent = availableModals[modal.name];
6841
+ if (!ModalComponent) {
6842
+ console.error(modal.name + " modal doesn't exist");
6843
+ return null;
6844
+ }
6845
+ return /*#__PURE__*/React__default.createElement(ModalOverlay, Object.assign({
6846
+ key: index,
6847
+ isOpen: modal.props.isVisible,
6848
+ onClose: () => hideModal(modal.name),
6849
+ blur: 5
6850
+ }, modal.overlayProps, {
6851
+ style: {
6852
+ zIndex: 1000 + index
6853
+ }
6854
+ }), /*#__PURE__*/React__default.createElement(ModalComponent, Object.assign({}, modal.props)));
6855
+ }));
6851
6856
  };
6852
6857
 
6853
6858
  /**