@signalwire/web-components 4.0.0-beta.10 → 4.0.0-beta.12
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/README.md +48 -55
- package/dist/_virtual/_commonjsHelpers.js +9 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/prism-python.js +28 -0
- package/dist/_virtual/prism-python.js.map +1 -0
- package/dist/_virtual/prism-python2.js +5 -0
- package/dist/_virtual/prism-python2.js.map +1 -0
- package/dist/_virtual/prism-typescript.js +28 -0
- package/dist/_virtual/prism-typescript.js.map +1 -0
- package/dist/_virtual/prism-typescript2.js +5 -0
- package/dist/_virtual/prism-typescript2.js.map +1 -0
- package/dist/_virtual/prism.js +28 -0
- package/dist/_virtual/prism.js.map +1 -0
- package/dist/_virtual/prism2.js +5 -0
- package/dist/_virtual/prism2.js.map +1 -0
- package/dist/assets/sw_background.webp.js +5 -0
- package/dist/assets/sw_background.webp.js.map +1 -0
- package/dist/components/UI/DEFAULT_BACKGROUND.d.ts +4 -0
- package/dist/components/UI/DEFAULT_BACKGROUND.d.ts.map +1 -0
- package/dist/components/UI/DEFAULT_BACKGROUND.js +5 -0
- package/dist/components/UI/DEFAULT_BACKGROUND.js.map +1 -0
- package/dist/components/UI/controls/sw-ui-control-bar.d.ts +114 -0
- package/dist/components/UI/controls/sw-ui-control-bar.d.ts.map +1 -0
- package/dist/components/UI/controls/sw-ui-control-bar.js +324 -0
- package/dist/components/UI/controls/sw-ui-control-bar.js.map +1 -0
- package/dist/components/UI/controls/sw-ui-dialpad.d.ts +67 -0
- package/dist/components/UI/controls/sw-ui-dialpad.d.ts.map +1 -0
- package/dist/components/UI/controls/sw-ui-dialpad.js +359 -0
- package/dist/components/UI/controls/sw-ui-dialpad.js.map +1 -0
- package/dist/components/UI/controls/sw-ui-dropup.d.ts +42 -0
- package/dist/components/UI/controls/sw-ui-dropup.d.ts.map +1 -0
- package/dist/components/UI/controls/sw-ui-dropup.js +137 -0
- package/dist/components/UI/controls/sw-ui-dropup.js.map +1 -0
- package/dist/components/UI/controls/sw-ui-split-button.d.ts +44 -0
- package/dist/components/UI/controls/sw-ui-split-button.d.ts.map +1 -0
- package/dist/components/UI/controls/sw-ui-split-button.js +177 -0
- package/dist/components/UI/controls/sw-ui-split-button.js.map +1 -0
- package/dist/components/UI/icons/backspace.svg.js +10 -0
- package/dist/components/UI/icons/backspace.svg.js.map +1 -0
- package/dist/components/UI/icons/camera-off.svg.js +8 -0
- package/dist/components/UI/icons/camera-off.svg.js.map +1 -0
- package/dist/components/UI/icons/camera-on.svg.js +8 -0
- package/dist/components/UI/icons/camera-on.svg.js.map +1 -0
- package/dist/components/UI/icons/check-circle.svg.js +6 -0
- package/dist/components/UI/icons/check-circle.svg.js.map +1 -0
- package/dist/components/UI/icons/chevron-up.svg.js +8 -0
- package/dist/components/UI/icons/chevron-up.svg.js.map +1 -0
- package/dist/components/UI/icons/close.svg.js +6 -0
- package/dist/components/UI/icons/close.svg.js.map +1 -0
- package/dist/components/UI/icons/copy.svg.js +6 -0
- package/dist/components/UI/icons/copy.svg.js.map +1 -0
- package/dist/components/UI/icons/download.svg.js +6 -0
- package/dist/components/UI/icons/download.svg.js.map +1 -0
- package/dist/components/UI/icons/fullscreen-exit.svg.js +8 -0
- package/dist/components/UI/icons/fullscreen-exit.svg.js.map +1 -0
- package/dist/components/UI/icons/fullscreen.svg.js +8 -0
- package/dist/components/UI/icons/fullscreen.svg.js.map +1 -0
- package/dist/components/UI/icons/hand-raise.svg.js +6 -0
- package/dist/components/UI/icons/hand-raise.svg.js.map +1 -0
- package/dist/components/UI/icons/icons.d.ts +31 -0
- package/dist/components/UI/icons/icons.d.ts.map +1 -0
- package/dist/components/UI/icons/icons.js +60 -0
- package/dist/components/UI/icons/icons.js.map +1 -0
- package/dist/components/UI/icons/index.d.ts +4 -0
- package/dist/components/UI/icons/index.d.ts.map +1 -0
- package/dist/components/UI/icons/info-circle.svg.js +6 -0
- package/dist/components/UI/icons/info-circle.svg.js.map +1 -0
- package/dist/components/UI/icons/mic-off.svg.js +8 -0
- package/dist/components/UI/icons/mic-off.svg.js.map +1 -0
- package/dist/components/UI/icons/mic-on.svg.js +8 -0
- package/dist/components/UI/icons/mic-on.svg.js.map +1 -0
- package/dist/components/UI/icons/person.svg.js +8 -0
- package/dist/components/UI/icons/person.svg.js.map +1 -0
- package/dist/components/UI/icons/phone-call.svg.js +8 -0
- package/dist/components/UI/icons/phone-call.svg.js.map +1 -0
- package/dist/components/UI/icons/phone-end.svg.js +8 -0
- package/dist/components/UI/icons/phone-end.svg.js.map +1 -0
- package/dist/components/UI/icons/room.svg.js +8 -0
- package/dist/components/UI/icons/room.svg.js.map +1 -0
- package/dist/components/UI/icons/screen-share-off.svg.js +9 -0
- package/dist/components/UI/icons/screen-share-off.svg.js.map +1 -0
- package/dist/components/UI/icons/screen-share.svg.js +9 -0
- package/dist/components/UI/icons/screen-share.svg.js.map +1 -0
- package/dist/components/UI/icons/sendIcon.svg.js +9 -0
- package/dist/components/UI/icons/sendIcon.svg.js.map +1 -0
- package/dist/components/UI/icons/settings.svg.js +8 -0
- package/dist/components/UI/icons/settings.svg.js.map +1 -0
- package/dist/components/UI/icons/speaker-off.svg.js +8 -0
- package/dist/components/UI/icons/speaker-off.svg.js.map +1 -0
- package/dist/components/UI/icons/speaker-on.svg.js +8 -0
- package/dist/components/UI/icons/speaker-on.svg.js.map +1 -0
- package/dist/components/UI/icons/spinner.svg.js +9 -0
- package/dist/components/UI/icons/spinner.svg.js.map +1 -0
- package/dist/components/UI/icons/sw-logo.svg.js +11 -0
- package/dist/components/UI/icons/sw-logo.svg.js.map +1 -0
- package/dist/components/UI/icons/sw-ui-icon.d.ts +28 -0
- package/dist/components/UI/icons/sw-ui-icon.d.ts.map +1 -0
- package/dist/components/UI/icons/sw-ui-icon.js +47 -0
- package/dist/components/UI/icons/sw-ui-icon.js.map +1 -0
- package/dist/components/UI/icons/transcript.svg.js +10 -0
- package/dist/components/UI/icons/transcript.svg.js.map +1 -0
- package/dist/components/UI/index.d.ts +18 -0
- package/dist/components/UI/index.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-background.d.ts +33 -0
- package/dist/components/UI/layout/sw-ui-background.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-background.js +106 -0
- package/dist/components/UI/layout/sw-ui-background.js.map +1 -0
- package/dist/components/UI/layout/sw-ui-call-layout.d.ts +69 -0
- package/dist/components/UI/layout/sw-ui-call-layout.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-call-layout.js +278 -0
- package/dist/components/UI/layout/sw-ui-call-layout.js.map +1 -0
- package/dist/components/UI/layout/sw-ui-content-drawer.d.ts +50 -0
- package/dist/components/UI/layout/sw-ui-content-drawer.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-content-drawer.js +413 -0
- package/dist/components/UI/layout/sw-ui-content-drawer.js.map +1 -0
- package/dist/components/UI/layout/sw-ui-modal.d.ts +31 -0
- package/dist/components/UI/layout/sw-ui-modal.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-modal.js +150 -0
- package/dist/components/UI/layout/sw-ui-modal.js.map +1 -0
- package/dist/components/UI/layout/sw-ui-responsive-container.d.ts +15 -0
- package/dist/components/UI/layout/sw-ui-responsive-container.d.ts.map +1 -0
- package/dist/components/UI/layout/sw-ui-responsive-container.js +78 -0
- package/dist/components/UI/layout/sw-ui-responsive-container.js.map +1 -0
- package/dist/components/UI/sw-ui-alert.d.ts +37 -0
- package/dist/components/UI/sw-ui-alert.d.ts.map +1 -0
- package/dist/components/UI/sw-ui-alert.js +126 -0
- package/dist/components/UI/sw-ui-alert.js.map +1 -0
- package/dist/components/UI/sw-ui-transcript-view.d.ts +56 -0
- package/dist/components/UI/sw-ui-transcript-view.d.ts.map +1 -0
- package/dist/components/UI/sw-ui-transcript-view.js +341 -0
- package/dist/components/UI/sw-ui-transcript-view.js.map +1 -0
- package/dist/components/{audio-level.d.ts → sw-audio-level.d.ts} +44 -4
- package/dist/components/sw-audio-level.d.ts.map +1 -0
- package/dist/components/sw-audio-level.js +252 -0
- package/dist/components/sw-audio-level.js.map +1 -0
- package/dist/components/sw-call-controls.d.ts +58 -0
- package/dist/components/sw-call-controls.d.ts.map +1 -0
- package/dist/components/sw-call-controls.js +186 -0
- package/dist/components/sw-call-controls.js.map +1 -0
- package/dist/components/sw-call-dialpad.d.ts +52 -0
- package/dist/components/sw-call-dialpad.d.ts.map +1 -0
- package/dist/components/sw-call-dialpad.js +70 -0
- package/dist/components/sw-call-dialpad.js.map +1 -0
- package/dist/components/sw-call-media.d.ts +68 -0
- package/dist/components/sw-call-media.d.ts.map +1 -0
- package/dist/components/sw-call-media.js +220 -0
- package/dist/components/sw-call-media.js.map +1 -0
- package/dist/components/sw-call-provider.d.ts +41 -0
- package/dist/components/sw-call-provider.d.ts.map +1 -0
- package/dist/components/sw-call-provider.js +37 -0
- package/dist/components/sw-call-provider.js.map +1 -0
- package/dist/components/sw-call-status.d.ts +50 -0
- package/dist/components/sw-call-status.d.ts.map +1 -0
- package/dist/components/sw-call-status.js +203 -0
- package/dist/components/sw-call-status.js.map +1 -0
- package/dist/components/sw-call-widget/client-factory.d.ts +6 -0
- package/dist/components/sw-call-widget/client-factory.d.ts.map +1 -0
- package/dist/components/sw-call-widget/client-factory.js +25 -0
- package/dist/components/sw-call-widget/client-factory.js.map +1 -0
- package/dist/components/sw-call-widget/sw-call-widget.d.ts +110 -0
- package/dist/components/sw-call-widget/sw-call-widget.d.ts.map +1 -0
- package/dist/components/sw-call-widget/sw-call-widget.js +250 -0
- package/dist/components/sw-call-widget/sw-call-widget.js.map +1 -0
- package/dist/components/sw-call-widget/sw-call-widget.templates.d.ts +17 -0
- package/dist/components/sw-call-widget/sw-call-widget.templates.d.ts.map +1 -0
- package/dist/components/sw-call-widget/sw-call-widget.templates.js +80 -0
- package/dist/components/sw-call-widget/sw-call-widget.templates.js.map +1 -0
- package/dist/components/sw-click-to-call.d.ts +39 -0
- package/dist/components/sw-click-to-call.d.ts.map +1 -0
- package/dist/components/sw-click-to-call.js +87 -0
- package/dist/components/sw-click-to-call.js.map +1 -0
- package/dist/components/sw-device-selector/index.d.ts +2 -0
- package/dist/components/sw-device-selector/index.d.ts.map +1 -0
- package/dist/components/sw-device-selector/sw-device-selector.d.ts +69 -0
- package/dist/components/sw-device-selector/sw-device-selector.d.ts.map +1 -0
- package/dist/components/sw-device-selector/sw-device-selector.js +277 -0
- package/dist/components/sw-device-selector/sw-device-selector.js.map +1 -0
- package/dist/components/sw-device-selector/sw-device-selector.styles.d.ts +2 -0
- package/dist/components/sw-device-selector/sw-device-selector.styles.d.ts.map +1 -0
- package/dist/components/sw-device-selector/sw-device-selector.styles.js +238 -0
- package/dist/components/sw-device-selector/sw-device-selector.styles.js.map +1 -0
- package/dist/components/{directory.d.ts → sw-directory.d.ts} +17 -3
- package/dist/components/sw-directory.d.ts.map +1 -0
- package/dist/components/sw-directory.js +434 -0
- package/dist/components/sw-directory.js.map +1 -0
- package/dist/components/sw-local-camera.d.ts +53 -0
- package/dist/components/sw-local-camera.d.ts.map +1 -0
- package/dist/components/sw-local-camera.js +147 -0
- package/dist/components/sw-local-camera.js.map +1 -0
- package/dist/components/sw-participant-controls.d.ts +58 -0
- package/dist/components/sw-participant-controls.d.ts.map +1 -0
- package/dist/components/sw-participant-controls.js +305 -0
- package/dist/components/sw-participant-controls.js.map +1 -0
- package/dist/components/sw-participants.d.ts +55 -0
- package/dist/components/sw-participants.d.ts.map +1 -0
- package/dist/components/sw-participants.js +319 -0
- package/dist/components/sw-participants.js.map +1 -0
- package/dist/components/sw-self-media.d.ts +46 -0
- package/dist/components/sw-self-media.d.ts.map +1 -0
- package/dist/components/sw-self-media.js +106 -0
- package/dist/components/sw-self-media.js.map +1 -0
- package/dist/context/CallStateContextController.d.ts +31 -0
- package/dist/context/CallStateContextController.d.ts.map +1 -0
- package/dist/context/CallStateContextController.js +125 -0
- package/dist/context/CallStateContextController.js.map +1 -0
- package/dist/context/DevicesContextController.d.ts +38 -0
- package/dist/context/DevicesContextController.d.ts.map +1 -0
- package/dist/context/DevicesContextController.js +124 -0
- package/dist/context/DevicesContextController.js.map +1 -0
- package/dist/context/TranscriptController.d.ts +32 -0
- package/dist/context/TranscriptController.d.ts.map +1 -0
- package/dist/context/TranscriptController.js +113 -0
- package/dist/context/TranscriptController.js.map +1 -0
- package/dist/context/UserEventController.d.ts +26 -0
- package/dist/context/UserEventController.d.ts.map +1 -0
- package/dist/context/UserEventController.js +55 -0
- package/dist/context/UserEventController.js.map +1 -0
- package/dist/context/call-state-context.d.ts +75 -0
- package/dist/context/call-state-context.d.ts.map +1 -0
- package/dist/context/call-state-context.js +39 -0
- package/dist/context/call-state-context.js.map +1 -0
- package/dist/context/chat-state.d.ts +41 -0
- package/dist/context/chat-state.d.ts.map +1 -0
- package/dist/context/chat-state.js +61 -0
- package/dist/context/chat-state.js.map +1 -0
- package/dist/context/devices-context.d.ts +28 -0
- package/dist/context/devices-context.d.ts.map +1 -0
- package/dist/context/devices-context.js +6 -0
- package/dist/context/devices-context.js.map +1 -0
- package/dist/context/index.d.ts +9 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/transcript-context.d.ts +9 -0
- package/dist/context/transcript-context.d.ts.map +1 -0
- package/dist/context/transcript-context.js +6 -0
- package/dist/context/transcript-context.js.map +1 -0
- package/dist/context/types.d.ts +9 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/embed/signalwire-web-components-embed.iife.js +3225 -0
- package/dist/embed/signalwire-web-components-embed.iife.js.map +1 -0
- package/dist/embed/signalwire-web-components-embed.umd.cjs +3225 -0
- package/dist/embed/signalwire-web-components-embed.umd.cjs.map +1 -0
- package/dist/embed.d.ts +20 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/index.d.ts +19 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -34
- package/dist/index.js.map +1 -1
- package/dist/node_modules/dompurify/dist/purify.es.js +597 -0
- package/dist/node_modules/dompurify/dist/purify.es.js.map +1 -0
- package/dist/node_modules/marked/lib/marked.esm.js +1475 -0
- package/dist/node_modules/marked/lib/marked.esm.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-bash.js +220 -0
- package/dist/node_modules/prismjs/components/prism-bash.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-css.js +56 -0
- package/dist/node_modules/prismjs/components/prism-css.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-javascript.js +138 -0
- package/dist/node_modules/prismjs/components/prism-javascript.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-json.js +26 -0
- package/dist/node_modules/prismjs/components/prism-json.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-markdown.js +301 -0
- package/dist/node_modules/prismjs/components/prism-markdown.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-python.js +69 -0
- package/dist/node_modules/prismjs/components/prism-python.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-sql.js +34 -0
- package/dist/node_modules/prismjs/components/prism-sql.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-typescript.js +53 -0
- package/dist/node_modules/prismjs/components/prism-typescript.js.map +1 -0
- package/dist/node_modules/prismjs/components/prism-yaml.js +67 -0
- package/dist/node_modules/prismjs/components/prism-yaml.js.map +1 -0
- package/dist/node_modules/prismjs/prism.js +1165 -0
- package/dist/node_modules/prismjs/prism.js.map +1 -0
- package/dist/react.d.ts +96 -46
- package/dist/theme.css +451 -0
- package/dist/theme.css.js +5 -0
- package/dist/theme.css.js.map +1 -0
- package/dist/types/index.d.ts +9 -33
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/prism.d.ts +4 -0
- package/dist/utils/prism.d.ts.map +1 -0
- package/dist/utils/prism.js +34 -0
- package/dist/utils/prism.js.map +1 -0
- package/dist/utils/theme-loader.d.ts +11 -0
- package/dist/utils/theme-loader.d.ts.map +1 -0
- package/dist/utils/theme-loader.js +17 -0
- package/dist/utils/theme-loader.js.map +1 -0
- package/dist/utils/transcriptToMarkdown.d.ts +14 -0
- package/dist/utils/transcriptToMarkdown.d.ts.map +1 -0
- package/dist/utils/transcriptToMarkdown.js +59 -0
- package/dist/utils/transcriptToMarkdown.js.map +1 -0
- package/dist/utils/use-google-font.d.ts +18 -0
- package/dist/utils/use-google-font.d.ts.map +1 -0
- package/dist/utils/use-google-font.js +12 -0
- package/dist/utils/use-google-font.js.map +1 -0
- package/dist/utils/user-variables.d.ts +20 -0
- package/dist/utils/user-variables.d.ts.map +1 -0
- package/dist/utils/user-variables.js +37 -0
- package/dist/utils/user-variables.js.map +1 -0
- package/package.json +104 -41
- package/dist/components/audio-level.d.ts.map +0 -1
- package/dist/components/audio-level.js +0 -203
- package/dist/components/audio-level.js.map +0 -1
- package/dist/components/call-controls.d.ts +0 -163
- package/dist/components/call-controls.d.ts.map +0 -1
- package/dist/components/call-controls.js +0 -606
- package/dist/components/call-controls.js.map +0 -1
- package/dist/components/call-media.d.ts +0 -114
- package/dist/components/call-media.d.ts.map +0 -1
- package/dist/components/call-media.js +0 -219
- package/dist/components/call-media.js.map +0 -1
- package/dist/components/call-status.d.ts +0 -68
- package/dist/components/call-status.d.ts.map +0 -1
- package/dist/components/call-status.js +0 -254
- package/dist/components/call-status.js.map +0 -1
- package/dist/components/click-to-call.d.ts +0 -123
- package/dist/components/click-to-call.d.ts.map +0 -1
- package/dist/components/click-to-call.js +0 -428
- package/dist/components/click-to-call.js.map +0 -1
- package/dist/components/device-selector.d.ts +0 -224
- package/dist/components/device-selector.d.ts.map +0 -1
- package/dist/components/device-selector.js +0 -685
- package/dist/components/device-selector.js.map +0 -1
- package/dist/components/dialpad.d.ts +0 -60
- package/dist/components/dialpad.d.ts.map +0 -1
- package/dist/components/dialpad.js +0 -372
- package/dist/components/dialpad.js.map +0 -1
- package/dist/components/directory.d.ts.map +0 -1
- package/dist/components/directory.js +0 -503
- package/dist/components/directory.js.map +0 -1
- package/dist/components/example-button.d.ts +0 -20
- package/dist/components/example-button.d.ts.map +0 -1
- package/dist/components/example-button.js +0 -74
- package/dist/components/example-button.js.map +0 -1
- package/dist/components/participant-controls.d.ts +0 -94
- package/dist/components/participant-controls.d.ts.map +0 -1
- package/dist/components/participant-controls.js +0 -468
- package/dist/components/participant-controls.js.map +0 -1
- package/dist/components/participants.d.ts +0 -116
- package/dist/components/participants.d.ts.map +0 -1
- package/dist/components/participants.js +0 -394
- package/dist/components/participants.js.map +0 -1
- package/dist/components/self-media.d.ts +0 -78
- package/dist/components/self-media.d.ts.map +0 -1
- package/dist/components/self-media.js +0 -129
- package/dist/components/self-media.js.map +0 -1
- package/dist/context/call-context.d.ts +0 -13
- package/dist/context/call-context.d.ts.map +0 -1
- package/dist/context/call-context.js +0 -6
- package/dist/context/call-context.js.map +0 -1
- package/dist/types/index.js +0 -12
- package/dist/types/index.js.map +0 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { LitElement as p, nothing as h, html as d, css as m } from "lit";
|
|
2
|
+
import { property as c, state as u, customElement as v } from "lit/decorators.js";
|
|
3
|
+
var f = Object.defineProperty, g = Object.getOwnPropertyDescriptor, i = (r, a, s, o) => {
|
|
4
|
+
for (var t = o > 1 ? void 0 : o ? g(a, s) : a, n = r.length - 1, l; n >= 0; n--)
|
|
5
|
+
(l = r[n]) && (t = (o ? l(a, s, t) : l(t)) || t);
|
|
6
|
+
return o && t && f(a, s, t), t;
|
|
7
|
+
};
|
|
8
|
+
let e = class extends p {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments), this.transcript = !1, this.loading = !1, this.shadow = !1, this._fullscreen = !1, this._onFullscreenChange = () => {
|
|
11
|
+
const r = document.fullscreenElement === this;
|
|
12
|
+
this._fullscreen !== r && (this._fullscreen = r, r ? this.setAttribute("fullscreen", "") : this.removeAttribute("fullscreen"));
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Reflects as an attribute so CSS can target `:host([fullscreen])`. */
|
|
16
|
+
get fullscreen() {
|
|
17
|
+
return this._fullscreen;
|
|
18
|
+
}
|
|
19
|
+
toggleTranscript() {
|
|
20
|
+
this.transcript = !this.transcript;
|
|
21
|
+
}
|
|
22
|
+
toggleFullscreen() {
|
|
23
|
+
document.fullscreenElement ? document.exitFullscreen().catch(() => {
|
|
24
|
+
}) : this.requestFullscreen().catch(() => {
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
connectedCallback() {
|
|
28
|
+
super.connectedCallback(), document.addEventListener("fullscreenchange", this._onFullscreenChange);
|
|
29
|
+
}
|
|
30
|
+
disconnectedCallback() {
|
|
31
|
+
super.disconnectedCallback(), document.removeEventListener("fullscreenchange", this._onFullscreenChange);
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
return d`
|
|
35
|
+
<div class="root">
|
|
36
|
+
<div class="video">
|
|
37
|
+
<slot name="background"></slot>
|
|
38
|
+
<div class="video-content">
|
|
39
|
+
<slot name="video"></slot>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="floating-video">
|
|
42
|
+
<slot name="floating-video"></slot>
|
|
43
|
+
</div>
|
|
44
|
+
${this.loading ? d`<div class="loading-overlay">
|
|
45
|
+
<sw-ui-icon
|
|
46
|
+
class="spinner"
|
|
47
|
+
name="spinner"
|
|
48
|
+
.size=${48}
|
|
49
|
+
></sw-ui-icon>
|
|
50
|
+
</div>` : h}
|
|
51
|
+
</div>
|
|
52
|
+
<div class="controls">
|
|
53
|
+
<slot name="controls"></slot>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="transcript-pane">
|
|
56
|
+
<div class="transcript-inner">
|
|
57
|
+
<slot name="transcript"></slot>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
e.styles = m`
|
|
65
|
+
/* ================================================================== *
|
|
66
|
+
* HOST *
|
|
67
|
+
* ================================================================== */
|
|
68
|
+
:host {
|
|
69
|
+
display: block;
|
|
70
|
+
width: 100%;
|
|
71
|
+
height: 100%;
|
|
72
|
+
border-radius: var(--sw-call-layout-radius, var(--radius-md));
|
|
73
|
+
overflow: hidden;
|
|
74
|
+
font-family: var(--type-family-body);
|
|
75
|
+
container-type: size;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:host([shadow]) {
|
|
79
|
+
box-shadow: var(--sw-call-layout-shadow, var(--shadow-md));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* ================================================================== *
|
|
83
|
+
* FULLSCREEN *
|
|
84
|
+
* ================================================================== */
|
|
85
|
+
:host([fullscreen]) {
|
|
86
|
+
border-radius: 0;
|
|
87
|
+
box-shadow: none;
|
|
88
|
+
width: 100vw;
|
|
89
|
+
height: 100vh;
|
|
90
|
+
background: black;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* ================================================================== *
|
|
94
|
+
* GRID — wide (landscape) default *
|
|
95
|
+
* ================================================================== */
|
|
96
|
+
.root {
|
|
97
|
+
display: grid;
|
|
98
|
+
height: 100%;
|
|
99
|
+
grid-template-rows: 1fr auto;
|
|
100
|
+
grid-template-columns: 1fr 0fr;
|
|
101
|
+
grid-template-areas:
|
|
102
|
+
'video transcript'
|
|
103
|
+
'controls controls';
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
:host([transcript]) .root {
|
|
107
|
+
grid-template-columns: 1fr minmax(180px, 0.25fr);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* ================================================================== *
|
|
111
|
+
* VIDEO AREA *
|
|
112
|
+
* ================================================================== */
|
|
113
|
+
.video {
|
|
114
|
+
grid-area: video;
|
|
115
|
+
display: grid;
|
|
116
|
+
grid-template: 1fr / 1fr;
|
|
117
|
+
position: relative;
|
|
118
|
+
overflow: hidden;
|
|
119
|
+
min-height: 0;
|
|
120
|
+
min-width: 0;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* ── Background layer ───────────────────────────────────────────── */
|
|
124
|
+
slot[name='background'] {
|
|
125
|
+
display: contents;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
::slotted([slot='background']) {
|
|
129
|
+
grid-area: 1 / 1;
|
|
130
|
+
z-index: 0;
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* ── Video content layer ────────────────────────────────────────── */
|
|
135
|
+
.video-content {
|
|
136
|
+
grid-area: 1 / 1;
|
|
137
|
+
z-index: 1;
|
|
138
|
+
min-height: 0;
|
|
139
|
+
min-width: 0;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* ── Floating PiP ───────────────────────────────────────────────── */
|
|
143
|
+
.floating-video {
|
|
144
|
+
position: absolute;
|
|
145
|
+
bottom: var(--sw-call-layout-pip-bottom, 12px);
|
|
146
|
+
right: var(--sw-call-layout-pip-right, 12px);
|
|
147
|
+
width: var(--sw-call-layout-pip-width, clamp(80px, 20%, 200px));
|
|
148
|
+
max-width: calc(100% - var(--sw-call-layout-pip-right, 12px) * 2);
|
|
149
|
+
max-height: calc(100% - var(--sw-call-layout-pip-bottom, 12px) * 2);
|
|
150
|
+
border-radius: var(--sw-call-layout-pip-radius, var(--radius-md));
|
|
151
|
+
box-shadow: var(--sw-call-layout-pip-shadow, var(--shadow-md));
|
|
152
|
+
overflow: hidden;
|
|
153
|
+
z-index: 3;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* ── Loading overlay ────────────────────────────────────────────── */
|
|
157
|
+
.loading-overlay {
|
|
158
|
+
grid-area: 1 / 1;
|
|
159
|
+
z-index: 4;
|
|
160
|
+
display: flex;
|
|
161
|
+
align-items: center;
|
|
162
|
+
justify-content: center;
|
|
163
|
+
background: var(--sw-call-layout-loading-bg, rgba(0, 0, 0, 0.6));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.spinner {
|
|
167
|
+
animation: spin 1s linear infinite;
|
|
168
|
+
color: rgba(255, 255, 255, 0.85);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@keyframes spin {
|
|
172
|
+
to {
|
|
173
|
+
transform: rotate(360deg);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* ================================================================== *
|
|
178
|
+
* CONTROLS *
|
|
179
|
+
* ================================================================== */
|
|
180
|
+
.controls {
|
|
181
|
+
grid-area: controls;
|
|
182
|
+
position: relative;
|
|
183
|
+
z-index: 10;
|
|
184
|
+
overflow: visible;
|
|
185
|
+
min-width: 0;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/* ================================================================== *
|
|
189
|
+
* TRANSCRIPT PANE *
|
|
190
|
+
* ================================================================== */
|
|
191
|
+
.transcript-pane {
|
|
192
|
+
grid-area: transcript;
|
|
193
|
+
overflow: hidden;
|
|
194
|
+
min-width: 0;
|
|
195
|
+
min-height: 0;
|
|
196
|
+
|
|
197
|
+
/* Animate width via grid + clip the overflow during collapse */
|
|
198
|
+
transition: opacity 350ms ease-in-out;
|
|
199
|
+
opacity: 0;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:host([transcript]) .transcript-pane {
|
|
203
|
+
opacity: 1;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.transcript-inner {
|
|
207
|
+
height: 100%;
|
|
208
|
+
width: 100%;
|
|
209
|
+
overflow: hidden;
|
|
210
|
+
display: flex;
|
|
211
|
+
flex-direction: column;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/* ================================================================== *
|
|
215
|
+
* NARROW / PORTRAIT — aspect-ratio <= ~4:3 *
|
|
216
|
+
* ================================================================== */
|
|
217
|
+
@container (max-aspect-ratio: 4/3) {
|
|
218
|
+
.root {
|
|
219
|
+
grid-template-rows: 1fr auto 0fr;
|
|
220
|
+
grid-template-columns: 1fr;
|
|
221
|
+
grid-template-areas:
|
|
222
|
+
'video'
|
|
223
|
+
'controls'
|
|
224
|
+
'transcript';
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Cap the video so it doesn't hog all space — leave room for
|
|
228
|
+
transcript. minmax(0, 3fr) keeps the video dominant but allows
|
|
229
|
+
the transcript row to claim meaningful space. */
|
|
230
|
+
:host([transcript]) .root {
|
|
231
|
+
grid-template-columns: 1fr;
|
|
232
|
+
grid-template-rows: minmax(0, 3fr) auto minmax(120px, 2fr);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/* ================================================================== *
|
|
237
|
+
* VERY WIDE — show transcript narrower *
|
|
238
|
+
* ================================================================== */
|
|
239
|
+
@container (min-aspect-ratio: 21/9) {
|
|
240
|
+
:host([transcript]) .root {
|
|
241
|
+
grid-template-columns: 1fr minmax(160px, 0.15fr);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/* ================================================================== *
|
|
246
|
+
* TINY CONTAINER GUARDS *
|
|
247
|
+
* ================================================================== */
|
|
248
|
+
@container (max-width: 240px) {
|
|
249
|
+
.floating-video {
|
|
250
|
+
display: none;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
@container (max-width: 200px), (max-height: 200px) {
|
|
255
|
+
.transcript-pane {
|
|
256
|
+
display: none;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
`;
|
|
260
|
+
i([
|
|
261
|
+
c({ type: Boolean, reflect: !0 })
|
|
262
|
+
], e.prototype, "transcript", 2);
|
|
263
|
+
i([
|
|
264
|
+
c({ type: Boolean, reflect: !0 })
|
|
265
|
+
], e.prototype, "loading", 2);
|
|
266
|
+
i([
|
|
267
|
+
c({ type: Boolean, reflect: !0 })
|
|
268
|
+
], e.prototype, "shadow", 2);
|
|
269
|
+
i([
|
|
270
|
+
u()
|
|
271
|
+
], e.prototype, "_fullscreen", 2);
|
|
272
|
+
e = i([
|
|
273
|
+
v("sw-ui-call-layout")
|
|
274
|
+
], e);
|
|
275
|
+
export {
|
|
276
|
+
e as SwUiCallLayout
|
|
277
|
+
};
|
|
278
|
+
//# sourceMappingURL=sw-ui-call-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sw-ui-call-layout.js","sources":["../../../../src/components/UI/layout/sw-ui-call-layout.ts"],"sourcesContent":["import { LitElement, css, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport '../icons/sw-ui-icon.js';\n\n/**\n * Fluid call layout that adapts to any container shape.\n *\n * Uses the container's **aspect ratio** (not just width) to decide whether\n * the transcript pane sits beside the video (landscape) or below it\n * (portrait / narrow). The video area is always maximised.\n *\n * ```\n * Wide (landscape): Narrow (portrait):\n * ┌────────────────┬─────────┐ ┌─────────────────┐\n * │ VIDEO │ TRANSCR │ │ VIDEO │\n * │ (maximised) │ (side) │ │ (maximised) │\n * ├────────────────┴─────────┤ ├──────────────────┤\n * │ CONTROLS │ │ CONTROLS │\n * └──────────────────────────┘ ├──────────────────┤\n * │ TRANSCRIPT │\n * └──────────────────┘\n * ```\n *\n * @slot video - main video content\n * @slot background - element behind the video (e.g. `<sw-ui-background>`)\n * @slot floating-video - picture-in-picture overlay (absolute, bottom-right)\n * @slot controls - control bar beneath the video\n * @slot transcript - transcript panel (side or bottom)\n *\n * @prop {boolean} transcript - show / hide the transcript pane\n * @prop {boolean} loading - show a spinner overlay on the video area\n * @prop {boolean} shadow - apply a drop shadow to the host\n * @prop {boolean} fullscreen - (read-only) reflects the current fullscreen state\n *\n * @method toggleTranscript() - flip the transcript pane open / closed\n * @method toggleFullscreen() - enter or exit fullscreen\n * @method requestFullscreen() - inherited, enters fullscreen\n * @method exitFullscreen() - static, exits fullscreen\n *\n * @cssprop --sw-call-layout-radius [0] - border-radius on external corners\n * @cssprop --sw-call-layout-shadow - box-shadow when `shadow` is set\n * @cssprop --sw-call-layout-loading-bg [rgba(0,0,0,0.6)] - loading overlay background\n * @cssprop --loading-spinner-size [48] - spinner icon size (px, number)\n * @cssprop --sw-call-layout-transcript-transition [350ms ease-in-out] - open/close transition\n * @cssprop --sw-call-layout-pip-width [clamp(100px, 20%, 200px)] - PiP container width\n * @cssprop --sw-call-layout-pip-radius [8px] - PiP border-radius\n * @cssprop --sw-call-layout-pip-shadow [0 2px 8px rgba(0,0,0,0.5)] - PiP box-shadow\n * @cssprop --sw-call-layout-pip-bottom [12px] - PiP offset from bottom\n * @cssprop --sw-call-layout-pip-right [12px] - PiP offset from right\n */\n@customElement('sw-ui-call-layout')\nexport class SwUiCallLayout extends LitElement {\n @property({ type: Boolean, reflect: true }) transcript = false;\n @property({ type: Boolean, reflect: true }) loading = false;\n @property({ type: Boolean, reflect: true }) shadow = false;\n @state() private _fullscreen = false;\n\n /** Reflects as an attribute so CSS can target `:host([fullscreen])`. */\n get fullscreen(): boolean {\n return this._fullscreen;\n }\n\n toggleTranscript(): void {\n this.transcript = !this.transcript;\n }\n\n toggleFullscreen(): void {\n if (document.fullscreenElement) {\n document.exitFullscreen().catch(() => {});\n } else {\n this.requestFullscreen().catch(() => {});\n }\n }\n\n private _onFullscreenChange = (): void => {\n const isFs = document.fullscreenElement === this;\n if (this._fullscreen !== isFs) {\n this._fullscreen = isFs;\n if (isFs) {\n this.setAttribute('fullscreen', '');\n } else {\n this.removeAttribute('fullscreen');\n }\n }\n };\n\n connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('fullscreenchange', this._onFullscreenChange);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('fullscreenchange', this._onFullscreenChange);\n }\n\n static styles = css`\n /* ================================================================== *\n * HOST *\n * ================================================================== */\n :host {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: var(--sw-call-layout-radius, var(--radius-md));\n overflow: hidden;\n font-family: var(--type-family-body);\n container-type: size;\n }\n\n :host([shadow]) {\n box-shadow: var(--sw-call-layout-shadow, var(--shadow-md));\n }\n\n /* ================================================================== *\n * FULLSCREEN *\n * ================================================================== */\n :host([fullscreen]) {\n border-radius: 0;\n box-shadow: none;\n width: 100vw;\n height: 100vh;\n background: black;\n }\n\n /* ================================================================== *\n * GRID — wide (landscape) default *\n * ================================================================== */\n .root {\n display: grid;\n height: 100%;\n grid-template-rows: 1fr auto;\n grid-template-columns: 1fr 0fr;\n grid-template-areas:\n 'video transcript'\n 'controls controls';\n }\n\n :host([transcript]) .root {\n grid-template-columns: 1fr minmax(180px, 0.25fr);\n }\n\n /* ================================================================== *\n * VIDEO AREA *\n * ================================================================== */\n .video {\n grid-area: video;\n display: grid;\n grid-template: 1fr / 1fr;\n position: relative;\n overflow: hidden;\n min-height: 0;\n min-width: 0;\n }\n\n /* ── Background layer ───────────────────────────────────────────── */\n slot[name='background'] {\n display: contents;\n }\n\n ::slotted([slot='background']) {\n grid-area: 1 / 1;\n z-index: 0;\n overflow: hidden;\n }\n\n /* ── Video content layer ────────────────────────────────────────── */\n .video-content {\n grid-area: 1 / 1;\n z-index: 1;\n min-height: 0;\n min-width: 0;\n }\n\n /* ── Floating PiP ───────────────────────────────────────────────── */\n .floating-video {\n position: absolute;\n bottom: var(--sw-call-layout-pip-bottom, 12px);\n right: var(--sw-call-layout-pip-right, 12px);\n width: var(--sw-call-layout-pip-width, clamp(80px, 20%, 200px));\n max-width: calc(100% - var(--sw-call-layout-pip-right, 12px) * 2);\n max-height: calc(100% - var(--sw-call-layout-pip-bottom, 12px) * 2);\n border-radius: var(--sw-call-layout-pip-radius, var(--radius-md));\n box-shadow: var(--sw-call-layout-pip-shadow, var(--shadow-md));\n overflow: hidden;\n z-index: 3;\n }\n\n /* ── Loading overlay ────────────────────────────────────────────── */\n .loading-overlay {\n grid-area: 1 / 1;\n z-index: 4;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--sw-call-layout-loading-bg, rgba(0, 0, 0, 0.6));\n }\n\n .spinner {\n animation: spin 1s linear infinite;\n color: rgba(255, 255, 255, 0.85);\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n /* ================================================================== *\n * CONTROLS *\n * ================================================================== */\n .controls {\n grid-area: controls;\n position: relative;\n z-index: 10;\n overflow: visible;\n min-width: 0;\n }\n\n /* ================================================================== *\n * TRANSCRIPT PANE *\n * ================================================================== */\n .transcript-pane {\n grid-area: transcript;\n overflow: hidden;\n min-width: 0;\n min-height: 0;\n\n /* Animate width via grid + clip the overflow during collapse */\n transition: opacity 350ms ease-in-out;\n opacity: 0;\n }\n\n :host([transcript]) .transcript-pane {\n opacity: 1;\n }\n\n .transcript-inner {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n /* ================================================================== *\n * NARROW / PORTRAIT — aspect-ratio <= ~4:3 *\n * ================================================================== */\n @container (max-aspect-ratio: 4/3) {\n .root {\n grid-template-rows: 1fr auto 0fr;\n grid-template-columns: 1fr;\n grid-template-areas:\n 'video'\n 'controls'\n 'transcript';\n }\n\n /* Cap the video so it doesn't hog all space — leave room for\n transcript. minmax(0, 3fr) keeps the video dominant but allows\n the transcript row to claim meaningful space. */\n :host([transcript]) .root {\n grid-template-columns: 1fr;\n grid-template-rows: minmax(0, 3fr) auto minmax(120px, 2fr);\n }\n }\n\n /* ================================================================== *\n * VERY WIDE — show transcript narrower *\n * ================================================================== */\n @container (min-aspect-ratio: 21/9) {\n :host([transcript]) .root {\n grid-template-columns: 1fr minmax(160px, 0.15fr);\n }\n }\n\n /* ================================================================== *\n * TINY CONTAINER GUARDS *\n * ================================================================== */\n @container (max-width: 240px) {\n .floating-video {\n display: none;\n }\n }\n\n @container (max-width: 200px), (max-height: 200px) {\n .transcript-pane {\n display: none;\n }\n }\n `;\n\n render() {\n return html`\n <div class=\"root\">\n <div class=\"video\">\n <slot name=\"background\"></slot>\n <div class=\"video-content\">\n <slot name=\"video\"></slot>\n </div>\n <div class=\"floating-video\">\n <slot name=\"floating-video\"></slot>\n </div>\n ${this.loading\n ? html`<div class=\"loading-overlay\">\n <sw-ui-icon\n class=\"spinner\"\n name=\"spinner\"\n .size=${48}\n ></sw-ui-icon>\n </div>`\n : nothing}\n </div>\n <div class=\"controls\">\n <slot name=\"controls\"></slot>\n </div>\n <div class=\"transcript-pane\">\n <div class=\"transcript-inner\">\n <slot name=\"transcript\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sw-ui-call-layout': SwUiCallLayout;\n }\n}\n"],"names":["SwUiCallLayout","LitElement","isFs","html","nothing","css","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import '../icons/sw-ui-icon.js';
|
|
3
|
+
/** Formats supported by the content drawer. */
|
|
4
|
+
export type ContentFormat = 'text' | 'markdown' | 'code' | 'html';
|
|
5
|
+
/** Payload that drives the content drawer. */
|
|
6
|
+
export interface DisplayContentPayload {
|
|
7
|
+
title?: string;
|
|
8
|
+
content: string;
|
|
9
|
+
format: ContentFormat;
|
|
10
|
+
/** Prism language name (required when format === 'code'). */
|
|
11
|
+
language?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Content drawer overlay for the call widget.
|
|
15
|
+
*
|
|
16
|
+
* Slides in from the right on wide containers; on narrow containers (parent
|
|
17
|
+
* width ≤ 480 px) it slides up from the bottom instead.
|
|
18
|
+
*
|
|
19
|
+
* Formats: `text` · `markdown` (marked + DOMPurify) · `code` (Prism) · `html` (DOMPurify)
|
|
20
|
+
*
|
|
21
|
+
* @fires sw-content-drawer-close - User clicked the close button. No detail.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SwUiContentDrawer extends LitElement {
|
|
24
|
+
static styles: import("lit").CSSResult;
|
|
25
|
+
open: boolean;
|
|
26
|
+
narrow: boolean;
|
|
27
|
+
title: string;
|
|
28
|
+
content: string;
|
|
29
|
+
format: ContentFormat;
|
|
30
|
+
language: string;
|
|
31
|
+
private _renderedHtml;
|
|
32
|
+
private _renderFormat;
|
|
33
|
+
private _copied;
|
|
34
|
+
private _renderId;
|
|
35
|
+
private _ro?;
|
|
36
|
+
connectedCallback(): void;
|
|
37
|
+
disconnectedCallback(): void;
|
|
38
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
39
|
+
private _renderContent;
|
|
40
|
+
private _close;
|
|
41
|
+
private _copy;
|
|
42
|
+
private _renderBody;
|
|
43
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
44
|
+
}
|
|
45
|
+
declare global {
|
|
46
|
+
interface HTMLElementTagNameMap {
|
|
47
|
+
'sw-ui-content-drawer': SwUiContentDrawer;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sw-ui-content-drawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sw-ui-content-drawer.d.ts","sourceRoot":"","sources":["../../../../src/components/UI/layout/sw-ui-content-drawer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,wBAAwB,CAAC;AAMhC,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqCD;;;;;;;;;GASG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,MAAM,0BA4OX;IAE0C,IAAI,UAAS;IACb,MAAM,UAAS;IAC/B,KAAK,SAAM;IACX,OAAO,SAAM;IACb,MAAM,EAAE,aAAa,CAAU;IAC/B,QAAQ,SAAM;IAEjC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,OAAO,CAAS;IAGjC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,GAAG,CAAC,CAAiB;IAE7B,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;YAOxC,cAAc;IAuC5B,OAAO,CAAC,MAAM;YAIA,KAAK;IAUnB,OAAO,CAAC,WAAW;IAenB,MAAM;CA6BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,iBAAiB,CAAC;KAC3C;CACF"}
|