digivue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
1 lines • 16.5 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../src/rating/BaseRating.vue","../../src/rating/Rating.vue","../../src/rating/Rating.vue?vue&type=template&id=157319a7&lang.js"],"sourcesContent":["<script>\nimport BaseEditableHolder from '@digivue/core/baseeditableholder';\nimport RatingStyle from 'digivue/rating/style';\n\nexport default {\n name: 'BaseRating',\n extends: BaseEditableHolder,\n props: {\n readonly: {\n type: Boolean,\n default: false\n },\n stars: {\n type: Number,\n default: 5\n },\n onIcon: {\n type: String,\n default: undefined\n },\n offIcon: {\n type: String,\n default: undefined\n }\n },\n style: RatingStyle,\n provide() {\n return {\n $pcRating: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"value in stars\" :key=\"value\">\n <div :class=\"cx('option', { value })\" @click=\"onOptionClick($event, value)\" v-bind=\"getPTOptions('option', value)\" :data-p-active=\"value <= d_value\" :data-p-focused=\"value === focusedOptionIndex\">\n <span class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenOptionInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n type=\"radio\"\n :value=\"value\"\n :name=\"d_name\"\n :checked=\"d_value === value\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :aria-label=\"starAriaLabel(value)\"\n @focus=\"onFocus($event, value)\"\n @blur=\"onBlur\"\n @change=\"onChange($event, value)\"\n v-bind=\"ptm('hiddenOptionInput')\"\n />\n </span>\n <slot v-if=\"value <= d_value\" name=\"onicon\" :value=\"value\" :class=\"cx('onIcon')\">\n <component :is=\"onIcon ? 'span' : 'StarFillIcon'\" :class=\"[cx('onIcon'), onIcon]\" v-bind=\"ptm('onIcon')\" />\n </slot>\n <slot v-else name=\"officon\" :value=\"value\" :class=\"cx('offIcon')\">\n <component :is=\"offIcon ? 'span' : 'StarIcon'\" :class=\"[cx('offIcon'), offIcon]\" v-bind=\"ptm('offIcon')\" />\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script>\nimport { focus, getFirstFocusableElement } from '@digivue/utils/dom';\nimport { UniqueComponentId } from '@digivue/core/utils';\nimport BanIcon from '@digivue/icons/ban';\nimport StarIcon from '@digivue/icons/star';\nimport StarFillIcon from '@digivue/icons/starfill';\nimport BaseRating from './BaseRating.vue';\n\nexport default {\n name: 'Rating',\n extends: BaseRating,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n d_name: this.name,\n focusedOptionIndex: -1,\n isFocusVisibleItem: true\n };\n },\n watch: {\n name: function (newValue) {\n this.d_name = newValue || UniqueComponentId();\n }\n },\n mounted() {\n this.d_name = this.d_name || UniqueComponentId();\n },\n methods: {\n getPTOptions(key, value) {\n return this.ptm(key, {\n context: {\n active: value <= this.d_value,\n focused: value === this.focusedOptionIndex\n }\n });\n },\n onOptionClick(event, value) {\n if (!this.readonly && !this.disabled) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = false;\n const firstFocusableEl = getFirstFocusableElement(event.currentTarget);\n\n firstFocusableEl && focus(firstFocusableEl);\n }\n },\n onFocus(event, value) {\n this.focusedOptionIndex = value;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onChange(event, value) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = true;\n },\n onOptionSelect(event, value) {\n if (this.focusedOptionIndex === value || this.d_value === value) {\n this.focusedOptionIndex = -1;\n this.updateModel(event, null);\n } else {\n this.focusedOptionIndex = value;\n this.updateModel(event, value || null);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\n },\n starAriaLabel(value) {\n return value === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, value);\n }\n },\n components: {\n StarFillIcon,\n StarIcon,\n BanIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"value in stars\" :key=\"value\">\n <div :class=\"cx('option', { value })\" @click=\"onOptionClick($event, value)\" v-bind=\"getPTOptions('option', value)\" :data-p-active=\"value <= d_value\" :data-p-focused=\"value === focusedOptionIndex\">\n <span class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenOptionInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n type=\"radio\"\n :value=\"value\"\n :name=\"d_name\"\n :checked=\"d_value === value\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :aria-label=\"starAriaLabel(value)\"\n @focus=\"onFocus($event, value)\"\n @blur=\"onBlur\"\n @change=\"onChange($event, value)\"\n v-bind=\"ptm('hiddenOptionInput')\"\n />\n </span>\n <slot v-if=\"value <= d_value\" name=\"onicon\" :value=\"value\" :class=\"cx('onIcon')\">\n <component :is=\"onIcon ? 'span' : 'StarFillIcon'\" :class=\"[cx('onIcon'), onIcon]\" v-bind=\"ptm('onIcon')\" />\n </slot>\n <slot v-else name=\"officon\" :value=\"value\" :class=\"cx('offIcon')\">\n <component :is=\"offIcon ? 'span' : 'StarIcon'\" :class=\"[cx('offIcon'), offIcon]\" v-bind=\"ptm('offIcon')\" />\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script>\nimport { focus, getFirstFocusableElement } from '@digivue/utils/dom';\nimport { UniqueComponentId } from '@digivue/core/utils';\nimport BanIcon from '@digivue/icons/ban';\nimport StarIcon from '@digivue/icons/star';\nimport StarFillIcon from '@digivue/icons/starfill';\nimport BaseRating from './BaseRating.vue';\n\nexport default {\n name: 'Rating',\n extends: BaseRating,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n d_name: this.name,\n focusedOptionIndex: -1,\n isFocusVisibleItem: true\n };\n },\n watch: {\n name: function (newValue) {\n this.d_name = newValue || UniqueComponentId();\n }\n },\n mounted() {\n this.d_name = this.d_name || UniqueComponentId();\n },\n methods: {\n getPTOptions(key, value) {\n return this.ptm(key, {\n context: {\n active: value <= this.d_value,\n focused: value === this.focusedOptionIndex\n }\n });\n },\n onOptionClick(event, value) {\n if (!this.readonly && !this.disabled) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = false;\n const firstFocusableEl = getFirstFocusableElement(event.currentTarget);\n\n firstFocusableEl && focus(firstFocusableEl);\n }\n },\n onFocus(event, value) {\n this.focusedOptionIndex = value;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onChange(event, value) {\n this.onOptionSelect(event, value);\n this.isFocusVisibleItem = true;\n },\n onOptionSelect(event, value) {\n if (this.focusedOptionIndex === value || this.d_value === value) {\n this.focusedOptionIndex = -1;\n this.updateModel(event, null);\n } else {\n this.focusedOptionIndex = value;\n this.updateModel(event, value || null);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\n },\n starAriaLabel(value) {\n return value === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, value);\n }\n },\n components: {\n StarFillIcon,\n StarIcon,\n BanIcon\n }\n};\n</script>\n"],"names":["name","BaseEditableHolder","props","readonly","type","Boolean","stars","Number","onIcon","String","undefined","offIcon","style","RatingStyle","provide","$pcRating","$parentInstance","BaseRating","inheritAttrs","emits","data","d_name","focusedOptionIndex","isFocusVisibleItem","watch","newValue","UniqueComponentId","mounted","methods","getPTOptions","key","value","ptm","context","active","d_value","focused","onOptionClick","event","disabled","onOptionSelect","firstFocusableEl","getFirstFocusableElement","currentTarget","focus","onFocus","$emit","onBlur","_this$formField$onBlu","_this$formField","formField","call","onChange","updateModel","writeValue","originalEvent","starAriaLabel","$primevue","config","locale","aria","star","replace","components","StarFillIcon","StarIcon","BanIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_Fragment","_renderList","onClick","$event","$options","$data","_createElementVNode","checked","apply","arguments","_hoisted_2","_renderSlot","$slots","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,YAAY;AAClB,EAAA,SAAA,EAASC,kBAAkB;AAC3BC,EAAAA,KAAK,EAAE;AACHC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,IAAI,EAAEC,OAAO;MACb,SAAS,EAAA;KACZ;AACDC,IAAAA,KAAK,EAAE;AACHF,MAAAA,IAAI,EAAEG,MAAM;MACZ,SAAS,EAAA;KACZ;AACDC,IAAAA,MAAM,EAAE;AACJJ,MAAAA,IAAI,EAAEK,MAAM;MACZ,SAASC,EAAAA;KACZ;AACDC,IAAAA,OAAO,EAAE;AACLP,MAAAA,IAAI,EAAEK,MAAM;MACZ,SAASC,EAAAA;AACb;GACH;AACDE,EAAAA,KAAK,EAAEC,WAAW;EAClBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,SAAS,EAAE,IAAI;AACfC,MAAAA,eAAe,EAAE;KACpB;AACL;AACJ,CAAC;;ACMD,aAAe;AACXhB,EAAAA,IAAI,EAAE,QAAQ;AACd,EAAA,SAAA,EAASiB,QAAU;AACnBC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;EAClCC,IAAI,EAAA,SAAJA,IAAIA,GAAG;IACH,OAAO;MACHC,MAAM,EAAE,IAAI,CAACrB,IAAI;MACjBsB,kBAAkB,EAAE,EAAE;AACtBC,MAAAA,kBAAkB,EAAE;KACvB;GACJ;AACDC,EAAAA,KAAK,EAAE;AACHxB,IAAAA,IAAI,EAAE,SAANA,IAAIA,CAAYyB,QAAQ,EAAE;AACtB,MAAA,IAAI,CAACJ,MAAK,GAAII,QAAO,IAAKC,iBAAiB,EAAE;AACjD;GACH;EACDC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,IAAI,CAACN,SAAS,IAAI,CAACA,MAAO,IAAGK,iBAAiB,EAAE;GACnD;AACDE,EAAAA,OAAO,EAAE;AACLC,IAAAA,YAAY,WAAZA,YAAYA,CAACC,GAAG,EAAEC,KAAK,EAAE;AACrB,MAAA,OAAO,IAAI,CAACC,GAAG,CAACF,GAAG,EAAE;AACjBG,QAAAA,OAAO,EAAE;AACLC,UAAAA,MAAM,EAAEH,KAAM,IAAG,IAAI,CAACI,OAAO;AAC7BC,UAAAA,OAAO,EAAEL,KAAM,KAAI,IAAI,CAACT;AAC5B;AACJ,OAAC,CAAC;KACL;AACDe,IAAAA,aAAa,WAAbA,aAAaA,CAACC,KAAK,EAAEP,KAAK,EAAE;MACxB,IAAI,CAAC,IAAI,CAAC5B,QAAO,IAAK,CAAC,IAAI,CAACoC,QAAQ,EAAE;AAClC,QAAA,IAAI,CAACC,cAAc,CAACF,KAAK,EAAEP,KAAK,CAAC;QACjC,IAAI,CAACR,kBAAmB,GAAE,KAAK;AAC/B,QAAA,IAAMkB,gBAAiB,GAAEC,wBAAwB,CAACJ,KAAK,CAACK,aAAa,CAAC;AAEtEF,QAAAA,gBAAiB,IAAGG,KAAK,CAACH,gBAAgB,CAAC;AAC/C;KACH;AACDI,IAAAA,OAAO,WAAPA,OAAOA,CAACP,KAAK,EAAEP,KAAK,EAAE;MAClB,IAAI,CAACT,kBAAmB,GAAES,KAAK;AAC/B,MAAA,IAAI,CAACe,KAAK,CAAC,OAAO,EAAER,KAAK,CAAC;KAC7B;AACDS,IAAAA,MAAM,EAANA,SAAAA,MAAMA,CAACT,KAAK,EAAE;MAAA,IAAAU,qBAAA,EAAAC,eAAA;AACV,MAAA,IAAI,CAAC3B,kBAAiB,GAAI,EAAE;AAC5B,MAAA,IAAI,CAACwB,KAAK,CAAC,MAAM,EAAER,KAAK,CAAC;AACzB,MAAA,CAAAU,qBAAA,GAAAC,CAAAA,eAAA,GAAI,IAAA,CAACC,SAAS,EAACH,MAAM,MAAAC,IAAAA,IAAAA,qBAAA,eAArBA,qBAAA,CAAAG,IAAA,CAAAF,eAAwB,CAAC;KAC5B;AACDG,IAAAA,QAAQ,WAARA,QAAQA,CAACd,KAAK,EAAEP,KAAK,EAAE;AACnB,MAAA,IAAI,CAACS,cAAc,CAACF,KAAK,EAAEP,KAAK,CAAC;MACjC,IAAI,CAACR,kBAAiB,GAAI,IAAI;KACjC;AACDiB,IAAAA,cAAc,WAAdA,cAAcA,CAACF,KAAK,EAAEP,KAAK,EAAE;MACzB,IAAI,IAAI,CAACT,kBAAiB,KAAMS,KAAM,IAAG,IAAI,CAACI,OAAM,KAAMJ,KAAK,EAAE;AAC7D,QAAA,IAAI,CAACT,kBAAiB,GAAI,EAAE;AAC5B,QAAA,IAAI,CAAC+B,WAAW,CAACf,KAAK,EAAE,IAAI,CAAC;AACjC,OAAE,MAAK;QACH,IAAI,CAAChB,kBAAmB,GAAES,KAAK;QAC/B,IAAI,CAACsB,WAAW,CAACf,KAAK,EAAEP,KAAI,IAAK,IAAI,CAAC;AAC1C;KACH;AACDsB,IAAAA,WAAW,WAAXA,WAAWA,CAACf,KAAK,EAAEP,KAAK,EAAE;AACtB,MAAA,IAAI,CAACuB,UAAU,CAACvB,KAAK,EAAEO,KAAK,CAAC;AAC7B,MAAA,IAAI,CAACQ,KAAK,CAAC,QAAQ,EAAE;AAAES,QAAAA,aAAa,EAAEjB,KAAK;AAAEP,QAAAA,KAAM,EAANA;AAAM,OAAC,CAAC;KACxD;AACDyB,IAAAA,aAAa,EAAbA,SAAAA,aAAaA,CAACzB,KAAK,EAAE;AACjB,MAAA,OAAOA,KAAM,KAAI,IAAI,IAAI,CAAC0B,SAAS,CAACC,MAAM,CAACC,MAAM,CAACC,IAAI,CAACC,IAAK,GAAE,IAAI,CAACJ,SAAS,CAACC,MAAM,CAACC,MAAM,CAACC,IAAI,CAACtD,KAAK,CAACwD,OAAO,CAAC,SAAS,EAAE/B,KAAK,CAAC;AACnI;GACH;AACDgC,EAAAA,UAAU,EAAE;AACRC,IAAAA,YAAY,EAAZA,YAAY;AACZC,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,OAAM,EAANA;AACJ;AACJ,CAAC;;;;;EC9GG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CA0BK,OA1BLC,UA0BK,CAAA;AA1BC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,MAAA;KAAkBD,IAAI,CAAAE,IAAA,CAAA,MAAA,CAAA,CAAA,EAAA,mBACjCJ,kBAwBU,CAAAK,QAAA,EAAA,IAAA,EAAAC,UAAA,CAxBgBJ,IAAK,CAAAhE,KAAA,EAAA,UAAdyB,KAAM,EAAA;IACnB,OAAAoC,SAAA,EAAA,EAAAC,kBAAA,CAsBK,OAtBLC,UAsBK,CAAA;WAvB8BtC,KAAK;AAClC,MAAA,OAAA,EAAOuC,IAAE,CAAAC,EAAA,CAAA,QAAA,EAAA;AAAaxC,QAAAA,OAAAA;;AAAW4C,MAAAA,OAAK,EAAE,SAAPA,OAAKA,CAAEC,MAAA,EAAA;AAAA,QAAA,OAAAC,QAAA,CAAAxC,aAAa,CAACuC,MAAM,EAAE7C,KAAK,CAAA;OAAA;;KAAW,EAAA8C,QAAA,CAAAhD,YAAY,WAAWE,KAAK,CAAA,EAAA;AAAI,MAAA,eAAa,EAAEA,KAAI,IAAKuC,IAAO,CAAAnC,OAAA;AAAG,MAAA,gBAAc,EAAEJ,KAAI,KAAM+C,KAAkB,CAAAxD;SAC9LyD,kBAAA,CAcM,QAdNV,UAcM,CAAA;AAdA,MAAA,OAAA,EAAM,qBAAoB;;OAAUC,IAAG,CAAAtC,GAAA,CAAA,4BAAA,CAAA,EAAA;AAAiC,MAAA,0BAAwB,EAAE;KAAI,CAAA,EAAA,CACxG+C,kBAAA,CAYC,SAZDV,UAYC,CAAA;AAXGjE,MAAAA,IAAI,EAAC,OAAM;AACV2B,MAAAA,KAAK,EAAEA,KAAK;MACZ/B,IAAI,EAAE8E,KAAM,CAAAzD,MAAA;AACZ2D,MAAAA,OAAO,EAAEV,IAAM,CAAAnC,OAAA,KAAMJ,KAAK;MAC1BQ,QAAQ,EAAE+B,IAAQ,CAAA/B,QAAA;MAClBpC,QAAQ,EAAEmE,IAAQ,CAAAnE,QAAA;AAClB,MAAA,YAAU,EAAE0E,QAAa,CAAArB,aAAA,CAACzB,KAAK,CAAA;AAC/Bc,MAAAA,OAAK,EAAE,SAAPA,OAAKA,CAAE+B,MAAA,EAAA;AAAA,QAAA,OAAAC,QAAA,CAAAhC,OAAO,CAAC+B,MAAM,EAAE7C,KAAK,CAAA;OAAA;MAC5BgB,MAAI;eAAE8B,QAAM,CAAA9B,MAAA,IAAA8B,QAAA,CAAA9B,MAAA,CAAAkC,KAAA,CAAAJ,QAAA,EAAAK,SAAA,CAAA;AAAA,OAAA,CAAA;AACZ9B,MAAAA,QAAM,EAAE,SAARA,QAAMA,CAAEwB,MAAA,EAAA;AAAA,QAAA,OAAAC,QAAA,CAAAzB,QAAQ,CAACwB,MAAM,EAAE7C,KAAK,CAAA;OAAA;;OACvBuC,IAAG,CAAAtC,GAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAAmD,UAAA,CAAA,QAGPpD,SAASuC,IAAO,CAAAnC,OAAA,GAA5BiD,UAEM,CAAAd,IAAA,CAAAe,MAAA,EAAA,QAAA,EAAA;;AAFuCtD,MAAAA,KAAK,EAAEA,KAAK;AAAG,MAAA,OAAA,iBAAOuC,IAAE,CAAAC,EAAA,CAAA,QAAA,CAAA;OAArE,YAAA;AAAA,MAAA,OAEM,eADFe,WAA0G,CAAAC,uBAAA,CAA1FjB,wCAAhBD,UAA0G,CAAA;QAAvD,OAAK,EAAA,CAAGC,IAAE,CAAAC,EAAA,CAAA,QAAA,CAAA,EAAYD,IAAM,CAAA9D,MAAA,CAAA;;SAAW8D,IAAG,CAAAtC,GAAA,CAAA,QAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA;SAEjGoD,UAEM,CAAAd,IAAA,CAAAe,MAAA,EAAA,SAAA,EAAA;;AAFuBtD,MAAAA,KAAK,EAAEA,KAAK;AAAG,MAAA,OAAA,iBAAOuC,IAAE,CAAAC,EAAA,CAAA,SAAA,CAAA;OAArD,YAAA;AAAA,MAAA,OAEM,eADFe,WAA0G,CAAAC,uBAAA,CAA1FjB,IAAQ,CAAA3D,OAAA,GAAA,MAAA,GAAA,UAAA,CAAA,EAAxB0D,UAA0G,CAAA;QAA1D,OAAK,EAAA,CAAGC,IAAE,CAAAC,EAAA,CAAA,SAAA,CAAA,EAAaD,IAAO,CAAA3D,OAAA,CAAA;;SAAW2D,IAAG,CAAAtC,GAAA,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;"}