@app-studio/web 0.8.40 → 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.
@@ -6616,46 +6616,51 @@
6616
6616
  };
6617
6617
 
6618
6618
  var useModalStore = /*#__PURE__*/zustand.create(set => ({
6619
- modal: false,
6620
- modalProps: {
6621
- isVisible: false
6622
- },
6623
- overlayProps: {},
6624
- show: function show(modal, modalProps, overlayProps) {
6619
+ modals: [],
6620
+ show: function show(name, modalProps, overlayProps) {
6625
6621
  if (modalProps === void 0) {
6626
6622
  modalProps = {};
6627
6623
  }
6628
6624
  if (overlayProps === void 0) {
6629
6625
  overlayProps = {};
6630
6626
  }
6631
- if (modal) {
6632
- modalProps.isVisible = true;
6633
- }
6634
- set(state => Object.assign({}, state, {
6635
- modal,
6636
- modalProps,
6637
- overlayProps
6627
+ set(state => ({
6628
+ modals: [...state.modals, {
6629
+ name,
6630
+ props: Object.assign({}, modalProps, {
6631
+ isVisible: true
6632
+ }),
6633
+ overlayProps
6634
+ }]
6638
6635
  }));
6639
6636
  },
6640
- hide: () => {
6641
- set(state => Object.assign({}, state, {
6642
- modalProps: Object.assign({}, state.modalProps, {
6643
- isVisible: false
6644
- })
6645
- }));
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
+ });
6646
6650
  }
6647
6651
  }));
6648
- var showModal = function showModal(modal, modalProps, overlayProps) {
6652
+ var showModal = function showModal(name, modalProps, overlayProps) {
6649
6653
  if (modalProps === void 0) {
6650
6654
  modalProps = {};
6651
6655
  }
6652
6656
  if (overlayProps === void 0) {
6653
6657
  overlayProps = {};
6654
6658
  }
6655
- useModalStore.getState().show(modal, modalProps, overlayProps);
6659
+ useModalStore.getState().show(name, modalProps, overlayProps);
6656
6660
  };
6657
- var hideModal = () => {
6658
- useModalStore.getState().hide();
6661
+ var hideModal = name => {
6662
+ console.log('hideModal', name);
6663
+ useModalStore.getState().hide(typeof name === 'string' ? name : undefined);
6659
6664
  };
6660
6665
 
6661
6666
  var ContainerShapes = {
@@ -6825,33 +6830,29 @@
6825
6830
 
6826
6831
  var ModalLayout = _ref => {
6827
6832
  var {
6828
- modals
6833
+ modals: availableModals
6829
6834
  } = _ref;
6830
- var modalStore = useModalStore(_ref2 => {
6831
- var {
6832
- modal,
6833
- modalProps,
6834
- overlayProps
6835
- } = _ref2;
6836
- return {
6837
- modal,
6838
- modalProps,
6839
- overlayProps
6840
- };
6841
- });
6842
- if (typeof modalStore.modal === 'boolean') {
6843
- return null;
6844
- }
6845
- var Modal = modals[modalStore.modal];
6846
- if (!Modal) {
6847
- console.error(modalStore.modal + " modal doesn't exist");
6835
+ var activeModals = useModalStore(state => state.modals);
6836
+ if (activeModals.length === 0) {
6848
6837
  return null;
6849
6838
  }
6850
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(ModalOverlay, Object.assign({
6851
- isOpen: modalStore.modalProps.isVisible,
6852
- onClose: hideModal,
6853
- blur: 10
6854
- }, 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
+ }));
6855
6856
  };
6856
6857
 
6857
6858
  /**