@nmorph/nmorph-ui-kit 3.0.4 → 3.0.6

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.
Files changed (59) hide show
  1. package/dist/assets/icons/chevron-right.svg.js +2 -2
  2. package/dist/assets/icons/hand.svg.js +10 -28
  3. package/dist/assets/icons/mic.svg.js +6 -6
  4. package/dist/assets/icons/mute.svg.js +6 -6
  5. package/dist/assets/icons/pin.svg.js +5 -5
  6. package/dist/assets/icons/video-camera-off.svg.js +6 -6
  7. package/dist/components/basic/nmorph-icon/NmorphIcon.vue2.js +9 -9
  8. package/dist/components/basic/nmorph-scroll/NmorphScroll.css +1 -1
  9. package/dist/components/basic/nmorph-scroll/NmorphScroll.vue2.js +25 -20
  10. package/dist/components/data/nmorph-audio-preview/NmorphAudioPreview.css +1 -1
  11. package/dist/components/data/nmorph-card/NmorphCard.css +1 -1
  12. package/dist/components/data/nmorph-card/NmorphCard.vue2.js +23 -18
  13. package/dist/components/data/nmorph-carousel/NmorphCarousel.css +1 -1
  14. package/dist/components/data/nmorph-carousel/NmorphCarousel.vue.js +10 -10
  15. package/dist/components/data/nmorph-carousel/NmorphCarousel.vue2.js +23 -20
  16. package/dist/components/data/nmorph-file-card/NmorphFileCard.css +1 -1
  17. package/dist/components/data/nmorph-file-card/NmorphFileCard.vue2.js +7 -7
  18. package/dist/components/data/nmorph-image/NmorphImage.vue2.js +1 -1
  19. package/dist/components/data/nmorph-media-tile/NmorphMediaTile.css +1 -1
  20. package/dist/components/data/nmorph-media-tile/NmorphMediaTile.vue.js +82 -87
  21. package/dist/components/data/nmorph-media-tile/NmorphMediaTile.vue2.js +80 -35
  22. package/dist/components/data/nmorph-pagination/NmorphPagination.vue.js +87 -91
  23. package/dist/components/data/nmorph-pagination/NmorphPagination.vue2.js +71 -44
  24. package/dist/components/data/nmorph-table/NmorphTable.vue.js +114 -162
  25. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.css +1 -1
  26. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue.js +4 -4
  27. package/dist/components/data/nmorph-video-preview/NmorphVideoPreview.vue2.js +25 -25
  28. package/dist/components/feedback/nmorph-guide/NmorphGuide.vue2.js +66 -61
  29. package/dist/components/feedback/nmorph-guide/NmorphGuideStep.vue.js +25 -23
  30. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.css +1 -1
  31. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.vue.js +88 -48
  32. package/dist/components/feedback/nmorph-tooltip/NmorphTooltip.vue2.js +75 -59
  33. package/dist/components/form/nmorph-file-upload/NmorphFileUpload.css +1 -1
  34. package/dist/components/form/nmorph-select-button/NmorphSelectButton.css +1 -1
  35. package/dist/components/form/nmorph-select-button/components/nmorph-select-button-item/NmorphSelectButtonItem.css +1 -1
  36. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.css +1 -1
  37. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.vue.js +128 -95
  38. package/dist/components/form/nmorph-time-picker/NmorphTimePicker.vue2.js +73 -71
  39. package/dist/components/navigation/nmorph-stepper/NmorphStepper.css +1 -1
  40. package/dist/components/navigation/nmorph-stepper/NmorphStepper.vue.js +49 -26
  41. package/dist/index.umd.js +20 -20
  42. package/dist/package.json.js +1 -1
  43. package/dist/src/components/basic/nmorph-icon/NmorphIcon.vue.d.ts +0 -3
  44. package/dist/src/components/basic/nmorph-scroll/NmorphScroll.vue.d.ts +1 -0
  45. package/dist/src/components/basic/nmorph-scroll/types.d.ts +1 -0
  46. package/dist/src/components/data/nmorph-card/NmorphCard.vue.d.ts +1 -0
  47. package/dist/src/components/data/nmorph-card/types.d.ts +1 -0
  48. package/dist/src/components/data/nmorph-media-tile/NmorphMediaTile.vue.d.ts +2 -1
  49. package/dist/src/components/data/nmorph-media-tile/types.d.ts +1 -1
  50. package/dist/src/components/data/nmorph-pagination/NmorphPagination.vue.d.ts +1 -0
  51. package/dist/src/components/data/nmorph-pagination/types.d.ts +1 -0
  52. package/dist/src/components/data/nmorph-table/NmorphTable.vue.d.ts +0 -1
  53. package/dist/src/components/feedback/nmorph-guide/NmorphGuide.vue.d.ts +2 -0
  54. package/dist/src/components/feedback/nmorph-guide/types.d.ts +4 -0
  55. package/dist/src/components/feedback/nmorph-tooltip/NmorphTooltip.vue.d.ts +2 -0
  56. package/dist/src/components/feedback/nmorph-tooltip/types.d.ts +2 -0
  57. package/dist/src/components/form/nmorph-slider/NmorphSlider.vue.d.ts +10 -2
  58. package/dist/style.css +1 -1
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- .nmorph-file-card{display:flex;gap:var(--indentation-03);align-items:center;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:var(--nmorph-private-file-card-height, auto);min-height:var(--nmorph-private-file-card-height, 64px);padding:var(--indentation-03);color:var(--nmorph-text-color);background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-file-card .nmorph-file-card__icon{position:relative;display:flex;flex:0 0 auto;justify-content:center;align-items:center;width:36px;height:36px;color:var(--nmorph-text-color);background:color-mix(in srgb,var(--nmorph-text-color) 10%,transparent);border-radius:var(--default-border-radius);--nmorph-private-icon-color: currentColor}.nmorph-file-card .nmorph-file-card__icon-action{position:absolute;right:-4px;bottom:-4px;display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;color:var(--nmorph-contrast-text-color);text-decoration:none;background:color-mix(in srgb,var(--nmorph-black-color) 36%,transparent);border-radius:var(--border-radius-circular);box-shadow:var(--nmorph-shadow-outset)}.nmorph-file-card .nmorph-file-card__icon-action:hover{background:color-mix(in srgb,var(--nmorph-black-color) 48%,transparent)}.nmorph-file-card .nmorph-file-card__icon-action .nmorph-icon{--nmorph-private-icon-color: var(--nmorph-contrast-text-color)}.nmorph-file-card .nmorph-file-card__body{display:flex;flex:1 1 0;flex-direction:column;gap:var(--indentation-01);min-width:0}.nmorph-file-card .nmorph-file-card__info{display:flex;flex-direction:column;gap:2px;min-width:0}.nmorph-file-card .nmorph-file-card__name,.nmorph-file-card .nmorph-file-card__meta,.nmorph-file-card .nmorph-file-card__error{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-file-card .nmorph-file-card__name{font-weight:var(--font-weight-semibold);font-size:var(--nmorph-typography-label-font-size);line-height:var(--nmorph-typography-label-line-height)}.nmorph-file-card .nmorph-file-card__meta,.nmorph-file-card .nmorph-file-card__error{font-size:var(--nmorph-typography-body-small-font-size);line-height:var(--nmorph-typography-body-small-line-height)}.nmorph-file-card .nmorph-file-card__meta{color:var(--nmorph-semi-contrast-text-color)}.nmorph-file-card .nmorph-file-card__error{color:var(--nmorph-error-text-color)}.nmorph-file-card .nmorph-file-card__audio-preview,.nmorph-file-card .nmorph-file-card__video-preview,.nmorph-file-card .nmorph-file-card__image-preview{width:100%;min-width:0}.nmorph-file-card .nmorph-file-card__image-preview{display:block;height:var(--nmorph-private-file-card-media-height, 120px);padding:0;overflow:hidden;color:inherit;font:inherit;background:transparent;border:0;border-radius:var(--default-border-radius);cursor:pointer}.nmorph-file-card .nmorph-file-card__image-preview .nmorph-file-card__image{display:block;width:100%;max-width:100%;height:100%;object-fit:cover}.nmorph-file-card .nmorph-file-card__badge{flex:0 0 auto;max-width:72px;padding:2px 6px;overflow:hidden;color:var(--nmorph-accent-color);font-weight:var(--font-weight-bold);font-size:var(--nmorph-typography-caption-font-size);line-height:var(--nmorph-typography-caption-line-height);white-space:nowrap;text-transform:uppercase;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent);border-radius:var(--default-border-radius)}.nmorph-file-card .nmorph-file-card__visual-size{position:absolute;right:var(--indentation-02);bottom:var(--indentation-02);z-index:2;display:inline-flex;align-items:center;min-width:0;max-width:calc(100% - var(--indentation-04));min-height:22px;padding:0 6px;overflow:hidden;color:var(--nmorph-contrast-text-color);font-size:var(--nmorph-typography-caption-font-size);line-height:var(--nmorph-typography-caption-line-height);white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border-radius:var(--default-border-radius);pointer-events:none}.nmorph-file-card .nmorph-file-card__actions{display:flex;flex:0 0 auto;gap:var(--indentation-01);align-items:center}.nmorph-file-card .nmorph-file-card__action-link,.nmorph-file-card .nmorph-file-card__action-loader{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;width:22px;height:22px;padding:0;color:inherit;line-height:1;text-decoration:none;border-radius:var(--default-border-radius)}.nmorph-file-card .nmorph-file-card__action-link:hover{color:var(--nmorph-accent-color);background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent)}.nmorph-file-card .nmorph-file-card__action-link .nmorph-icon{--nmorph-private-icon-color: currentColor}.nmorph-file-card .nmorph-file-card__action-loader{color:var(--nmorph-semi-contrast-text-color)}.nmorph-file-card .nmorph-file-card__action-loader .nmorph-icon{--nmorph-private-icon-color: currentColor}.nmorph-file-card.nmorph-file-card--custom-actions,.nmorph-file-card.nmorph-file-card--compact{position:relative;padding-inline-end:calc(var(--indentation-03) + 44px + var(--indentation-01))}.nmorph-file-card.nmorph-file-card--custom-actions .nmorph-file-card__actions,.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__actions{position:absolute;top:var(--indentation-03);right:var(--indentation-03);z-index:3}.nmorph-file-card.nmorph-file-card--compact{min-height:var(--nmorph-private-file-card-height, 52px);padding:var(--indentation-02);padding-inline-end:calc(var(--indentation-02) + 44px + var(--indentation-01))}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__icon{width:30px;height:30px}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__audio-preview,.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__video-preview{margin-top:0}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__image-preview{height:var(--nmorph-private-file-card-media-height, 96px);margin-top:0}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__actions{top:var(--indentation-02);right:var(--indentation-02)}.nmorph-file-card.nmorph-file-card--media-audio.nmorph-file-card--no-actions .nmorph-file-card__body{padding-inline-end:var(--indentation-02)}.nmorph-file-card.nmorph-file-card--media-visual{position:relative;display:block;gap:0;min-height:0;padding:0;padding-inline-end:0;overflow:hidden}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__body{position:relative;display:block;width:100%;min-width:0;height:100%}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__info{position:absolute;top:var(--indentation-02);left:var(--indentation-02);z-index:2;max-width:calc(100% - 48px);pointer-events:none}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__name{display:block;min-height:22px;padding:0 6px;overflow:hidden;color:var(--nmorph-contrast-text-color);line-height:22px;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border-radius:var(--default-border-radius)}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__image-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__video-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-video-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-video-preview__media,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__image{display:block;width:100%;max-width:none;height:var(--nmorph-private-file-card-media-height, 100%);border-radius:inherit;object-fit:cover}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__actions{position:absolute;top:var(--indentation-02);right:var(--indentation-02);z-index:3}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-loader{color:var(--nmorph-contrast-text-color);background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border:0}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link .nmorph-icon,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-loader .nmorph-icon{flex:0 0 auto;--nmorph-private-icon-color: var(--nmorph-contrast-text-color)}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link:hover{color:var(--nmorph-contrast-text-color);background:color-mix(in srgb,var(--nmorph-black-color) 72%,transparent)}.nmorph-file-card.nmorph-file-card--media-video .nmorph-file-card__info{max-width:calc(100% - 112px)}.nmorph-file-card.nmorph-file-card--media-video .nmorph-video-preview__actions{right:calc(var(--indentation-02) + 26px)}.nmorph-file-card.nmorph-file-card--media-image .nmorph-file-card__image-preview{border-radius:inherit}.nmorph-file-card.nmorph-file-card--error{outline:1px solid var(--nmorph-error-color)}.nmorph-file-card.nmorph-file-card--soft{background:color-mix(in srgb,var(--nmorph-accent-color) 6%,transparent);box-shadow:none}.nmorph-file-card.nmorph-file-card--soft .nmorph-file-card__icon-action{box-shadow:none}.nmorph-file-card.nmorph-file-card--plain{background:transparent;box-shadow:none}.nmorph-file-card.nmorph-file-card--plain .nmorph-file-card__icon-action{box-shadow:none}.nmorph-file-card.nmorph-file-card--icon-plain .nmorph-file-card__icon{background:transparent}
1
+ .nmorph-file-card{display:flex;gap:var(--indentation-03);align-items:center;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:var(--nmorph-private-file-card-height, auto);min-height:var(--nmorph-private-file-card-height, 64px);padding:var(--indentation-03);color:var(--nmorph-text-color);background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-file-card .nmorph-file-card__icon{position:relative;display:flex;flex:0 0 auto;justify-content:center;align-items:center;width:36px;height:36px;color:var(--nmorph-text-color);background:color-mix(in srgb,var(--nmorph-text-color) 10%,transparent);border-radius:var(--default-border-radius);--nmorph-private-icon-color: currentColor}.nmorph-file-card .nmorph-file-card__icon-action{position:absolute;right:-4px;bottom:-4px;display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;color:var(--nmorph-contrast-text-color);text-decoration:none;background:color-mix(in srgb,var(--nmorph-black-color) 36%,transparent);border-radius:var(--border-radius-circular);box-shadow:var(--nmorph-shadow-outset)}.nmorph-file-card .nmorph-file-card__icon-action:hover{background:color-mix(in srgb,var(--nmorph-black-color) 48%,transparent)}.nmorph-file-card .nmorph-file-card__icon-action .nmorph-icon{--nmorph-private-icon-color: var(--nmorph-contrast-text-color)}.nmorph-file-card .nmorph-file-card__body{display:flex;flex:1 1 0;flex-direction:column;gap:var(--indentation-01);min-width:0}.nmorph-file-card .nmorph-file-card__info{display:flex;flex-direction:column;gap:2px;min-width:0}.nmorph-file-card .nmorph-file-card__name,.nmorph-file-card .nmorph-file-card__meta,.nmorph-file-card .nmorph-file-card__error{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-file-card .nmorph-file-card__name{font-weight:var(--font-weight-semibold);font-size:var(--nmorph-typography-label-font-size);line-height:var(--nmorph-typography-label-line-height)}.nmorph-file-card .nmorph-file-card__meta,.nmorph-file-card .nmorph-file-card__error{font-size:var(--nmorph-typography-body-small-font-size);line-height:var(--nmorph-typography-body-small-line-height)}.nmorph-file-card .nmorph-file-card__meta{color:var(--nmorph-semi-contrast-text-color)}.nmorph-file-card .nmorph-file-card__error{color:var(--nmorph-error-text-color)}.nmorph-file-card .nmorph-file-card__audio-preview,.nmorph-file-card .nmorph-file-card__video-preview,.nmorph-file-card .nmorph-file-card__image-preview{width:100%;min-width:0}.nmorph-file-card .nmorph-file-card__image-preview{display:block;height:var(--nmorph-private-file-card-media-height, 120px);padding:0;overflow:hidden;color:inherit;font:inherit;background:transparent;border:0;border-radius:var(--default-border-radius);cursor:pointer}.nmorph-file-card .nmorph-file-card__image-preview .nmorph-file-card__image{display:block;width:100%;max-width:100%;height:100%;object-fit:cover}.nmorph-file-card .nmorph-file-card__badge{flex:0 0 auto;max-width:72px;padding:2px 6px;overflow:hidden;color:var(--nmorph-accent-color);font-weight:var(--font-weight-bold);font-size:var(--nmorph-typography-caption-font-size);line-height:var(--nmorph-typography-caption-line-height);white-space:nowrap;text-transform:uppercase;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent);border-radius:var(--default-border-radius)}.nmorph-file-card .nmorph-file-card__visual-size{position:absolute;right:var(--indentation-02);bottom:var(--indentation-02);z-index:2;display:inline-flex;align-items:center;min-width:0;max-width:calc(100% - var(--indentation-04));min-height:22px;padding:0 6px;overflow:hidden;color:var(--nmorph-contrast-text-color);font-size:var(--nmorph-typography-caption-font-size);line-height:var(--nmorph-typography-caption-line-height);white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border-radius:var(--default-border-radius);pointer-events:none}.nmorph-file-card .nmorph-file-card__actions{display:flex;flex:0 0 auto;gap:var(--indentation-01);align-items:center}.nmorph-file-card .nmorph-file-card__action-link,.nmorph-file-card .nmorph-file-card__action-loader{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;width:22px;height:22px;padding:0;color:inherit;line-height:1;text-decoration:none;border-radius:var(--default-border-radius)}.nmorph-file-card .nmorph-file-card__action-link:hover{color:var(--nmorph-accent-color);background:color-mix(in srgb,var(--nmorph-accent-color) 10%,transparent)}.nmorph-file-card .nmorph-file-card__action-link .nmorph-icon{--nmorph-private-icon-color: currentColor}.nmorph-file-card .nmorph-file-card__action-loader{color:var(--nmorph-semi-contrast-text-color)}.nmorph-file-card .nmorph-file-card__action-loader .nmorph-icon{--nmorph-private-icon-color: currentColor}.nmorph-file-card.nmorph-file-card--custom-actions,.nmorph-file-card.nmorph-file-card--compact{position:relative;padding-inline-end:calc(var(--indentation-03) + 44px + var(--indentation-01))}.nmorph-file-card.nmorph-file-card--custom-actions .nmorph-file-card__actions,.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__actions{position:absolute;top:var(--indentation-03);right:var(--indentation-03);z-index:3}.nmorph-file-card.nmorph-file-card--compact{min-height:var(--nmorph-private-file-card-height, 52px);padding:var(--indentation-02);padding-inline-end:calc(var(--indentation-02) + 44px + var(--indentation-01))}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__icon{width:30px;height:30px}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__audio-preview,.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__video-preview{margin-top:0}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__image-preview{height:var(--nmorph-private-file-card-media-height, 96px);margin-top:0}.nmorph-file-card.nmorph-file-card--compact .nmorph-file-card__actions{top:var(--indentation-02);right:var(--indentation-02)}.nmorph-file-card.nmorph-file-card--loading.nmorph-file-card--compact{padding:var(--indentation-03);padding-inline-end:calc(var(--indentation-03) + 44px + var(--indentation-01))}.nmorph-file-card.nmorph-file-card--loading.nmorph-file-card--compact .nmorph-file-card__actions{top:var(--indentation-03);right:var(--indentation-03)}.nmorph-file-card.nmorph-file-card--media-audio.nmorph-file-card--no-actions .nmorph-file-card__body{padding-inline-end:var(--indentation-02)}.nmorph-file-card.nmorph-file-card--media-visual{position:relative;display:block;gap:0;min-height:0;padding:0;padding-inline-end:0;overflow:hidden}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__body{position:relative;display:block;width:100%;min-width:0;height:100%}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__info{position:absolute;top:var(--indentation-02);left:var(--indentation-02);z-index:2;max-width:calc(100% - 48px);pointer-events:none}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__name{display:block;min-height:22px;padding:0 6px;overflow:hidden;color:var(--nmorph-contrast-text-color);line-height:22px;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border-radius:var(--default-border-radius)}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__image-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__video-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-video-preview,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-video-preview__media,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__image{display:block;width:100%;max-width:none;height:var(--nmorph-private-file-card-media-height, 100%);border-radius:inherit;object-fit:cover}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__actions{position:absolute;top:var(--indentation-02);right:var(--indentation-02);z-index:3}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-loader{color:var(--nmorph-contrast-text-color);background:color-mix(in srgb,var(--nmorph-black-color) 58%,transparent);border:0}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link .nmorph-icon,.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-loader .nmorph-icon{flex:0 0 auto;--nmorph-private-icon-color: var(--nmorph-contrast-text-color)}.nmorph-file-card.nmorph-file-card--media-visual .nmorph-file-card__action-link:hover{color:var(--nmorph-contrast-text-color);background:color-mix(in srgb,var(--nmorph-black-color) 72%,transparent)}.nmorph-file-card.nmorph-file-card--media-video .nmorph-file-card__info{max-width:calc(100% - 112px)}.nmorph-file-card.nmorph-file-card--media-video .nmorph-video-preview__actions{right:calc(var(--indentation-02) + 26px)}.nmorph-file-card.nmorph-file-card--media-image .nmorph-file-card__image-preview{border-radius:inherit}.nmorph-file-card.nmorph-file-card--error{outline:1px solid var(--nmorph-error-color)}.nmorph-file-card.nmorph-file-card--soft{background:color-mix(in srgb,var(--nmorph-accent-color) 6%,transparent);box-shadow:none}.nmorph-file-card.nmorph-file-card--soft .nmorph-file-card__icon-action{box-shadow:none}.nmorph-file-card.nmorph-file-card--plain{background:transparent;box-shadow:none}.nmorph-file-card.nmorph-file-card--plain .nmorph-file-card__icon-action{box-shadow:none}.nmorph-file-card.nmorph-file-card--icon-plain .nmorph-file-card__icon{background:transparent}
@@ -10,10 +10,10 @@ import ee from "../nmorph-video-preview/NmorphVideoPreview.vue.js";
10
10
  import re from "../../../assets/icons/image.svg.js";
11
11
  import oe from "../../../assets/icons/archive.svg.js";
12
12
  import x from "../../../assets/icons/doc.svg.js";
13
- import te from "../../basic/nmorph-icon/NmorphIcon.vue.js";
14
- import ae from "../../../assets/icons/audio.svg.js";
15
- import ie from "../../../assets/icons/video.svg.js";
16
- import ne from "../../../assets/icons/open.svg.js";
13
+ import te from "../../../assets/icons/open.svg.js";
14
+ import ae from "../../basic/nmorph-icon/NmorphIcon.vue.js";
15
+ import ie from "../../../assets/icons/audio.svg.js";
16
+ import ne from "../../../assets/icons/video.svg.js";
17
17
  import le from "../../../assets/icons/loading.svg.js";
18
18
  import ue from "../../../assets/icons/eye.svg.js";
19
19
  import se from "../../../assets/icons/download.svg.js";
@@ -45,7 +45,7 @@ const de = "var(--nmorph-contrast-text-color)", Me = /* @__PURE__ */ F({
45
45
  emits: ["open", "download", "error"],
46
46
  setup(C, { expose: M, emit: _ }) {
47
47
  M();
48
- const e = C, l = _, h = E(), w = V(!1), s = r(() => (e.extension || Q(e.name) || U(e.mimeType)).toLowerCase()), t = r(() => X(e.mimeType, e.name)), O = r(() => e.mimeType.toLowerCase().startsWith("image/") || t.value.some((o) => n(o, k)) ? re : e.mimeType.toLowerCase().startsWith("audio/") || t.value.some((o) => n(o, G)) ? ae : e.mimeType.toLowerCase().startsWith("video/") || t.value.some((o) => n(o, W)) ? ie : t.value.some((o) => n(o, j)) ? oe : t.value.some((o) => n(o, K)) ? x : x), g = (o) => {
48
+ const e = C, l = _, h = E(), w = V(!1), s = r(() => (e.extension || Q(e.name) || U(e.mimeType)).toLowerCase()), t = r(() => X(e.mimeType, e.name)), O = r(() => e.mimeType.toLowerCase().startsWith("image/") || t.value.some((o) => n(o, k)) ? re : e.mimeType.toLowerCase().startsWith("audio/") || t.value.some((o) => n(o, G)) ? ie : e.mimeType.toLowerCase().startsWith("video/") || t.value.some((o) => n(o, W)) ? ne : t.value.some((o) => n(o, j)) ? oe : t.value.some((o) => n(o, K)) ? x : x), g = (o) => {
49
49
  if (o === void 0 || Number.isNaN(o) || o < 0) return "";
50
50
  if (o === 0) return "0 B";
51
51
  const b = ["B", "KB", "MB", "GB", "TB"], c = Math.min(Math.floor(Math.log(o) / Math.log(1024)), b.length - 1), v = o / 1024 ** c, z = v >= 10 || c === 0 || Number.isInteger(v) ? 0 : 1;
@@ -103,7 +103,7 @@ const de = "var(--nmorph-contrast-text-color)", Me = /* @__PURE__ */ F({
103
103
  ), H = { CONTRAST_ICON_COLOR: de, props: e, emit: l, slots: h, previewOpen: w, extension: s, candidates: t, icon: O, formatSize: g, fileSize: y, typeLabel: N, meta: S, audioPreviewAvailable: d, videoPreviewAvailable: a, imagePreviewAvailable: i, mediaPreviewAvailable: u, visualMediaPreviewAvailable: m, mediaPreviewHeight: B, styles: L, showInfo: D, mediaGalleryItems: I, shouldOpenInternalPreview: q, isPdf: p, pdfPreviewHref: P, previewOnIcon: A, hasCustomActions: f, hasActions: T, modifiers: R, openHandler: () => {
104
104
  q.value && (w.value = !0), e.previewMode !== "none" && l("open");
105
105
  }, downloadHandler: () => l("download"), errorHandler: () => l("error"), get NmorphIcon() {
106
- return te;
106
+ return ae;
107
107
  }, get NmorphIconDownload() {
108
108
  return se;
109
109
  }, get NmorphIconEye() {
@@ -111,7 +111,7 @@ const de = "var(--nmorph-contrast-text-color)", Me = /* @__PURE__ */ F({
111
111
  }, get NmorphIconLoader() {
112
112
  return le;
113
113
  }, get NmorphIconOpen() {
114
- return ne;
114
+ return te;
115
115
  }, NmorphAudioPreview: Y, NmorphMediaGallery: Z, NmorphVideoPreview: ee };
116
116
  return Object.defineProperty(H, "__isScriptSetup", { enumerable: !1, value: !0 }), H;
117
117
  }
@@ -11,7 +11,7 @@ const C = /* @__PURE__ */ S({
11
11
  design: { type: null, required: !1, default: "nmorph" },
12
12
  loadingText: { type: String, required: !1, default: "" },
13
13
  loadFailedText: { type: String, required: !1, default: "" },
14
- frameBorder: { type: Number, required: !1, default: 4 },
14
+ frameBorder: { type: Number, required: !1, default: 2.67 },
15
15
  src: { type: String, required: !1 },
16
16
  srcSet: { type: String, required: !1, default: "" },
17
17
  width: { type: [Number, String], required: !1, default: void 0 },
@@ -1 +1 @@
1
- .nmorph-media-tile{position:relative;display:flex;justify-content:center;align-items:center;aspect-ratio:16/9;min-width:0;overflow:hidden;background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-media-tile .nmorph-media-tile__video{width:100%;height:100%;object-fit:cover}.nmorph-media-tile.nmorph-media-tile--contain .nmorph-media-tile__video{object-fit:contain}.nmorph-media-tile.nmorph-media-tile--mirrored .nmorph-media-tile__video{transform:scaleX(-1)}.nmorph-media-tile .nmorph-media-tile__fallback{display:flex;flex-direction:column;gap:var(--indentation-02);justify-content:center;align-items:center;width:100%;height:100%;padding:var(--indentation-04);color:var(--nmorph-text-color);text-align:center}.nmorph-media-tile .nmorph-media-tile__initials{display:flex;justify-content:center;align-items:center;width:72px;height:72px;color:var(--nmorph-focus-text-color);font-weight:var(--font-weight-bold);font-size:var(--nmorph-typography-title-large-font-size);background:var(--nmorph-accent-color);border-radius:var(--border-radius-circular)}.nmorph-media-tile .nmorph-media-tile__name,.nmorph-media-tile .nmorph-media-tile__error-text{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-media-tile .nmorph-media-tile__error-text{color:var(--nmorph-error-text-color);font-size:var(--nmorph-typography-body-small-font-size);line-height:var(--nmorph-typography-body-small-line-height)}.nmorph-media-tile .nmorph-media-tile__status{position:absolute;right:var(--indentation-03);bottom:var(--indentation-03);display:flex;gap:var(--indentation-02)}.nmorph-media-tile .nmorph-media-tile__status-item{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;color:var(--nmorph-text-color);background:color-mix(in srgb,var(--nmorph-main-color) 86%,transparent);border-radius:var(--border-radius-circular);box-shadow:var(--nmorph-shadow-outset);--nmorph-private-icon-color: currentColor}.nmorph-media-tile.nmorph-media-tile--selected{outline:2px solid var(--nmorph-accent-color)}.nmorph-media-tile.nmorph-media-tile--speaking{outline:3px solid var(--nmorph-success-color)}.nmorph-media-tile.nmorph-media-tile--error{outline:2px solid var(--nmorph-error-color)}.nmorph-media-tile.nmorph-media-tile--screen-sharing{box-shadow:0 0 0 2px var(--nmorph-success-color)}
1
+ .nmorph-media-tile{position:relative;display:flex;justify-content:center;align-items:center;aspect-ratio:16/9;min-width:0;overflow:hidden;background:var(--nmorph-main-color);border-radius:var(--default-border-radius);box-shadow:var(--nmorph-shadow-inset)}.nmorph-media-tile .nmorph-media-tile__video{width:100%;height:100%;object-fit:cover}.nmorph-media-tile.nmorph-media-tile--contain .nmorph-media-tile__video{object-fit:contain}.nmorph-media-tile.nmorph-media-tile--mirrored .nmorph-media-tile__video{transform:scaleX(-1)}.nmorph-media-tile .nmorph-media-tile__fallback{display:flex;flex-direction:column;gap:var(--indentation-02);justify-content:center;align-items:center;width:100%;height:100%;padding:var(--indentation-04);color:var(--nmorph-text-color);text-align:center}.nmorph-media-tile .nmorph-media-tile__initials{display:flex;justify-content:center;align-items:center;width:72px;height:72px;color:var(--nmorph-focus-text-color);font-weight:var(--font-weight-bold);font-size:var(--nmorph-typography-title-large-font-size);background:var(--nmorph-accent-color);border-radius:var(--border-radius-circular)}.nmorph-media-tile .nmorph-media-tile__name,.nmorph-media-tile .nmorph-media-tile__error-text{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nmorph-media-tile .nmorph-media-tile__error-text{color:var(--nmorph-error-text-color);font-size:var(--nmorph-typography-body-small-font-size);line-height:var(--nmorph-typography-body-small-line-height)}.nmorph-media-tile .nmorph-media-tile__status{position:absolute;right:var(--indentation-03);bottom:var(--indentation-03);display:flex;gap:var(--indentation-02)}.nmorph-media-tile .nmorph-media-tile__status-item{color:var(--nmorph-text-color)}.nmorph-media-tile .nmorph-media-tile__status-item .nmorph-button__content{width:28px;min-width:28px;height:24px;min-height:24px;padding:0;color:currentColor;background:color-mix(in srgb,var(--nmorph-main-color) 86%,transparent);border-color:color-mix(in srgb,currentColor 35%,transparent);border-radius:var(--default-border-radius)}.nmorph-media-tile.nmorph-media-tile--selected{outline:2px solid var(--nmorph-accent-color)}.nmorph-media-tile.nmorph-media-tile--speaking{outline:3px solid var(--nmorph-success-color)}.nmorph-media-tile.nmorph-media-tile--error{outline:2px solid var(--nmorph-error-color)}.nmorph-media-tile.nmorph-media-tile--screen-sharing{box-shadow:0 0 0 2px var(--nmorph-success-color)}
@@ -1,141 +1,136 @@
1
1
  import './NmorphMediaTile.css';
2
- import m from "./NmorphMediaTile.vue2.js";
3
- import { openBlock as e, createElementBlock as r, normalizeClass as d, withDirectives as c, createElementVNode as p, vShow as _, createBlock as n, withCtx as s, createVNode as a, toDisplayString as l, createCommentVNode as i, renderSlot as h } from "vue";
2
+ import s from "./NmorphMediaTile.vue2.js";
3
+ import { openBlock as e, createElementBlock as i, normalizeClass as m, withDirectives as p, createElementVNode as c, vShow as _, createCommentVNode as a, createBlock as r, withCtx as l, createVNode as n, toDisplayString as t, renderSlot as h } from "vue";
4
4
  /* empty css */
5
5
  import f from "../../../_virtual/_plugin-vue_export-helper.js";
6
- const v = ["src", "muted", "autoplay", "playsinline"], y = {
7
- key: 0,
6
+ const v = ["src", "muted", "autoplay", "playsinline"], y = ["muted", "autoplay"], k = {
7
+ key: 1,
8
8
  class: "nmorph-media-tile__fallback"
9
- }, k = {
9
+ }, b = {
10
10
  key: 2,
11
11
  class: "nmorph-media-tile__initials"
12
12
  }, N = {
13
13
  key: 3,
14
14
  class: "nmorph-media-tile__name"
15
- }, b = {
15
+ }, u = {
16
16
  key: 4,
17
17
  class: "nmorph-media-tile__error-text"
18
- }, I = {
19
- key: 1,
20
- class: "nmorph-media-tile__status"
21
- }, S = {
22
- key: 0,
23
- class: "nmorph-media-tile__status-item",
24
- "aria-label": "Microphone muted"
25
18
  }, g = {
26
- key: 1,
27
- class: "nmorph-media-tile__status-item",
28
- "aria-label": "Video off"
29
- }, z = {
30
19
  key: 2,
31
- class: "nmorph-media-tile__status-item",
32
- "aria-label": "Screen sharing"
33
- }, V = {
34
- key: 3,
35
- class: "nmorph-media-tile__status-item",
36
- "aria-label": "Pinned"
20
+ class: "nmorph-media-tile__status"
37
21
  };
38
- function x(t, w, M, o, T, B) {
39
- return e(), r(
22
+ function S(d, x, V, o, B, M) {
23
+ return e(), i(
40
24
  "div",
41
25
  {
42
- class: d(o.modifiers)
26
+ class: m(o.modifiers)
43
27
  },
44
28
  [
45
- c(p("video", {
29
+ p(c("video", {
46
30
  ref: "videoRef",
47
31
  class: "nmorph-media-tile__video",
48
- src: o.props.src || void 0,
49
- muted: o.props.muted,
32
+ src: o.videoSrc,
33
+ muted: o.videoMuted,
50
34
  autoplay: o.props.autoplay,
51
35
  playsinline: o.props.playsinline
52
36
  }, null, 8, v), [
53
- [_, o.hasVideo && !o.props.loading]
37
+ [_, o.videoVisible && !o.props.loading]
54
38
  ]),
55
- o.props.showFallback && (!o.hasVideo || o.props.loading) ? (e(), r("div", y, [
56
- o.props.loading ? (e(), n(o.NmorphIcon, {
39
+ o.needsSeparateAudioOutput ? (e(), i("audio", {
40
+ key: 0,
41
+ ref: "audioRef",
42
+ class: "nmorph-media-tile__audio",
43
+ muted: o.props.muted,
44
+ autoplay: o.props.autoplay,
45
+ preload: "auto"
46
+ }, null, 8, y)) : a("v-if", !0),
47
+ o.props.showFallback && (!o.videoVisible || o.props.loading) ? (e(), i("div", k, [
48
+ o.props.loading ? (e(), r(o.NmorphIcon, {
57
49
  key: 0,
58
50
  class: "nmorph-media-tile__loader",
59
51
  size: "large"
60
52
  }, {
61
- default: s(() => [
62
- a(o.NmorphIconLoaderDots)
53
+ default: l(() => [
54
+ n(o.NmorphIconLoaderDots)
63
55
  ]),
64
56
  _: 1
65
57
  /* STABLE */
66
- })) : o.props.avatarSrc ? (e(), n(o.NmorphAvatar, {
58
+ })) : o.props.avatarSrc ? (e(), r(o.NmorphAvatar, {
67
59
  key: 1,
68
60
  src: o.props.avatarSrc,
69
61
  name: o.props.name,
70
62
  size: 72,
71
63
  design: "plain"
72
- }, null, 8, ["src", "name"])) : (e(), r(
64
+ }, null, 8, ["src", "name"])) : (e(), i(
73
65
  "div",
74
- k,
75
- l(o.fallbackLabel),
66
+ b,
67
+ t(o.fallbackLabel),
76
68
  1
77
69
  /* TEXT */
78
70
  )),
79
- o.props.name ? (e(), r(
71
+ o.props.name ? (e(), i(
80
72
  "span",
81
73
  N,
82
- l(o.props.name),
74
+ t(o.props.name),
83
75
  1
84
76
  /* TEXT */
85
- )) : i("v-if", !0),
86
- o.props.error && o.props.errorText ? (e(), r(
77
+ )) : a("v-if", !0),
78
+ o.props.error && o.props.errorText ? (e(), i(
87
79
  "span",
88
- b,
89
- l(o.props.errorText),
80
+ u,
81
+ t(o.props.errorText),
90
82
  1
91
83
  /* TEXT */
92
- )) : i("v-if", !0)
93
- ])) : i("v-if", !0),
94
- o.props.showStatus ? (e(), r("div", I, [
95
- o.props.micMuted ? (e(), r("span", S, [
96
- a(o.NmorphIcon, { size: "small" }, {
97
- default: s(() => [
98
- a(o.NmorphIconMic)
99
- ]),
100
- _: 1
101
- /* STABLE */
102
- })
103
- ])) : i("v-if", !0),
104
- o.props.videoOff ? (e(), r("span", g, [
105
- a(o.NmorphIcon, { size: "small" }, {
106
- default: s(() => [
107
- a(o.NmorphIconVideo)
108
- ]),
109
- _: 1
110
- /* STABLE */
111
- })
112
- ])) : i("v-if", !0),
113
- o.props.screenSharing ? (e(), r("span", z, [
114
- a(o.NmorphIcon, { size: "small" }, {
115
- default: s(() => [
116
- a(o.NmorphIconShare)
117
- ]),
118
- _: 1
119
- /* STABLE */
120
- })
121
- ])) : i("v-if", !0),
122
- o.props.pinned ? (e(), r("span", V, [
123
- a(o.NmorphIcon, { size: "small" }, {
124
- default: s(() => [
125
- a(o.NmorphIconPin)
126
- ]),
127
- _: 1
128
- /* STABLE */
129
- })
130
- ])) : i("v-if", !0)
131
- ])) : i("v-if", !0),
132
- h(t.$slots, "overlay")
84
+ )) : a("v-if", !0)
85
+ ])) : a("v-if", !0),
86
+ o.props.showStatus ? (e(), i("div", g, [
87
+ o.props.micMuted ? (e(), r(o.NmorphButton, {
88
+ key: 0,
89
+ class: "nmorph-media-tile__status-item",
90
+ design: "plain",
91
+ tabindex: -1,
92
+ "aria-label": "Microphone muted"
93
+ }, {
94
+ "icon-only": l(() => [
95
+ n(o.NmorphIconMute)
96
+ ]),
97
+ _: 1
98
+ /* STABLE */
99
+ })) : a("v-if", !0),
100
+ o.props.videoOff ? (e(), r(o.NmorphButton, {
101
+ key: 1,
102
+ class: "nmorph-media-tile__status-item",
103
+ design: "plain",
104
+ tabindex: -1,
105
+ "aria-label": "Video off"
106
+ }, {
107
+ "icon-only": l(() => [
108
+ n(o.NmorphIconVideoCameraOff)
109
+ ]),
110
+ _: 1
111
+ /* STABLE */
112
+ })) : a("v-if", !0),
113
+ o.props.screenSharing ? (e(), r(o.NmorphButton, {
114
+ key: 2,
115
+ class: "nmorph-media-tile__status-item",
116
+ design: "plain",
117
+ tabindex: -1,
118
+ "aria-label": "Screen sharing"
119
+ }, {
120
+ "icon-only": l(() => [
121
+ n(o.NmorphIconShare)
122
+ ]),
123
+ _: 1
124
+ /* STABLE */
125
+ })) : a("v-if", !0)
126
+ ])) : a("v-if", !0),
127
+ h(d.$slots, "overlay")
133
128
  ],
134
129
  2
135
130
  /* CLASS */
136
131
  );
137
132
  }
138
- const P = /* @__PURE__ */ f(m, [["render", x], ["__file", "/builds/ketjo/nmorph/library/src/components/data/nmorph-media-tile/NmorphMediaTile.vue"]]);
133
+ const z = /* @__PURE__ */ f(s, [["render", S], ["__file", "/builds/ketjo/nmorph/library/src/components/data/nmorph-media-tile/NmorphMediaTile.vue"]]);
139
134
  export {
140
- P as default
135
+ z as default
141
136
  };
@@ -1,18 +1,19 @@
1
1
  import './NmorphMediaTile.css';
2
- import { defineComponent as d, ref as p, computed as o, watch as c } from "vue";
3
- import { useModifiers as m } from "../../../utils/create-modifiers.js";
4
- import h from "../../../assets/icons/share.svg.js";
5
- import y from "../../../assets/icons/pin.svg.js";
6
- import g from "../../../assets/icons/mic.svg.js";
7
- import q from "../../basic/nmorph-icon/NmorphIcon.vue.js";
8
- import B from "../nmorph-avatar/NmorphAvatar.vue.js";
9
- import v from "../../../assets/icons/video.svg.js";
10
- import N from "../../../assets/icons/loader.svg.js";
11
- const x = /* @__PURE__ */ d({
2
+ import { defineComponent as E, ref as p, computed as t, watch as q } from "vue";
3
+ import { useModifiers as L } from "../../../utils/create-modifiers.js";
4
+ import M from "../../../assets/icons/video-camera-off.svg.js";
5
+ import A from "../../../assets/icons/share.svg.js";
6
+ import C from "../../../assets/icons/mute.svg.js";
7
+ import x from "../../basic/nmorph-icon/NmorphIcon.vue.js";
8
+ import w from "../../basic/nmorph-button/NmorphButton.vue.js";
9
+ import D from "../nmorph-avatar/NmorphAvatar.vue.js";
10
+ import R from "../../../assets/icons/loader.svg.js";
11
+ const W = /* @__PURE__ */ E({
12
12
  __name: "NmorphMediaTile",
13
13
  props: {
14
14
  src: { type: String, required: !1, default: "" },
15
15
  srcObject: { type: null, required: !1, default: null },
16
+ sinkId: { type: String, required: !1, default: void 0 },
16
17
  fit: { type: String, required: !1, default: "cover" },
17
18
  mirrored: { type: Boolean, required: !1, default: !1 },
18
19
  muted: { type: Boolean, required: !1, default: !0 },
@@ -28,20 +29,30 @@ const x = /* @__PURE__ */ d({
28
29
  screenSharing: { type: Boolean, required: !1, default: !1 },
29
30
  speaking: { type: Boolean, required: !1, default: !1 },
30
31
  selected: { type: Boolean, required: !1, default: !1 },
31
- pinned: { type: Boolean, required: !1, default: !1 },
32
32
  error: { type: Boolean, required: !1, default: !1 },
33
33
  errorText: { type: String, required: !1, default: "" }
34
34
  },
35
- setup(l, { expose: i }) {
36
- const e = l, r = p(null), n = o(() => !!((e.src || e.srcObject) && !e.videoOff && !e.error)), t = o(
37
- () => e.name.split(/\s+/).filter(Boolean).slice(0, 2).map((u) => u[0]?.toUpperCase()).join("")
38
- ), f = o(() => t.value || e.name || "?"), s = o(
39
- () => m({
35
+ setup(B, { expose: I }) {
36
+ const e = B, o = p(null), a = p(null), u = p({
37
+ audio: 0,
38
+ video: 0
39
+ }), v = t(() => !!(e.src || e.srcObject)), m = (r) => !r || typeof r.getAudioTracks != "function" ? [] : r.getAudioTracks(), y = (r) => !r || typeof r.getVideoTracks != "function" ? [] : r.getVideoTracks(), d = (r) => {
40
+ u.value = {
41
+ audio: m(r).length,
42
+ video: y(r).length
43
+ };
44
+ }, h = t(() => typeof e.srcObject?.getVideoTracks == "function"), g = t(() => u.value.audio > 0), k = t(() => u.value.video > 0), S = t(
45
+ () => !!(e.src || e.srcObject && (!h.value || k.value))
46
+ ), n = t(() => v.value && S.value && !e.videoOff && !e.error), i = t(
47
+ () => !!(e.srcObject && !e.muted && !e.error && g.value)
48
+ ), j = t(() => e.muted || i.value), N = t(() => n.value && e.src ? e.src : void 0), O = t(
49
+ () => e.name.split(/\s+/).filter(Boolean).slice(0, 2).map((r) => r[0]?.toUpperCase()).join("")
50
+ ), T = t(() => O.value || e.name || "?"), V = t(
51
+ () => L({
40
52
  "nmorph-media-tile": [
41
53
  e.fit,
42
54
  e.mirrored && "mirrored",
43
55
  e.selected && "selected",
44
- e.pinned && "pinned",
45
56
  e.speaking && "speaking",
46
57
  e.error && "error",
47
58
  e.videoOff && "video-off",
@@ -49,32 +60,66 @@ const x = /* @__PURE__ */ d({
49
60
  e.loading && "loading"
50
61
  ]
51
62
  })
52
- );
53
- c(
54
- () => [e.srcObject, r.value],
63
+ ), s = (r) => {
64
+ if (!r || e.sinkId === void 0) return;
65
+ const f = r;
66
+ typeof f.setSinkId == "function" && f.setSinkId(e.sinkId).catch(() => {
67
+ });
68
+ }, c = (r) => {
69
+ !r || !e.autoplay || r.play().catch(() => {
70
+ });
71
+ };
72
+ q(
73
+ () => e.srcObject,
74
+ (r, f, _) => {
75
+ if (d(r), !r || typeof r.addEventListener != "function" || typeof r.removeEventListener != "function")
76
+ return;
77
+ const l = () => d(r);
78
+ r.addEventListener("addtrack", l), r.addEventListener("removetrack", l), _(() => {
79
+ r.removeEventListener("addtrack", l), r.removeEventListener("removetrack", l);
80
+ });
81
+ },
82
+ { immediate: !0 }
83
+ ), q(
84
+ () => [
85
+ e.srcObject,
86
+ e.sinkId,
87
+ e.autoplay,
88
+ n.value,
89
+ i.value,
90
+ o.value,
91
+ a.value
92
+ ],
55
93
  () => {
56
- r.value && r.value.srcObject !== e.srcObject && (r.value.srcObject = e.srcObject);
94
+ if (o.value) {
95
+ const r = n.value ? e.srcObject : null;
96
+ o.value.srcObject !== r && (o.value.srcObject = r), s(o.value), e.autoplay && n.value && r && c(o.value);
97
+ }
98
+ if (a.value) {
99
+ const r = i.value ? e.srcObject : null;
100
+ a.value.srcObject !== r && (a.value.srcObject = r), s(a.value), e.autoplay && i.value && c(a.value);
101
+ }
57
102
  },
58
103
  { immediate: !0, flush: "post" }
59
- ), i({ videoRef: r });
60
- const a = { props: e, videoRef: r, hasVideo: n, initials: t, fallbackLabel: f, modifiers: s, get NmorphAvatar() {
61
- return B;
104
+ ), I({ videoRef: o });
105
+ const b = { props: e, videoRef: o, audioRef: a, srcObjectTrackCount: u, hasMediaSource: v, getAudioTracks: m, getVideoTracks: y, updateSrcObjectTrackCount: d, canInspectVideoTracks: h, hasAudioTracks: g, hasVideoTracks: k, hasVideoSource: S, videoVisible: n, needsSeparateAudioOutput: i, videoMuted: j, videoSrc: N, initials: O, fallbackLabel: T, modifiers: V, setMediaElementSinkId: s, playMediaElement: c, get NmorphAvatar() {
106
+ return D;
107
+ }, get NmorphButton() {
108
+ return w;
62
109
  }, get NmorphIcon() {
63
- return q;
110
+ return x;
64
111
  }, get NmorphIconLoaderDots() {
65
- return N;
66
- }, get NmorphIconMic() {
67
- return g;
68
- }, get NmorphIconPin() {
69
- return y;
112
+ return R;
113
+ }, get NmorphIconMute() {
114
+ return C;
70
115
  }, get NmorphIconShare() {
71
- return h;
72
- }, get NmorphIconVideo() {
73
- return v;
116
+ return A;
117
+ }, get NmorphIconVideoCameraOff() {
118
+ return M;
74
119
  } };
75
- return Object.defineProperty(a, "__isScriptSetup", { enumerable: !1, value: !0 }), a;
120
+ return Object.defineProperty(b, "__isScriptSetup", { enumerable: !1, value: !0 }), b;
76
121
  }
77
122
  });
78
123
  export {
79
- x as default
124
+ W as default
80
125
  };