{"version":3,"file":"polls-8.6.3-reference.mjs","sources":["../src/views/Reference.vue","../src/polls-reference.ts"],"sourcesContent":["<!--\n  - SPDX-FileCopyrightText: 2022 Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport NcUserBubble from '@nextcloud/vue/components/NcUserBubble'\nimport PollsAppIcon from '../components/AppIcons/PollsAppIcon.vue'\nimport ExpirationIcon from 'vue-material-design-icons/CalendarEndOutline.vue'\nimport BadgeSmallDiv from '../components/Base/modules/BadgeSmallDiv.vue'\nimport { t } from '@nextcloud/l10n'\nimport { DateTime } from 'luxon'\n\ntype RichObject = {\n\tid: number\n\tpoll: {\n\t\tid: number\n\t\ttitle: string\n\t\tdescription: string\n\t\townerDisplayName: string\n\t\townerId: string\n\t\turl: string\n\t\tparticipated: boolean\n\t\texpiry: number\n\t\texpired: boolean\n\t}\n}\n\ninterface Props {\n\trichObject?: RichObject\n}\n\nconst { richObject } = defineProps<Props>()\n\nconst expiryDateTime = richObject?.poll.expiry\n\t? DateTime.fromMillis(richObject.poll.expiry * 1000)\n\t: null\n\nconst expiryClass = richObject?.poll?.expiry\n\t? DateTime.fromMillis(richObject.poll.expiry * 1000).diffNow('hours').hours < 36\n\t\t? 'warning'\n\t\t: 'success'\n\t: ''\n</script>\n\n<template>\n\t<div v-if=\"richObject\" class=\"polls_widget\">\n\t\t<div class=\"widget_header\">\n\t\t\t<PollsAppIcon :size=\"20\" class=\"title-icon\" />\n\t\t\t<a class=\"title\" :href=\"richObject.poll.url\" target=\"_blank\">\n\t\t\t\t{{ richObject.poll.title }}\n\t\t\t</a>\n\t\t\t<BadgeSmallDiv v-if=\"richObject.poll.participated\" class=\"success\">\n\t\t\t\t{{ t('polls', 'participated') }}\n\t\t\t</BadgeSmallDiv>\n\t\t\t<BadgeSmallDiv v-else-if=\"richObject.poll.expired\" class=\"error\">\n\t\t\t\t{{ t('polls', 'closed') }}\n\t\t\t</BadgeSmallDiv>\n\t\t\t<BadgeSmallDiv\n\t\t\t\tv-else-if=\"richObject.poll.expiry > 0\"\n\t\t\t\t:title=\"\n\t\t\t\t\texpiryDateTime\n\t\t\t\t\t\t? expiryDateTime.toLocaleString(DateTime.DATETIME_SHORT)\n\t\t\t\t\t\t: ''\n\t\t\t\t\"\n\t\t\t\t:class=\"expiryClass\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ExpirationIcon :size=\"16\" />\n\t\t\t\t</template>\n\t\t\t\t{{ expiryDateTime ? expiryDateTime.toRelative() : '' }}\n\t\t\t</BadgeSmallDiv>\n\t\t</div>\n\t\t<div class=\"description\">\n\t\t\t<span class=\"clamped\">\n\t\t\t\t{{ richObject.poll.description }}\n\t\t\t</span>\n\t\t</div>\n\t\t<div v-if=\"richObject.poll.ownerId\" class=\"widget_footer\">\n\t\t\t<span>{{ t('polls', 'By:') }}</span>\n\t\t\t<NcUserBubble\n\t\t\t\t:user=\"richObject.poll.ownerId\"\n\t\t\t\t:display-name=\"richObject.poll.ownerDisplayName\" />\n\t\t</div>\n\t</div>\n</template>\n\n<style lang=\"scss\" scoped>\n.polls_widget {\n\tpadding: 0.6rem;\n}\n\n.widget_header,\n.widget_footer {\n\tdisplay: flex;\n\tcolumn-gap: 0.3rem;\n}\n\n.badge-small {\n\tflex: 0;\n}\n\n.polls_app_icon {\n\tflex: 0 0 1.4rem;\n}\n\n.title {\n\tflex: 1;\n\tfont-weight: bold;\n\tpadding-inline-start: 0.6rem;\n\ttext-wrap: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.description {\n\tmargin-inline-start: 1.4rem;\n\tpadding: 0.6rem;\n}\n\n.owner {\n\tmargin-inline-start: 1.4rem;\n\tpadding-inline-start: 0.6rem;\n}\n\n.clamped {\n\tdisplay: -webkit-box !important;\n\t-webkit-line-clamp: 4;\n\tline-clamp: 4;\n\t-webkit-box-orient: vertical;\n\ttext-wrap: wrap;\n\toverflow: clip !important;\n\ttext-overflow: ellipsis !important;\n\tpadding: 0 !important;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createApp } from 'vue'\nimport { pinia } from './stores'\nimport { registerWidget } from '@nextcloud/vue/components/NcRichText'\nimport Reference from './views/Reference.vue'\nimport './assets/scss/polls-icon.scss'\n\nregisterWidget(\n\t'polls_reference_widget',\n\tasync (el, { richObject }) => {\n\t\tconst PollsReference = createApp(Reference, {\n\t\t\trichObject,\n\t\t})\n\t\t\t.use(pinia)\n\t\t\t.mount(el)\n\t\treturn PollsReference\n\t},\n\t(el) => el.classList.add('nc-polls-reference-widget'),\n\t{},\n)\n"],"names":["expiryDateTime","__props","DateTime","expiryClass","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","PollsAppIcon","_hoisted_3","_createBlock","BadgeSmallDiv","_unref","t","ExpirationIcon","_createTextVNode","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_6","NcUserBubble","registerWidget","el","richObject","createApp","Reference","pinia"],"mappings":"8pCAkCA,MAAMA,EAAiBC,EAAA,YAAY,KAAK,OACrCC,EAAS,WAAWD,aAAW,KAAK,OAAS,GAAI,EACjD,KAEGE,EAAcF,EAAA,YAAY,MAAM,OACnCC,EAAS,WAAWD,aAAW,KAAK,OAAS,GAAI,EAAE,QAAQ,OAAO,EAAE,MAAQ,GAC3E,UACA,UACD,gBAISA,EAAA,YAAXG,EAAA,EAAAC,EAqCM,MArCNC,EAqCM,CApCLC,EAwBM,MAxBNC,EAwBM,CAvBLC,EAA8CC,EAAA,CAA/B,KAAM,GAAI,MAAM,YAAA,GAC/BH,EAEI,IAAA,CAFD,MAAM,QAAS,KAAMN,EAAA,WAAW,KAAK,IAAK,OAAO,QAAA,IAChDA,EAAA,WAAW,KAAK,KAAK,EAAA,EAAAU,CAAA,EAEJV,EAAA,WAAW,KAAK,kBAArCW,EAEgBC,EAAA,OAFmC,MAAM,SAAA,aACxD,IAAgC,KAA7BC,EAAAC,CAAA,EAAC,QAAA,cAAA,CAAA,EAAA,CAAA,CAAA,UAEqBd,EAAA,WAAW,KAAK,aAA1CW,EAEgBC,EAAA,OAFmC,MAAM,OAAA,aACxD,IAA0B,KAAvBC,EAAAC,CAAA,EAAC,QAAA,QAAA,CAAA,EAAA,CAAA,CAAA,UAGOd,EAAA,WAAW,KAAK,OAAM,OADlCW,EAYgBC,EAAA,OAVd,MAAaC,EAAAd,CAAA,EAAuBc,EAAAd,CAAA,EAAe,eAAec,EAAAZ,CAAA,EAAS,cAAc,KAKzF,QAAOY,EAAAX,CAAA,CAAW,CAAA,GACR,OACV,IAA6B,CAA7BM,EAA6BO,EAAA,CAAZ,KAAM,GAAE,CAAA,aACf,IACX,CADWC,EAAA,IACXC,EAAGJ,EAAAd,CAAA,EAAiBc,EAAAd,CAAA,EAAe,aAAU,EAAA,EAAA,CAAA,CAAA,yCAG/CO,EAIM,MAJNY,EAIM,CAHLZ,EAEO,OAFPa,EAEOF,EADHjB,aAAW,KAAK,WAAW,EAAA,CAAA,CAAA,GAGrBA,EAAA,WAAW,KAAK,SAA3BG,IAAAC,EAKM,MALNgB,EAKM,CAJLd,EAAoC,cAA3BO,EAAAC,CAAA,EAAC,QAAA,KAAA,CAAA,EAAA,CAAA,EACVN,EAEoDK,EAAAQ,CAAA,EAAA,CADlD,KAAMrB,EAAA,WAAW,KAAK,QACtB,eAAcA,EAAA,WAAW,KAAK,gBAAA,sGCtEnCsB,EACC,yBACA,MAAOC,EAAI,CAAE,WAAAC,KACWC,EAAUC,EAAW,CAC3C,WAAAF,CAAA,CACA,EACC,IAAIG,CAAK,EACT,MAAMJ,CAAE,EAGVA,GAAOA,EAAG,UAAU,IAAI,2BAA2B,EACpD,CAAA,CACD"}