2.8.0 • Published 1 month ago

@lskjs/modal v2.8.0

Weekly downloads
185
License
MIT
Repository
github
Last release
1 month ago

LSK ux subrepo: modal

Глобальные модалки

Как выглядит

Посмотрите демо: https://lskjs.github.io/ux/?path=/story/modal-global

Как использовать

Как можно раньше в рендере инициализируем провайдер.

import React from 'react';
import { ModalProvider }  from '@lskjs/modal/Global';

const Example = () => (
  <ModalProvider>
    ...
  </ModalProvider>
);

В нужном вам месте создайте модалку.

В виде хуков:

import React, { useContext, useEffect } from 'react';
import { ModalContext } from '@lskjs/modal/Global';

const Example = () => {
  const modal = useContext(ModalContext);
  
  let modalRef;
  useEffect(() => {
    modalRef = modal.create('id-modal', { size: 'small' }, (
      <div>Контент</div>
    ));
  }, []);
  return (
    <button
      onClick={() => modalRef.current.open()}
    >
      Открыть модалку
    </button>
  );
};

В виде Consumer:

import React from 'react';
import { ModalConsumer } from '@lskjs/modal/Global';

const Example = () => (
  <div>
    <ModalConsumer>
      {(modal) => {
        let modalRef;
        setTimeout(() => {
          modalRef = modal.create('id-modal', { size: 'small' }, (
            <div>Контент</div>
          ));
        }, 0);
        return (
          <button
            onClick={() => modalRef.current.open()}
          >
            Открыть модалку
          </button>
        );
      }}
    </ModalConsumer>
  </div>
);

Также контент можно передавать в виде callback'а:

modal.create('id', props, ({
  id,
  ref,
  Modal,
  methods,
  ...props // Все пропсы переданные при создании модалки 2 аргументом
}) => (
  <>
    <Modal.Title>Заголовок</Modal.Title>
    <Modal.Content>Контент</Modal.Content>
  </>
))

Методы контекста

МетодАргументыОписание
createid: string - ID модалкиprops: Object - Props для модалкиcontent: ReactNode | Function - Тело модалкиСоздание модалки.Возвращает ModalRef.
updateid: string - ID модалкиprops: Object - Props для модалкиcontent: ReactNode | Function - Тело модалкиОбновление модалки.Возвращает ModalRef.
listСписок существующих модалок.Возвращает объект с { id: ModalCtx }
getid: string - ID модалкиПолучение существующей модалки.Возвращает объект ModalCtx
openid: string - ID модалкиОткрытие существующей модалки.Вовзращает id
closeid: string - ID модалкиЗакрытие существующей модалки.Возвращает id. Не удаляет инстанс модалки.
removeid: string - ID модалкиУдаление модалки. Возвращает id.Открыть модалку с этим id больше не выйдет.
2.8.0

1 month ago

2.7.5

2 months ago

2.7.0

2 years ago

2.7.1

2 years ago

3.1.0-alpha.6

2 years ago

3.1.0-alpha.2

2 years ago

3.1.0-alpha.4

2 years ago

2.6.3

2 years ago

2.6.4

2 years ago

2.6.2

3 years ago

2.6.1

3 years ago

2.5.3

3 years ago

2.5.2

3 years ago

2.4.0-beta.1

3 years ago

2.3.0-beta.15

3 years ago

2.3.0-beta.17

3 years ago

2.3.0-beta.10

3 years ago

2.3.0-beta.7

3 years ago

2.3.0-beta.6

3 years ago

2.3.0-beta.4

3 years ago

1.36.11

3 years ago

2.0.0-beta.4

3 years ago

2.0.0-beta.2

3 years ago

1.36.10

3 years ago

1.36.6

3 years ago

1.36.4

3 years ago

1.34.2

3 years ago

1.34.1

3 years ago

1.32.4

3 years ago

1.32.0

4 years ago

1.32.1

4 years ago

1.31.3

4 years ago

1.31.1

4 years ago

1.31.0

4 years ago

1.30.2

4 years ago

1.29.0

4 years ago

1.28.0

4 years ago

1.27.4

4 years ago

1.27.3

4 years ago

1.27.2

4 years ago

1.27.1

4 years ago

1.27.0

4 years ago

1.26.3

4 years ago

1.26.2

4 years ago

1.26.0

4 years ago

1.26.1

4 years ago

1.25.0

4 years ago

1.24.0

4 years ago

1.22.0

4 years ago

1.20.5

4 years ago

1.20.4

4 years ago

1.20.1

4 years ago

1.19.1

4 years ago

1.19.0

4 years ago

1.1.110

4 years ago

1.17.0

4 years ago

1.15.6

4 years ago

1.15.3

4 years ago

1.15.0

4 years ago

1.13.0

4 years ago

1.1.105

4 years ago

1.11.0

4 years ago

1.1.104

4 years ago

1.1.103

4 years ago

1.9.0

4 years ago

1.8.0

4 years ago

1.1.96

4 years ago

1.7.2

4 years ago

1.6.1

4 years ago

1.7.1

4 years ago

1.6.0

4 years ago

1.5.0

4 years ago

1.1.93

4 years ago

1.1.92

4 years ago

1.1.91

4 years ago

1.1.90

4 years ago

1.1.85

4 years ago

1.1.84

4 years ago

1.1.83

4 years ago

1.1.82

4 years ago

1.1.81

4 years ago

1.1.80

4 years ago

1.1.79

4 years ago

1.1.78

4 years ago

1.1.77

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.76

4 years ago

1.1.74

4 years ago

1.1.73

4 years ago

1.1.72

4 years ago

1.1.71

4 years ago

1.1.67

4 years ago

1.1.63

4 years ago

1.1.62

4 years ago

1.1.66

4 years ago

1.1.65

4 years ago

1.1.64

4 years ago

1.1.61

4 years ago

1.1.60

4 years ago

1.1.59

4 years ago

1.1.57

4 years ago

1.1.56

4 years ago

1.1.55

4 years ago

1.1.53

4 years ago

1.1.52

4 years ago

1.1.51

4 years ago

1.1.50

4 years ago

1.1.49

4 years ago

1.1.48

4 years ago

1.1.47

4 years ago

1.1.46

4 years ago

1.1.43

4 years ago

1.1.41

4 years ago

1.1.42

4 years ago

1.1.37

4 years ago

1.1.33

4 years ago

1.1.32

4 years ago

1.1.30

4 years ago

1.1.29

4 years ago

1.1.28

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.16

4 years ago

1.1.17

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.10

4 years ago

0.36.27

4 years ago

1.1.9

4 years ago

0.36.25

4 years ago

0.36.26

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

0.36.24

4 years ago

1.1.1

4 years ago

0.36.23

4 years ago

1.0.0-alpha.0

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

0.36.22

4 years ago

0.36.21

4 years ago

0.36.20

4 years ago

0.36.19

4 years ago

0.36.18

4 years ago

0.36.17

4 years ago

0.36.15

4 years ago

0.36.11

4 years ago

0.36.8

4 years ago

0.36.6

4 years ago

0.36.5

4 years ago

0.36.4

4 years ago

0.36.2

4 years ago

0.36.1

4 years ago

0.34.180

4 years ago

0.34.178

4 years ago

0.34.174

4 years ago

0.34.171

4 years ago

0.34.170

4 years ago

0.34.163

4 years ago

0.34.159

4 years ago

0.34.160

4 years ago

0.34.157

4 years ago

0.34.156

4 years ago

0.34.154

4 years ago

0.34.150

4 years ago

0.34.145

4 years ago

0.34.143

5 years ago

0.34.138

5 years ago

0.34.137

5 years ago

0.34.136

5 years ago

0.34.133

5 years ago

0.34.130

5 years ago

0.34.126

5 years ago

0.34.125

5 years ago

0.34.124

5 years ago

0.34.120

5 years ago

0.34.113

5 years ago

0.34.112

5 years ago

0.34.111

5 years ago

0.34.109

5 years ago

0.34.108

5 years ago

0.34.106

5 years ago

0.34.105

5 years ago

0.34.104

5 years ago

0.34.103

5 years ago

0.34.99

5 years ago

0.34.97

5 years ago

0.34.96

5 years ago

0.34.95

5 years ago

0.34.92

5 years ago

0.34.91

5 years ago

0.34.90

5 years ago

0.34.89

5 years ago

0.34.87

5 years ago

0.34.85

5 years ago

0.34.82

5 years ago

0.34.81

5 years ago

0.34.80

5 years ago

0.34.79

5 years ago

0.34.78

5 years ago

0.34.77

5 years ago

0.34.73

5 years ago

0.34.72

5 years ago

0.34.70

5 years ago

0.34.69

5 years ago

0.34.68

5 years ago

0.34.67

5 years ago

0.34.66

5 years ago

0.34.65

5 years ago

0.34.63

5 years ago

0.34.62

5 years ago

0.34.61

5 years ago

0.34.59

5 years ago

0.34.57

5 years ago

0.34.56

5 years ago

0.34.55

5 years ago

0.34.54

5 years ago

0.34.51

5 years ago

0.34.50

5 years ago

0.34.47

5 years ago

0.34.46

5 years ago

0.34.45

5 years ago

0.34.44

5 years ago

0.34.42

5 years ago

0.34.41

5 years ago

0.34.39

5 years ago

0.34.36

5 years ago

0.34.33

5 years ago

0.34.32

5 years ago

0.34.31

5 years ago

0.34.29

5 years ago

0.34.28

5 years ago

0.34.27

5 years ago

0.34.24

5 years ago

0.34.21

5 years ago

0.34.19

5 years ago

0.34.18

5 years ago

0.34.17

5 years ago

0.34.16

5 years ago

0.34.15

5 years ago

0.34.14

5 years ago

0.34.13

5 years ago

0.34.12

5 years ago

0.34.11

5 years ago

0.34.10

5 years ago

0.34.9

5 years ago

0.34.8

5 years ago

0.34.7

5 years ago

0.34.6

5 years ago

0.34.3

5 years ago

0.34.1

5 years ago

0.33.67

5 years ago

0.33.63

5 years ago

0.33.62

5 years ago

0.33.61

5 years ago

0.33.57

5 years ago

0.33.56

5 years ago

0.33.55

5 years ago

0.33.54

5 years ago

0.33.53

5 years ago

0.33.51

5 years ago

0.33.50

5 years ago

0.33.45

5 years ago

0.33.44

5 years ago

0.33.41

5 years ago

0.33.40

5 years ago

0.33.39

5 years ago

0.33.38

5 years ago

0.33.37

5 years ago

0.33.35

5 years ago

0.33.34

5 years ago

0.33.32

5 years ago

0.33.29

5 years ago

0.33.27

5 years ago

0.33.26

5 years ago

0.33.25

5 years ago

0.33.24

5 years ago

0.33.23

5 years ago

0.33.22

5 years ago

0.33.19

5 years ago

0.33.18

5 years ago

0.33.17

5 years ago

0.33.16

5 years ago

0.33.15

5 years ago

0.33.14

5 years ago

0.33.13

5 years ago

0.33.10

5 years ago

0.33.9

5 years ago

0.33.8

5 years ago

0.33.7

5 years ago

0.33.6

5 years ago

0.33.5

5 years ago

0.33.4

5 years ago

0.33.3

5 years ago

0.33.2

5 years ago

0.33.1

5 years ago

0.33.0

5 years ago

0.31.15

5 years ago

0.31.13

5 years ago

0.31.12

5 years ago

0.31.11

5 years ago

0.31.10

5 years ago

0.31.9

5 years ago

0.31.8

5 years ago

0.31.7

5 years ago

0.31.6

5 years ago

0.31.5

5 years ago

0.31.4

5 years ago

0.31.3

5 years ago

0.31.2

5 years ago

0.31.1

5 years ago

0.30.6

5 years ago

0.30.4

5 years ago