siam-ui-utils 3.0.31 → 3.0.32
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.
- package/dist/CustomBootstrap.js +9 -0
- package/dist/CustomBootstrap.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/events.js +6 -0
- package/dist/_virtual/events.js.map +1 -0
- package/dist/_virtual/events2.js +5 -0
- package/dist/_virtual/events2.js.map +1 -0
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index2.js +5 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/react-dropzone.js +8 -0
- package/dist/_virtual/react-dropzone.js.map +1 -0
- package/dist/_virtual/react-dropzone2.js +5 -0
- package/dist/_virtual/react-dropzone2.js.map +1 -0
- package/dist/assets/img/copiar.png.js +5 -0
- package/dist/assets/img/copiar.png.js.map +1 -0
- package/dist/assets/img/take-photo.jpg.js +5 -0
- package/dist/assets/img/take-photo.jpg.js.map +1 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -0
- package/dist/copy-link/index.js +60 -0
- package/dist/copy-link/index.js.map +1 -0
- package/dist/copy-link/styles.css +38 -0
- package/dist/custom-input/CustomInputCheckbox.js +35 -0
- package/dist/custom-input/CustomInputCheckbox.js.map +1 -0
- package/dist/custom-input/CustomInputCurrency.js +84 -0
- package/dist/custom-input/CustomInputCurrency.js.map +1 -0
- package/dist/custom-input/CustomInputFile.js +45 -0
- package/dist/custom-input/CustomInputFile.js.map +1 -0
- package/dist/custom-input/CustomInputRadio.js +66 -0
- package/dist/custom-input/CustomInputRadio.js.map +1 -0
- package/dist/custom-input/constant.js +5 -0
- package/dist/custom-input/constant.js.map +1 -0
- package/dist/custom-input/index.css +167 -0
- package/dist/custom-input/index.js +12 -0
- package/dist/custom-input/index.js.map +1 -0
- package/dist/drag-and-dropzone/config.js +59 -0
- package/dist/drag-and-dropzone/config.js.map +1 -0
- package/dist/drag-and-dropzone/index.css +276 -0
- package/dist/drag-and-dropzone/index.js +39 -0
- package/dist/drag-and-dropzone/index.js.map +1 -0
- package/dist/dropzone/Input.js +77 -0
- package/dist/dropzone/Input.js.map +1 -0
- package/dist/dropzone/Layout.js +50 -0
- package/dist/dropzone/Layout.js.map +1 -0
- package/dist/dropzone/Preview.js +117 -0
- package/dist/dropzone/Preview.js.map +1 -0
- package/dist/dropzone/SubmitButton.js +34 -0
- package/dist/dropzone/SubmitButton.js.map +1 -0
- package/dist/dropzone/assets/cancel.svg.js +5 -0
- package/dist/dropzone/assets/cancel.svg.js.map +1 -0
- package/dist/dropzone/assets/remove.svg.js +5 -0
- package/dist/dropzone/assets/remove.svg.js.map +1 -0
- package/dist/dropzone/assets/restart.svg.js +5 -0
- package/dist/dropzone/assets/restart.svg.js.map +1 -0
- package/dist/dropzone/index.js +514 -0
- package/dist/dropzone/index.js.map +1 -0
- package/dist/dropzone/utils.js +93 -0
- package/dist/dropzone/utils.js.map +1 -0
- package/dist/dropzone-uploader/base/index.css +207 -0
- package/dist/dropzone-uploader/base/index.js +135 -0
- package/dist/dropzone-uploader/base/index.js.map +1 -0
- package/dist/dropzone-uploader/index.js +7 -0
- package/dist/dropzone-uploader/index.js.map +1 -0
- package/dist/dropzone-uploader/styled/index.css +348 -0
- package/dist/dropzone-uploader/styled/index.js +148 -0
- package/dist/dropzone-uploader/styled/index.js.map +1 -0
- package/dist/iconos/constants-svg.js +666 -0
- package/dist/iconos/constants-svg.js.map +1 -0
- package/dist/iconos/icon-button-svg.js +50 -0
- package/dist/iconos/icon-button-svg.js.map +1 -0
- package/dist/iconos/index.js +24 -0
- package/dist/iconos/index.js.map +1 -0
- package/dist/iconos/styled-icon.js +26 -0
- package/dist/iconos/styled-icon.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/intl-messages/index.js +11 -0
- package/dist/intl-messages/index.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +8 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +8 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +9 -0
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
- package/dist/node_modules/classnames/index.js +62 -0
- package/dist/node_modules/classnames/index.js.map +1 -0
- package/dist/node_modules/dom-helpers/esm/addClass.js +10 -0
- package/dist/node_modules/dom-helpers/esm/addClass.js.map +1 -0
- package/dist/node_modules/dom-helpers/esm/hasClass.js +8 -0
- package/dist/node_modules/dom-helpers/esm/hasClass.js.map +1 -0
- package/dist/node_modules/dom-helpers/esm/removeClass.js +16 -0
- package/dist/node_modules/dom-helpers/esm/removeClass.js.map +1 -0
- package/dist/node_modules/events/events.js +372 -0
- package/dist/node_modules/events/events.js.map +1 -0
- package/dist/node_modules/react-dropzone-component/dist/react-dropzone.js +1023 -0
- package/dist/node_modules/react-dropzone-component/dist/react-dropzone.js.map +1 -0
- package/dist/node_modules/react-multi-select-component/dist/esm/index.js +178 -0
- package/dist/node_modules/react-multi-select-component/dist/esm/index.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/CSSTransition.js +275 -0
- package/dist/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/Transition.js +441 -0
- package/dist/node_modules/react-transition-group/esm/Transition.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/TransitionGroup.js +146 -0
- package/dist/node_modules/react-transition-group/esm/TransitionGroup.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.js +6 -0
- package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/config.js +7 -0
- package/dist/node_modules/react-transition-group/esm/config.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/utils/ChildMapping.js +100 -0
- package/dist/node_modules/react-transition-group/esm/utils/ChildMapping.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/utils/PropTypes.js +24 -0
- package/dist/node_modules/react-transition-group/esm/utils/PropTypes.js.map +1 -0
- package/dist/node_modules/react-transition-group/esm/utils/reflow.js +7 -0
- package/dist/node_modules/react-transition-group/esm/utils/reflow.js.map +1 -0
- package/dist/react-notifications/Notification.js +73 -0
- package/dist/react-notifications/Notification.js.map +1 -0
- package/dist/react-notifications/NotificationContainer.js +59 -0
- package/dist/react-notifications/NotificationContainer.js.map +1 -0
- package/dist/react-notifications/NotificationManager.js +174 -0
- package/dist/react-notifications/NotificationManager.js.map +1 -0
- package/dist/react-notifications/Notifications.js +72 -0
- package/dist/react-notifications/Notifications.js.map +1 -0
- package/dist/react-notifications/constants.js +26 -0
- package/dist/react-notifications/constants.js.map +1 -0
- package/dist/react-notifications/index.js +11 -0
- package/dist/react-notifications/index.js.map +1 -0
- package/dist/react-notifications/notifications.css +213 -0
- package/dist/select/custom-select/constants.js +8 -0
- package/dist/select/custom-select/constants.js.map +1 -0
- package/dist/select/custom-select/index.js +90 -0
- package/dist/select/custom-select/index.js.map +1 -0
- package/dist/select/custom-select-input/index.js +12 -0
- package/dist/select/custom-select-input/index.js.map +1 -0
- package/dist/select/index.js +9 -0
- package/dist/select/index.js.map +1 -0
- package/dist/select/multi-select/badge-label-multi-select.js +29 -0
- package/dist/select/multi-select/badge-label-multi-select.js.map +1 -0
- package/dist/select/multi-select/index.css +24 -0
- package/dist/select/multi-select/index.js +62 -0
- package/dist/select/multi-select/index.js.map +1 -0
- package/dist/select/multi-select/styled-component.js +24 -0
- package/dist/select/multi-select/styled-component.js.map +1 -0
- package/dist/timer/index.js +60 -0
- package/dist/timer/index.js.map +1 -0
- package/dist/timer/styles.css +59 -0
- package/dist/tomar-foto/index.js +62 -0
- package/dist/tomar-foto/index.js.map +1 -0
- package/dist/view-layout/button-editor.js +14 -0
- package/dist/view-layout/button-editor.js.map +1 -0
- package/dist/view-layout/constants.js +11 -0
- package/dist/view-layout/constants.js.map +1 -0
- package/dist/view-layout/editor-layer.js +28 -0
- package/dist/view-layout/editor-layer.js.map +1 -0
- package/dist/view-layout/index.js +53 -0
- package/dist/view-layout/index.js.map +1 -0
- package/dist/view-layout/slot-wrapper.js +39 -0
- package/dist/view-layout/slot-wrapper.js.map +1 -0
- package/dist/view-layout/styles.css +127 -0
- package/dist/where-by-room/index.js +20 -0
- package/dist/where-by-room/index.js.map +1 -0
- package/dist/where-by-room/room.js +78 -0
- package/dist/where-by-room/room.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { Row } from "reactstrap";
|
|
4
|
+
import { DropzoneUploader } from "../dropzone-uploader/base/index.js";
|
|
5
|
+
import { Colxx } from "../CustomBootstrap.js";
|
|
6
|
+
import imgHacerFoto from "../assets/img/take-photo.jpg.js";
|
|
7
|
+
import { TAKE_PHOTO } from "../constants.js";
|
|
8
|
+
const TomarFoto = ({
|
|
9
|
+
onFilesSelectedSelfie = () => {
|
|
10
|
+
},
|
|
11
|
+
isMobile = false
|
|
12
|
+
}) => {
|
|
13
|
+
const [filesTotalSelectedSelfie, setTotalFilesSelectedSelfie] = useState(0);
|
|
14
|
+
const {
|
|
15
|
+
LOAD_SELFIE_WITH_IDENTITY_CARD_MESSAGE,
|
|
16
|
+
MESSAGE_SELFIE_ONLY_CAN_TAKE_FROM_CELLPHONE,
|
|
17
|
+
TAKE_PHOTO_MESSAGE
|
|
18
|
+
} = TAKE_PHOTO;
|
|
19
|
+
const handleFilesSelectedSelfie = (files) => {
|
|
20
|
+
setTotalFilesSelectedSelfie(files.length);
|
|
21
|
+
onFilesSelectedSelfie(files);
|
|
22
|
+
};
|
|
23
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Row, { className: "pt-2 ml-4", children: /* @__PURE__ */ jsx(Colxx, { xxs: "11", md: "5", children: LOAD_SELFIE_WITH_IDENTITY_CARD_MESSAGE }) }),
|
|
25
|
+
/* @__PURE__ */ jsx(Row, { className: "pt-2 ml-2", children: /* @__PURE__ */ jsx(Colxx, { xxs: "12", md: "9", children: isMobile ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Colxx, { xxs: "12", className: "text-center", children: [
|
|
26
|
+
filesTotalSelectedSelfie === 0 && /* @__PURE__ */ jsx(
|
|
27
|
+
"img",
|
|
28
|
+
{
|
|
29
|
+
style: { width: "97%" },
|
|
30
|
+
alt: "hacerFotoDNI",
|
|
31
|
+
src: imgHacerFoto
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
DropzoneUploader,
|
|
36
|
+
{
|
|
37
|
+
className: "pt-2 ml-2",
|
|
38
|
+
maxFiles: 1,
|
|
39
|
+
onChangeFiles: handleFilesSelectedSelfie,
|
|
40
|
+
totalFiles: filesTotalSelectedSelfie,
|
|
41
|
+
accept: "image/jpg,image/jpeg",
|
|
42
|
+
capture: "environment",
|
|
43
|
+
nameFileLabel: TAKE_PHOTO_MESSAGE
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
] }) }) : /* @__PURE__ */ jsx(
|
|
47
|
+
"h2",
|
|
48
|
+
{
|
|
49
|
+
className: "view-icon iconsminds-smartphone-4 ml-2 mr-2",
|
|
50
|
+
style: {
|
|
51
|
+
color: "red",
|
|
52
|
+
margin: "10px 10px 0px 10px"
|
|
53
|
+
},
|
|
54
|
+
children: MESSAGE_SELFIE_ONLY_CAN_TAKE_FROM_CELLPHONE
|
|
55
|
+
}
|
|
56
|
+
) }) })
|
|
57
|
+
] });
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
TomarFoto
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/tomar-foto/index.jsx"],"sourcesContent":["import { useState } from 'react';\r\nimport { Row } from 'reactstrap';\r\nimport { DropzoneUploader } from '../dropzone-uploader/base';\r\nimport { Colxx } from '../CustomBootstrap';\r\nimport imgHacerFoto from '../assets/img/take-photo.jpg';\r\nimport { TAKE_PHOTO } from '../constants';\r\n\r\nexport const TomarFoto = ({\r\n onFilesSelectedSelfie = () => {},\r\n isMobile = false,\r\n}) => {\r\n const [filesTotalSelectedSelfie, setTotalFilesSelectedSelfie] = useState(0);\r\n const {\r\n LOAD_SELFIE_WITH_IDENTITY_CARD_MESSAGE,\r\n MESSAGE_SELFIE_ONLY_CAN_TAKE_FROM_CELLPHONE,\r\n TAKE_PHOTO_MESSAGE,\r\n } = TAKE_PHOTO;\r\n\r\n const handleFilesSelectedSelfie = (files) => {\r\n setTotalFilesSelectedSelfie(files.length);\r\n onFilesSelectedSelfie(files);\r\n };\r\n\r\n return (\r\n <>\r\n <Row className=\"pt-2 ml-4\">\r\n <Colxx xxs=\"11\" md=\"5\">\r\n {LOAD_SELFIE_WITH_IDENTITY_CARD_MESSAGE}\r\n </Colxx>\r\n </Row>\r\n <Row className=\"pt-2 ml-2\">\r\n <Colxx xxs=\"12\" md=\"9\">\r\n {isMobile ? (\r\n <>\r\n <Colxx xxs=\"12\" className=\"text-center\">\r\n {filesTotalSelectedSelfie === 0 && (\r\n <img\r\n style={{ width: '97%' }}\r\n alt=\"hacerFotoDNI\"\r\n src={imgHacerFoto}\r\n />\r\n )}\r\n <DropzoneUploader\r\n className=\"pt-2 ml-2\"\r\n maxFiles={1}\r\n onChangeFiles={handleFilesSelectedSelfie}\r\n totalFiles={filesTotalSelectedSelfie}\r\n accept=\"image/jpg,image/jpeg\"\r\n capture=\"environment\"\r\n nameFileLabel={TAKE_PHOTO_MESSAGE}\r\n />\r\n </Colxx>\r\n </>\r\n ) : (\r\n <h2\r\n className={'view-icon iconsminds-smartphone-4 ml-2 mr-2'}\r\n style={{\r\n color: 'red',\r\n margin: '10px 10px 0px 10px',\r\n }}\r\n >\r\n {MESSAGE_SELFIE_ONLY_CAN_TAKE_FROM_CELLPHONE}\r\n </h2>\r\n )}\r\n </Colxx>\r\n </Row>\r\n </>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;;;;AAOO,MAAM,YAAY,CAAC;AAAA,EACxB,wBAAwB,MAAM;AAAA,EAAC;AAAA,EAC/B,WAAW;AACb,MAAM;AACJ,QAAM,CAAC,0BAA0B,2BAA2B,IAAI,SAAS,CAAC;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,4BAA4B,CAAC,UAAU;AAC3C,gCAA4B,MAAM,MAAM;AACxC,0BAAsB,KAAK;AAAA,EAC7B;AAEA,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA,oBAAC,KAAA,EAAI,WAAU,aACb,UAAA,oBAAC,OAAA,EAAM,KAAI,MAAK,IAAG,KAChB,UAAA,uCAAA,CACH,GACF;AAAA,wBACC,KAAA,EAAI,WAAU,aACb,UAAA,oBAAC,SAAM,KAAI,MAAK,IAAG,KAChB,qBACC,oBAAA,UAAA,EACE,UAAA,qBAAC,SAAM,KAAI,MAAK,WAAU,eACvB,UAAA;AAAA,MAAA,6BAA6B,KAC5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO,EAAE,OAAO,MAAA;AAAA,UAChB,KAAI;AAAA,UACJ,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAGT;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,UAAU;AAAA,UACV,eAAe;AAAA,UACf,YAAY;AAAA,UACZ,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,eAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB,EAAA,CACF,GACF,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,QAAA;AAAA,QAGT,UAAA;AAAA,MAAA;AAAA,IAAA,GAGP,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "./styles.css";
|
|
3
|
+
const ButtonEditor = ({ activo, onClick }) => /* @__PURE__ */ jsx(
|
|
4
|
+
"button",
|
|
5
|
+
{
|
|
6
|
+
className: `visualizador-editor-btn ${activo ? "visualizador-editor-btn--activo" : "visualizador-editor-btn--inactivo"}`,
|
|
7
|
+
onClick,
|
|
8
|
+
children: /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx("i", { className: "icon-eye simple-icon-eye" }) })
|
|
9
|
+
}
|
|
10
|
+
);
|
|
11
|
+
export {
|
|
12
|
+
ButtonEditor as default
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=button-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-editor.js","sources":["../../src/view-layout/button-editor.jsx"],"sourcesContent":["import './styles.scss';\r\n\r\nconst ButtonEditor = ({ activo, onClick }) => (\r\n <button\r\n className={`visualizador-editor-btn ${\r\n activo\r\n ? 'visualizador-editor-btn--activo'\r\n : 'visualizador-editor-btn--inactivo'\r\n }`}\r\n onClick={onClick}\r\n >\r\n <span>\r\n <i className=\"icon-eye simple-icon-eye\" />\r\n </span>\r\n </button>\r\n);\r\n\r\nexport default ButtonEditor;\r\n"],"names":[],"mappings":";;AAEA,MAAM,eAAe,CAAC,EAAE,QAAQ,cAC9B;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,2BACT,SACI,oCACA,mCACN;AAAA,IACA;AAAA,IAEA,8BAAC,QAAA,EACC,UAAA,oBAAC,KAAA,EAAE,WAAU,4BAA2B,EAAA,CAC1C;AAAA,EAAA;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/view-layout/constants.js"],"sourcesContent":["export const GRID_SIZES = {\r\n sm: { cols: 18, rows: 18 },\r\n md: { cols: 12, rows: 12 },\r\n lg: { cols: 6, rows: 6 },\r\n};\r\n\r\nexport const LOCALHOST = ['localhost', '127.0.0.1'];\r\n"],"names":[],"mappings":"AAAY,MAAC,aAAa;AAAA,EACxB,IAAI,EAAE,MAAM,IAAI,MAAM,GAAE;AAAA,EACxB,IAAI,EAAE,MAAM,IAAI,MAAM,GAAE;AAAA,EACxB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAC;AACxB;AAEY,MAAC,YAAY,CAAC,aAAa,WAAW;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import "./styles.css";
|
|
3
|
+
const EditorLayer = ({ gridCols, gridRows }) => {
|
|
4
|
+
return /* @__PURE__ */ jsx(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
className: "editor-layer",
|
|
8
|
+
style: {
|
|
9
|
+
gridTemplateColumns: `repeat(${gridCols}, 1fr)`,
|
|
10
|
+
gridTemplateRows: `repeat(${gridRows}, 1fr)`
|
|
11
|
+
},
|
|
12
|
+
children: Array.from({ length: gridRows * gridCols }).map((_, idx) => {
|
|
13
|
+
const x = idx % gridCols;
|
|
14
|
+
const y = Math.floor(idx / gridCols);
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { className: "editor-layer-cell", children: /* @__PURE__ */ jsxs("div", { className: "editor-layer-cell-coord", children: [
|
|
16
|
+
"x:",
|
|
17
|
+
x,
|
|
18
|
+
";y:",
|
|
19
|
+
y
|
|
20
|
+
] }) }, `cell-${x}-${y}`);
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
EditorLayer as default
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=editor-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-layer.js","sources":["../../src/view-layout/editor-layer.jsx"],"sourcesContent":["import './styles.scss';\r\n\r\nconst EditorLayer = ({ gridCols, gridRows }) => {\r\n return (\r\n <div\r\n className=\"editor-layer\"\r\n style={{\r\n gridTemplateColumns: `repeat(${gridCols}, 1fr)`,\r\n gridTemplateRows: `repeat(${gridRows}, 1fr)`,\r\n }}\r\n >\r\n {Array.from({ length: gridRows * gridCols }).map((_, idx) => {\r\n const x = idx % gridCols;\r\n const y = Math.floor(idx / gridCols);\r\n return (\r\n <div key={`cell-${x}-${y}`} className=\"editor-layer-cell\">\r\n <div className=\"editor-layer-cell-coord\">\r\n x:{x};y:{y}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport default EditorLayer;\r\n"],"names":[],"mappings":";;AAEA,MAAM,cAAc,CAAC,EAAE,UAAU,eAAe;AAC9C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO;AAAA,QACL,qBAAqB,UAAU,QAAQ;AAAA,QACvC,kBAAkB,UAAU,QAAQ;AAAA,MAAA;AAAA,MAGrC,UAAA,MAAM,KAAK,EAAE,QAAQ,WAAW,SAAA,CAAU,EAAE,IAAI,CAAC,GAAG,QAAQ;AAC3D,cAAM,IAAI,MAAM;AAChB,cAAM,IAAI,KAAK,MAAM,MAAM,QAAQ;AACnC,mCACG,OAAA,EAA2B,WAAU,qBACpC,UAAA,qBAAC,OAAA,EAAI,WAAU,2BAA0B,UAAA;AAAA,UAAA;AAAA,UACpC;AAAA,UAAE;AAAA,UAAI;AAAA,QAAA,EAAA,CACX,EAAA,GAHQ,QAAQ,CAAC,IAAI,CAAC,EAIxB;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, createElement } from "react";
|
|
3
|
+
import SlotWrapper from "./slot-wrapper.js";
|
|
4
|
+
import EditorLayer from "./editor-layer.js";
|
|
5
|
+
import { GRID_SIZES, LOCALHOST } from "./constants.js";
|
|
6
|
+
import ButtonEditor from "./button-editor.js";
|
|
7
|
+
import "./styles.css";
|
|
8
|
+
const ViewLayout = ({
|
|
9
|
+
slots = [],
|
|
10
|
+
size = "md",
|
|
11
|
+
alto = 80,
|
|
12
|
+
ancho = 90,
|
|
13
|
+
server = window?.location?.hostname,
|
|
14
|
+
...props
|
|
15
|
+
}) => {
|
|
16
|
+
const isLocalhost = LOCALHOST.includes(server);
|
|
17
|
+
const [isEditorActivo, setEditorActivo] = useState(false);
|
|
18
|
+
const gridCols = GRID_SIZES[size].cols;
|
|
19
|
+
const gridRows = GRID_SIZES[size].rows;
|
|
20
|
+
return /* @__PURE__ */ jsxs("div", { className: "visualizador-container", children: [
|
|
21
|
+
isLocalhost && /* @__PURE__ */ jsx(
|
|
22
|
+
ButtonEditor,
|
|
23
|
+
{
|
|
24
|
+
activo: isEditorActivo,
|
|
25
|
+
onClick: () => setEditorActivo((prev) => !prev)
|
|
26
|
+
}
|
|
27
|
+
),
|
|
28
|
+
/* @__PURE__ */ jsxs(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: "visualizador-grid-css",
|
|
32
|
+
style: {
|
|
33
|
+
maxWidth: `${ancho}vw`,
|
|
34
|
+
height: `${alto}vh`,
|
|
35
|
+
gridTemplateColumns: `repeat(${gridCols}, 1fr)`,
|
|
36
|
+
gridTemplateRows: `repeat(${gridRows}, 1fr)`
|
|
37
|
+
},
|
|
38
|
+
...props,
|
|
39
|
+
children: [
|
|
40
|
+
isEditorActivo && /* @__PURE__ */ jsx(EditorLayer, { gridCols, gridRows }),
|
|
41
|
+
slots.map((slot) => {
|
|
42
|
+
const { x, y, w, h, legend } = slot;
|
|
43
|
+
return /* @__PURE__ */ createElement(SlotWrapper, { ...slot, legend, key: slot.slot });
|
|
44
|
+
})
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
] });
|
|
49
|
+
};
|
|
50
|
+
export {
|
|
51
|
+
ViewLayout
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/view-layout/index.tsx"],"sourcesContent":["import React, { FC, useState } from 'react';\r\nimport SlotWrapper from './slot-wrapper';\r\nimport { ItemSlot } from './item-slot';\r\nimport EditorLayer from './editor-layer.jsx';\r\nimport { GRID_SIZES, LOCALHOST } from './constants';\r\nimport ButtonEditor from './button-editor.jsx';\r\nimport './styles.scss';\r\n\r\ninterface LayoutProps {\r\n slots: ItemSlot[];\r\n alto?: number;\r\n ancho?: number;\r\n size?: 'sm' | 'md' | 'lg';\r\n [key: string]: any;\r\n}\r\n\r\nconst ViewLayout: FC<LayoutProps> = ({\r\n slots = [],\r\n size = 'md',\r\n alto = 80,\r\n ancho = 90,\r\n server = window?.location?.hostname,\r\n ...props\r\n}) => {\r\n \r\n const isLocalhost=LOCALHOST.includes(server);\r\n\r\n const [isEditorActivo, setEditorActivo] = useState(false);\r\n const gridCols = GRID_SIZES[size].cols;\r\n const gridRows = GRID_SIZES[size].rows;\r\n return (\r\n <div className=\"visualizador-container\">\r\n {isLocalhost && (\r\n <ButtonEditor\r\n activo={isEditorActivo}\r\n onClick={() => setEditorActivo((prev) => !prev)}\r\n />\r\n )}\r\n\r\n <div\r\n className=\"visualizador-grid-css\"\r\n style={{\r\n maxWidth: `${ancho}vw`,\r\n height: `${alto}vh`,\r\n gridTemplateColumns: `repeat(${gridCols}, 1fr)`,\r\n gridTemplateRows: `repeat(${gridRows}, 1fr)`,\r\n }}\r\n {...props}\r\n >\r\n {isEditorActivo && (\r\n <EditorLayer gridCols={gridCols} gridRows={gridRows} />\r\n )}\r\n {slots.map((slot) => {\r\n const { x, y, w, h, legend } = slot;\r\n return <SlotWrapper {...slot} legend={legend} key={slot.slot} />;\r\n })}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport { ViewLayout };\r\n"],"names":[],"mappings":";;;;;;;AAgBA,MAAM,aAA8B,CAAC;AAAA,EACnC,QAAQ,CAAA;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS,QAAQ,UAAU;AAAA,EAC3B,GAAG;AACL,MAAM;AAEJ,QAAM,cAAY,UAAU,SAAS,MAAM;AAE3C,QAAM,CAAC,gBAAgB,eAAe,IAAI,SAAS,KAAK;AACxD,QAAM,WAAW,WAAW,IAAI,EAAE;AAClC,QAAM,WAAW,WAAW,IAAI,EAAE;AAClC,SACE,qBAAC,OAAA,EAAI,WAAU,0BACZ,UAAA;AAAA,IAAA,eACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAIlD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,UAAU,GAAG,KAAK;AAAA,UAClB,QAAQ,GAAG,IAAI;AAAA,UACf,qBAAqB,UAAU,QAAQ;AAAA,UACvC,kBAAkB,UAAU,QAAQ;AAAA,QAAA;AAAA,QAErC,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,kBACC,oBAAC,aAAA,EAAY,UAAoB,SAAA,CAAoB;AAAA,UAEtD,MAAM,IAAI,CAAC,SAAS;AACnB,kBAAM,EAAE,GAAG,GAAG,GAAG,GAAG,WAAW;AAC/B,iDAAQ,aAAA,EAAa,GAAG,MAAM,QAAgB,KAAK,KAAK,MAAM;AAAA,UAChE,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SlotWrapper = ({
|
|
3
|
+
slot = 1,
|
|
4
|
+
component = null,
|
|
5
|
+
x = 0,
|
|
6
|
+
y = 0,
|
|
7
|
+
w = 2,
|
|
8
|
+
h = 2,
|
|
9
|
+
align = "stretch",
|
|
10
|
+
contentSize = "medium",
|
|
11
|
+
direction = "column",
|
|
12
|
+
justify = "flex-start",
|
|
13
|
+
legend,
|
|
14
|
+
showBorder = false
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
"fieldset",
|
|
18
|
+
{
|
|
19
|
+
className: `visualizador-slot visualizador-slot-content--${contentSize} visualizador-slot--${direction} visualizador-slot-align--${align} visualizador-slot-justify--${justify} ` + (!showBorder ? "visualizador-slot--no-border" : ""),
|
|
20
|
+
style: {
|
|
21
|
+
position: "relative",
|
|
22
|
+
gridColumn: `${x + 1} / span ${w}`,
|
|
23
|
+
gridRow: `${y + 1} / span ${h}`,
|
|
24
|
+
display: "flex",
|
|
25
|
+
overflow: "hidden",
|
|
26
|
+
border: showBorder ? void 0 : "none"
|
|
27
|
+
},
|
|
28
|
+
children: [
|
|
29
|
+
/* @__PURE__ */ jsx("legend", { className: "slot-legend", children: legend }),
|
|
30
|
+
/* @__PURE__ */ jsx("div", { className: "slot-content", children: component })
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
slot
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
SlotWrapper as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=slot-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-wrapper.js","sources":["../../src/view-layout/slot-wrapper.tsx"],"sourcesContent":["import React, { FC } from 'react';\r\nimport { ItemSlot } from './item-slot';\r\n\r\nconst SlotWrapper: FC<ItemSlot> = ({\r\n slot = 1,\r\n component = null,\r\n x = 0,\r\n y = 0,\r\n w = 2,\r\n h = 2,\r\n align = 'stretch',\r\n contentSize = 'medium',\r\n direction = 'column',\r\n justify = 'flex-start',\r\n legend,\r\n showBorder = false,\r\n}) => {\r\n return (\r\n <fieldset\r\n key={slot}\r\n className={\r\n `visualizador-slot ` +\r\n `visualizador-slot-content--${contentSize} ` +\r\n `visualizador-slot--${direction} ` +\r\n `visualizador-slot-align--${align} ` +\r\n `visualizador-slot-justify--${justify} ` +\r\n (!showBorder ? 'visualizador-slot--no-border' : '')\r\n }\r\n style={{\r\n position: 'relative',\r\n gridColumn: `${x + 1} / span ${w}`,\r\n gridRow: `${y + 1} / span ${h}`,\r\n display: 'flex',\r\n overflow: 'hidden',\r\n border: showBorder ? undefined : 'none',\r\n }}\r\n >\r\n <legend className=\"slot-legend\">{legend}</legend>\r\n <div className=\"slot-content\">{component}</div>\r\n </fieldset>\r\n );\r\n};\r\n\r\nexport default SlotWrapper;\r\n"],"names":[],"mappings":";AAGA,MAAM,cAA4B,CAAC;AAAA,EACjC,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV;AAAA,EACA,aAAa;AACf,MAAM;AACJ,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WACE,gDAC8B,WAAW,uBACnB,SAAS,6BACH,KAAK,+BACH,OAAO,OACpC,CAAC,aAAa,iCAAiC;AAAA,MAElD,OAAO;AAAA,QACL,UAAU;AAAA,QACV,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;AAAA,QAChC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;AAAA,QAC7B,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,aAAa,SAAY;AAAA,MAAA;AAAA,MAGnC,UAAA;AAAA,QAAA,oBAAC,UAAA,EAAO,WAAU,eAAe,UAAA,QAAO;AAAA,QACxC,oBAAC,OAAA,EAAI,WAAU,gBAAgB,UAAA,UAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAnBpC;AAAA,EAAA;AAsBX;"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
.visualizador-container {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.visualizador-grid,
|
|
6
|
+
.visualizador-grid-css {
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100%;
|
|
9
|
+
min-width: 90vh;
|
|
10
|
+
min-height: 80vh;
|
|
11
|
+
background: #ffffff;
|
|
12
|
+
border-radius: 12px;
|
|
13
|
+
display: grid;
|
|
14
|
+
border: solid 2px #900604;
|
|
15
|
+
position: relative;
|
|
16
|
+
gap: 1px;
|
|
17
|
+
box-sizing: content-box;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.visualizador-slot {
|
|
21
|
+
display: flex;
|
|
22
|
+
border: 1px solid #900604;
|
|
23
|
+
border-radius: 7px;
|
|
24
|
+
background: #fff;
|
|
25
|
+
}
|
|
26
|
+
.visualizador-slot--row, .visualizador-slot-row {
|
|
27
|
+
flex-direction: row;
|
|
28
|
+
}
|
|
29
|
+
.visualizador-slot--column, .visualizador-slot-column, .visualizador-slot-column-col {
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
}
|
|
32
|
+
.visualizador-slot-content--small {
|
|
33
|
+
font-size: 0.85rem;
|
|
34
|
+
}
|
|
35
|
+
.visualizador-slot-content--medium {
|
|
36
|
+
font-size: 1rem;
|
|
37
|
+
}
|
|
38
|
+
.visualizador-slot-content--large {
|
|
39
|
+
font-size: 1.5rem;
|
|
40
|
+
}
|
|
41
|
+
.visualizador-slot-align--start {
|
|
42
|
+
align-items: flex-start;
|
|
43
|
+
}
|
|
44
|
+
.visualizador-slot-align--center {
|
|
45
|
+
align-items: center;
|
|
46
|
+
}
|
|
47
|
+
.visualizador-slot-align--end {
|
|
48
|
+
align-items: flex-end;
|
|
49
|
+
}
|
|
50
|
+
.visualizador-slot-align--stretch {
|
|
51
|
+
align-items: stretch;
|
|
52
|
+
}
|
|
53
|
+
.visualizador-slot-justify--start {
|
|
54
|
+
justify-content: flex-start;
|
|
55
|
+
}
|
|
56
|
+
.visualizador-slot-justify--center {
|
|
57
|
+
justify-content: center;
|
|
58
|
+
}
|
|
59
|
+
.visualizador-slot-justify--end {
|
|
60
|
+
justify-content: flex-end;
|
|
61
|
+
}
|
|
62
|
+
.visualizador-slot-justify--space-between {
|
|
63
|
+
justify-content: space-between;
|
|
64
|
+
}
|
|
65
|
+
.visualizador-slot-justify--space-around {
|
|
66
|
+
justify-content: space-around;
|
|
67
|
+
}
|
|
68
|
+
.visualizador-slot-justify--space-evenly {
|
|
69
|
+
justify-content: space-evenly;
|
|
70
|
+
}
|
|
71
|
+
.visualizador-slot--no-border {
|
|
72
|
+
border: none !important;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.slot-legend {
|
|
76
|
+
width: auto;
|
|
77
|
+
font-size: 0.75rem;
|
|
78
|
+
margin-bottom: 0px !important;
|
|
79
|
+
margin-left: -20px !important;
|
|
80
|
+
font-weight: 700;
|
|
81
|
+
color: #900604;
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.editor-layer {
|
|
86
|
+
position: absolute;
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 100%;
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
z-index: 20;
|
|
91
|
+
display: grid;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.editor-layer-cell-coord {
|
|
95
|
+
font-size: 0.75rem;
|
|
96
|
+
justify-self: center;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.editor-layer-cell {
|
|
100
|
+
font-size: 0.7em;
|
|
101
|
+
color: #797979;
|
|
102
|
+
align-content: center;
|
|
103
|
+
padding: 2px;
|
|
104
|
+
text-align: left;
|
|
105
|
+
pointer-events: none;
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
border: 1px dashed #bbb;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.visualizador-editor-btn {
|
|
111
|
+
position: absolute;
|
|
112
|
+
top: 8px;
|
|
113
|
+
right: 8px;
|
|
114
|
+
z-index: 100;
|
|
115
|
+
padding: 6px 12px;
|
|
116
|
+
font-size: 1em;
|
|
117
|
+
color: #fff;
|
|
118
|
+
border: none;
|
|
119
|
+
border-radius: 4px;
|
|
120
|
+
cursor: pointer;
|
|
121
|
+
}
|
|
122
|
+
.visualizador-editor-btn--activo {
|
|
123
|
+
background: #900604;
|
|
124
|
+
}
|
|
125
|
+
.visualizador-editor-btn--inactivo {
|
|
126
|
+
background: #bbb;
|
|
127
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { WherebyProvider } from "@whereby.com/browser-sdk/react";
|
|
3
|
+
import "@whereby.com/browser-sdk/embed";
|
|
4
|
+
import { Room } from "./room.js";
|
|
5
|
+
const WhereByRoom = ({ src, onEvent, onActions, iframeClass }) => {
|
|
6
|
+
return /* @__PURE__ */ jsx(WherebyProvider, { children: /* @__PURE__ */ jsx(
|
|
7
|
+
Room,
|
|
8
|
+
{
|
|
9
|
+
src,
|
|
10
|
+
onEvent,
|
|
11
|
+
onActions,
|
|
12
|
+
iframeClass
|
|
13
|
+
}
|
|
14
|
+
) });
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
WhereByRoom,
|
|
18
|
+
WhereByRoom as default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/where-by-room/index.jsx"],"sourcesContent":["import { WherebyProvider } from '@whereby.com/browser-sdk/react';\r\nimport '@whereby.com/browser-sdk/embed';\r\nimport Room from './room';\r\n\r\nexport const WhereByRoom = ({ src, onEvent, onActions, iframeClass }) => {\r\n return (\r\n <WherebyProvider>\r\n <Room\r\n src={src}\r\n onEvent={onEvent}\r\n onActions={onActions}\r\n iframeClass={iframeClass}\r\n />\r\n </WherebyProvider>\r\n );\r\n};\r\nexport default WhereByRoom;\r\n"],"names":[],"mappings":";;;;AAIO,MAAM,cAAc,CAAC,EAAE,KAAK,SAAS,WAAW,kBAAkB;AACvE,6BACG,iBAAA,EACC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
3
|
+
import "@whereby.com/browser-sdk/embed";
|
|
4
|
+
const Room = ({ src, onEvent, onActions, iframeClass }) => {
|
|
5
|
+
const wherebyRef = useRef(null);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const elm = wherebyRef.current;
|
|
8
|
+
if (!elm) return;
|
|
9
|
+
if (onActions) {
|
|
10
|
+
onActions({
|
|
11
|
+
endMeeting: () => elm.endMeeting(),
|
|
12
|
+
knock: () => elm.knock(),
|
|
13
|
+
cancelKnock: () => elm.cancelKnock(),
|
|
14
|
+
leaveRoom: () => elm.leaveRoom(),
|
|
15
|
+
startRecording: () => elm.startRecording(),
|
|
16
|
+
stopRecording: () => elm.stopRecording(),
|
|
17
|
+
startStreaming: () => elm.startStreaming(),
|
|
18
|
+
stopStreaming: () => elm.stopStreaming(),
|
|
19
|
+
startLiveTranscription: () => elm.startLiveTranscription(),
|
|
20
|
+
stopLiveTranscription: () => elm.stopLiveTranscription(),
|
|
21
|
+
toggleCamera: (enabled) => elm.toggleCamera(enabled),
|
|
22
|
+
toggleMicrophone: (enabled) => elm.toggleMicrophone(enabled),
|
|
23
|
+
toggleScreenshare: (enabled) => elm.toggleScreenshare(enabled),
|
|
24
|
+
toggleChat: (enabled) => elm.toggleChat(enabled)
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const events = [
|
|
28
|
+
"ready",
|
|
29
|
+
"grant_device_permission",
|
|
30
|
+
"deny_device_permission",
|
|
31
|
+
"precall_check_completed",
|
|
32
|
+
"precall_check_skipped",
|
|
33
|
+
"knock",
|
|
34
|
+
"cancel_knock",
|
|
35
|
+
"join",
|
|
36
|
+
"leave",
|
|
37
|
+
"meeting_end",
|
|
38
|
+
"participantupdate",
|
|
39
|
+
"participant_join",
|
|
40
|
+
"participant_leave",
|
|
41
|
+
"microphone_toggle",
|
|
42
|
+
"camera_toggle",
|
|
43
|
+
"screenshare_toggle",
|
|
44
|
+
"chat_toggle",
|
|
45
|
+
"people_toggle",
|
|
46
|
+
"pip_toggle",
|
|
47
|
+
"streaming_status_change",
|
|
48
|
+
"recording_status_change",
|
|
49
|
+
"transcription_status_change",
|
|
50
|
+
"connection_status_change"
|
|
51
|
+
];
|
|
52
|
+
function handleEvent(e) {
|
|
53
|
+
if (onEvent) onEvent(e.type, e.detail);
|
|
54
|
+
}
|
|
55
|
+
events.forEach((ev) => elm.addEventListener(ev, handleEvent));
|
|
56
|
+
return () => {
|
|
57
|
+
events.forEach((ev) => elm.removeEventListener(ev, handleEvent));
|
|
58
|
+
};
|
|
59
|
+
}, [onEvent, onActions]);
|
|
60
|
+
return /* @__PURE__ */ jsx("div", { className: iframeClass, children: /* @__PURE__ */ jsx(
|
|
61
|
+
"whereby-embed",
|
|
62
|
+
{
|
|
63
|
+
ref: wherebyRef,
|
|
64
|
+
class: iframeClass,
|
|
65
|
+
room: src,
|
|
66
|
+
chat: "on",
|
|
67
|
+
screenshare: "on",
|
|
68
|
+
audio: "on",
|
|
69
|
+
video: "on",
|
|
70
|
+
allow: "camera; microphone; fullscreen"
|
|
71
|
+
}
|
|
72
|
+
) });
|
|
73
|
+
};
|
|
74
|
+
export {
|
|
75
|
+
Room,
|
|
76
|
+
Room as default
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=room.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room.js","sources":["../../src/where-by-room/room.jsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\r\nimport '@whereby.com/browser-sdk/embed';\r\n\r\nexport const Room = ({ src, onEvent, onActions, iframeClass }) => {\r\n const wherebyRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const elm = wherebyRef.current;\r\n if (!elm) return;\r\n\r\n if (onActions) {\r\n onActions({\r\n endMeeting: () => elm.endMeeting(),\r\n knock: () => elm.knock(),\r\n cancelKnock: () => elm.cancelKnock(),\r\n leaveRoom: () => elm.leaveRoom(),\r\n startRecording: () => elm.startRecording(),\r\n stopRecording: () => elm.stopRecording(),\r\n startStreaming: () => elm.startStreaming(),\r\n stopStreaming: () => elm.stopStreaming(),\r\n startLiveTranscription: () => elm.startLiveTranscription(),\r\n stopLiveTranscription: () => elm.stopLiveTranscription(),\r\n toggleCamera: (enabled) => elm.toggleCamera(enabled),\r\n toggleMicrophone: (enabled) => elm.toggleMicrophone(enabled),\r\n toggleScreenshare: (enabled) => elm.toggleScreenshare(enabled),\r\n toggleChat: (enabled) => elm.toggleChat(enabled),\r\n });\r\n }\r\n\r\n const events = [\r\n 'ready',\r\n 'grant_device_permission',\r\n 'deny_device_permission',\r\n 'precall_check_completed',\r\n 'precall_check_skipped',\r\n 'knock',\r\n 'cancel_knock',\r\n 'join',\r\n 'leave',\r\n 'meeting_end',\r\n 'participantupdate',\r\n 'participant_join',\r\n 'participant_leave',\r\n 'microphone_toggle',\r\n 'camera_toggle',\r\n 'screenshare_toggle',\r\n 'chat_toggle',\r\n 'people_toggle',\r\n 'pip_toggle',\r\n 'streaming_status_change',\r\n 'recording_status_change',\r\n 'transcription_status_change',\r\n 'connection_status_change',\r\n ];\r\n function handleEvent(e) {\r\n if (onEvent) onEvent(e.type, e.detail);\r\n }\r\n events.forEach((ev) => elm.addEventListener(ev, handleEvent));\r\n return () => {\r\n events.forEach((ev) => elm.removeEventListener(ev, handleEvent));\r\n };\r\n }, [onEvent, onActions]);\r\n\r\n return (\r\n <div className={iframeClass}>\r\n <whereby-embed\r\n ref={wherebyRef}\r\n class={iframeClass}\r\n room={src}\r\n chat=\"on\"\r\n screenshare=\"on\"\r\n audio=\"on\"\r\n video=\"on\"\r\n allow=\"camera; microphone; fullscreen\"\r\n />\r\n </div>\r\n );\r\n};\r\nexport default Room;\r\n"],"names":[],"mappings":";;;AAGO,MAAM,OAAO,CAAC,EAAE,KAAK,SAAS,WAAW,kBAAkB;AAChE,QAAM,aAAa,OAAO,IAAI;AAE9B,YAAU,MAAM;AACd,UAAM,MAAM,WAAW;AACvB,QAAI,CAAC,IAAK;AAEV,QAAI,WAAW;AACb,gBAAU;AAAA,QACR,YAAY,MAAM,IAAI,WAAA;AAAA,QACtB,OAAO,MAAM,IAAI,MAAA;AAAA,QACjB,aAAa,MAAM,IAAI,YAAA;AAAA,QACvB,WAAW,MAAM,IAAI,UAAA;AAAA,QACrB,gBAAgB,MAAM,IAAI,eAAA;AAAA,QAC1B,eAAe,MAAM,IAAI,cAAA;AAAA,QACzB,gBAAgB,MAAM,IAAI,eAAA;AAAA,QAC1B,eAAe,MAAM,IAAI,cAAA;AAAA,QACzB,wBAAwB,MAAM,IAAI,uBAAA;AAAA,QAClC,uBAAuB,MAAM,IAAI,sBAAA;AAAA,QACjC,cAAc,CAAC,YAAY,IAAI,aAAa,OAAO;AAAA,QACnD,kBAAkB,CAAC,YAAY,IAAI,iBAAiB,OAAO;AAAA,QAC3D,mBAAmB,CAAC,YAAY,IAAI,kBAAkB,OAAO;AAAA,QAC7D,YAAY,CAAC,YAAY,IAAI,WAAW,OAAO;AAAA,MAAA,CAChD;AAAA,IACH;AAEA,UAAM,SAAS;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAEF,aAAS,YAAY,GAAG;AACtB,UAAI,QAAS,SAAQ,EAAE,MAAM,EAAE,MAAM;AAAA,IACvC;AACA,WAAO,QAAQ,CAAC,OAAO,IAAI,iBAAiB,IAAI,WAAW,CAAC;AAC5D,WAAO,MAAM;AACX,aAAO,QAAQ,CAAC,OAAO,IAAI,oBAAoB,IAAI,WAAW,CAAC;AAAA,IACjE;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,SACE,oBAAC,OAAA,EAAI,WAAW,aACd,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAK;AAAA,MACL,aAAY;AAAA,MACZ,OAAM;AAAA,MACN,OAAM;AAAA,MACN,OAAM;AAAA,IAAA;AAAA,EAAA,GAEV;AAEJ;"}
|