@aotearoan/neon 28.4.0 → 28.4.1

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 (41) hide show
  1. package/dist/components/layout/card-list/NeonCardList.cjs.js +1 -1
  2. package/dist/components/layout/card-list/NeonCardList.cjs.js.map +1 -1
  3. package/dist/components/layout/card-list/NeonCardList.es.js +18 -11
  4. package/dist/components/layout/card-list/NeonCardList.es.js.map +1 -1
  5. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
  6. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
  7. package/dist/components/layout/card-list/NeonCardList.vue.es.js +28 -27
  8. package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
  9. package/dist/components/layout/list-layout/NeonListLayout.cjs.js +1 -1
  10. package/dist/components/layout/list-layout/NeonListLayout.cjs.js.map +1 -1
  11. package/dist/components/layout/list-layout/NeonListLayout.es.js +18 -10
  12. package/dist/components/layout/list-layout/NeonListLayout.es.js.map +1 -1
  13. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js +1 -1
  14. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js.map +1 -1
  15. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js +16 -15
  16. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js.map +1 -1
  17. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js +1 -1
  18. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js.map +1 -1
  19. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js +10 -10
  20. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js.map +1 -1
  21. package/dist/components/navigation/pagination/NeonPagination.cjs.js +1 -1
  22. package/dist/components/navigation/pagination/NeonPagination.cjs.js.map +1 -1
  23. package/dist/components/navigation/pagination/NeonPagination.es.js +31 -21
  24. package/dist/components/navigation/pagination/NeonPagination.es.js.map +1 -1
  25. package/dist/components/navigation/pagination/NeonPagination.vue.cjs.js +1 -1
  26. package/dist/components/navigation/pagination/NeonPagination.vue.cjs.js.map +1 -1
  27. package/dist/components/navigation/pagination/NeonPagination.vue.es.js +43 -36
  28. package/dist/components/navigation/pagination/NeonPagination.vue.es.js.map +1 -1
  29. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js +1 -1
  30. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js.map +1 -1
  31. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js +7 -7
  32. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js.map +1 -1
  33. package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js +1 -1
  34. package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js.map +1 -1
  35. package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js +40 -40
  36. package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js.map +1 -1
  37. package/dist/src/components/layout/card-list/NeonCardList.d.ts +11 -21
  38. package/dist/src/components/layout/list-layout/NeonListLayout.d.ts +26 -64
  39. package/dist/src/components/navigation/pagination/NeonPagination.d.ts +6 -5
  40. package/dist/src/model/navigation/pagination/NeonPaginationModel.d.ts +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NeonListLayout.vue.es.js","sources":["../../../../src/components/layout/list-layout/NeonListLayout.vue"],"sourcesContent":["<template>\n <div class=\"neon-list-layout\">\n <neon-header\n v-if=\"!initializing && items.length > 0\"\n :back-button=\"backButton\"\n :back-label=\"backLabel\"\n :breadcrumbs=\"breadcrumbs\"\n :subtitle=\"subtitle\"\n :title=\"title\"\n >\n <template #labels>\n <!-- @slot a slot for adding labels/info popovers next to the title -->\n <slot name=\"labels\"></slot>\n </template>\n <template v-if=\"items.length > 0\" #actions>\n <!-- @slot a slot for adding contextual action buttons to the header. The wrapper is provided, just add the\n buttons here in order to apply the correct spacings -->\n <slot name=\"actions\"></slot>\n </template>\n </neon-header>\n <!-- @slot the insert a note into the page -->\n <slot name=\"note\"></slot>\n <neon-card-list\n v-if=\"items.length > 0\"\n :color=\"color\"\n :items=\"items\"\n :load-on-demand=\"loadOnDemand\"\n :loading=\"loading\"\n :pagination=\"pagination\"\n :selectable=\"selectable\"\n @show-more=\"showMore\"\n @toggle-selected=\"toggleSelected\"\n >\n <template #filters>\n <!-- @slot the insert a filter bar above the list -->\n <slot name=\"filters\"></slot>\n </template>\n <template #header>\n <!-- @slot the list header -->\n <slot name=\"header\"></slot>\n </template>\n <template #card=\"{ model, index }\">\n <!-- @slot slot for rendering card contents, two parameters are available:\n @binding {T} model - the model item to be rendered\n @binding {number} index - the index of the item in the list -->\n <slot name=\"card\" v-bind=\"{ model, index }\"></slot>\n </template>\n </neon-card-list>\n <template v-else-if=\"!initializing && !loading && slots.emptyState\">\n <!-- @slot page empty state rendered when there are no list items -->\n <slot name=\"emptyState\"></slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonListLayout.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_ctx","_createBlock","_component_neon_header","_renderSlot","_component_neon_card_list","_withCtx","model","index","_normalizeProps","_guardReactiveProps"],"mappings":";;;AACO,MAAAA,IAAA,EAAA,OAAM,mBAAkB;;;AAA7B,SAAAC,EAAA,GAAAC,EAmDM,OAnDNF,GAmDM;AAAA,KAjDKG,EAAA,gBAAgBA,EAAA,MAAM,SAAM,UADrCC,EAiBcC,GAAA;AAAA;MAfX,eAAaF,EAAA;AAAA,MACb,cAAYA,EAAA;AAAA,MACZ,aAAaA,EAAA;AAAA,MACb,UAAUA,EAAA;AAAA,MACV,OAAOA,EAAA;AAAA;MAEG,UAET,MAA2B;AAAA,QAA3BG,EAA2BH,EAAA,QAAA,QAAA;AAAA;;;MAEbA,EAAA,MAAM,SAAM;cAAO;AAAA,cAGjC,MAA4B;AAAA,UAA5BG,EAA4BH,EAAA,QAAA,SAAA;AAAA;;;;IAIhCG,EAAyBH,EAAA,QAAA,MAAA;AAAA,IAEjBA,EAAA,MAAM,SAAM,UADpBC,EAyBiBG,GAAA;AAAA;MAvBd,OAAOJ,EAAA;AAAA,MACP,OAAOA,EAAA;AAAA,MACP,kBAAgBA,EAAA;AAAA,MAChB,SAASA,EAAA;AAAA,MACT,YAAYA,EAAA;AAAA,MACZ,YAAYA,EAAA;AAAA,MACZ,YAAWA,EAAA;AAAA,MACX,kBAAiBA,EAAA;AAAA;MAEP,WAET,MAA4B;AAAA,QAA5BG,EAA4BH,EAAA,QAAA,SAAA;AAAA;MAEnB,UAET,MAA2B;AAAA,QAA3BG,EAA2BH,EAAA,QAAA,QAAA;AAAA;MAElB,MAAIK,EAIb,CAAmD,EAJlC,OAAAC,GAAO,OAAAC,EAAK,MAAA;AAAA,QAI7BJ,EAAmDH,EAAA,QAAA,QAAAQ,EAAAC,EAAA,EAAvB,OAAAH,GAAO,OAAAC,EAAK,CAAA,CAAA,CAAA;AAAA;;4HAGtB,CAAAP,EAAA,gBAAY,CAAKA,EAAA,WAAWA,EAAA,MAAM,aAEtDG,EAA+BH,EAAA,QAAA,cAAA,EAAA,KAAA,EAAA,CAAA;;;;"}
1
+ {"version":3,"file":"NeonListLayout.vue.es.js","sources":["../../../../src/components/layout/list-layout/NeonListLayout.vue"],"sourcesContent":["<template>\n <div class=\"neon-list-layout\">\n <neon-header\n v-if=\"!initializing && items.length > 0\"\n :back-button=\"backButton\"\n :back-label=\"backLabel\"\n :breadcrumbs=\"breadcrumbs\"\n :subtitle=\"subtitle\"\n :title=\"title\"\n >\n <template #labels>\n <!-- @slot a slot for adding labels/info popovers next to the title -->\n <slot name=\"labels\"></slot>\n </template>\n <template v-if=\"items.length > 0\" #actions>\n <!-- @slot a slot for adding contextual action buttons to the header. The wrapper is provided, just add the\n buttons here in order to apply the correct spacings -->\n <slot name=\"actions\"></slot>\n </template>\n </neon-header>\n <!-- @slot the insert a note into the page -->\n <slot name=\"note\"></slot>\n <neon-card-list\n v-if=\"items.length > 0\"\n :color=\"color\"\n :items=\"items\"\n :load-on-demand=\"loadOnDemand\"\n :loading=\"loading\"\n :pagination=\"pagination\"\n :selectable=\"selectable\"\n @page-change=\"(page: number) => emit('page-change', page)\"\n @show-more=\"showMore\"\n @toggle-selected=\"toggleSelected\"\n >\n <template #filters>\n <!-- @slot the insert a filter bar above the list -->\n <slot name=\"filters\"></slot>\n </template>\n <template #header>\n <!-- @slot the list header -->\n <slot name=\"header\"></slot>\n </template>\n <template #card=\"{ model, index }\">\n <!-- @slot slot for rendering card contents, two parameters are available:\n @binding {T} model - the model item to be rendered\n @binding {number} index - the index of the item in the list -->\n <slot name=\"card\" v-bind=\"{ model, index }\"></slot>\n </template>\n </neon-card-list>\n <template v-else-if=\"!initializing && !loading && slots.emptyState\">\n <!-- @slot page empty state rendered when there are no list items -->\n <slot name=\"emptyState\"></slot>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonListLayout.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_ctx","_createBlock","_component_neon_header","_renderSlot","_component_neon_card_list","_cache","page","_withCtx","model","index","_normalizeProps","_guardReactiveProps"],"mappings":";;;AACO,MAAAA,IAAA,EAAA,OAAM,mBAAkB;;;AAA7B,SAAAC,EAAA,GAAAC,EAoDM,OApDNF,GAoDM;AAAA,KAlDKG,EAAA,gBAAgBA,EAAA,MAAM,SAAM,UADrCC,EAiBcC,GAAA;AAAA;MAfX,eAAaF,EAAA;AAAA,MACb,cAAYA,EAAA;AAAA,MACZ,aAAaA,EAAA;AAAA,MACb,UAAUA,EAAA;AAAA,MACV,OAAOA,EAAA;AAAA;MAEG,UAET,MAA2B;AAAA,QAA3BG,EAA2BH,EAAA,QAAA,QAAA;AAAA;;;MAEbA,EAAA,MAAM,SAAM;cAAO;AAAA,cAGjC,MAA4B;AAAA,UAA5BG,EAA4BH,EAAA,QAAA,SAAA;AAAA;;;;IAIhCG,EAAyBH,EAAA,QAAA,MAAA;AAAA,IAEjBA,EAAA,MAAM,SAAM,UADpBC,EA0BiBG,GAAA;AAAA;MAxBd,OAAOJ,EAAA;AAAA,MACP,OAAOA,EAAA;AAAA,MACP,kBAAgBA,EAAA;AAAA,MAChB,SAASA,EAAA;AAAA,MACT,YAAYA,EAAA;AAAA,MACZ,YAAYA,EAAA;AAAA,MACZ,cAAWK,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAiBN,EAAA,oBAAoBM,CAAI;AAAA,MACvD,YAAWN,EAAA;AAAA,MACX,kBAAiBA,EAAA;AAAA;MAEP,WAET,MAA4B;AAAA,QAA5BG,EAA4BH,EAAA,QAAA,SAAA;AAAA;MAEnB,UAET,MAA2B;AAAA,QAA3BG,EAA2BH,EAAA,QAAA,QAAA;AAAA;MAElB,MAAIO,EAIb,CAAmD,EAJlC,OAAAC,GAAO,OAAAC,EAAK,MAAA;AAAA,QAI7BN,EAAmDH,EAAA,QAAA,QAAAU,EAAAC,EAAA,EAAvB,OAAAH,GAAO,OAAAC,EAAK,CAAA,CAAA,CAAA;AAAA;;4HAGtB,CAAAT,EAAA,gBAAY,CAAKA,EAAA,WAAWA,EAAA,MAAM,aAEtDG,EAA+BH,EAAA,QAAA,cAAA,EAAA,KAAA,EAAA,CAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("./NeonBreadcrumbs.cjs.js"),e=require("vue"),u=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),i={class:"neon-breadcrumbs__container"},m={class:"neon-breadcrumbs__back-label"},b={key:1,ref:"linksRef",class:"neon-breadcrumbs__links"},k={key:2,class:"neon-breadcrumbs__link-text"};function _(n,r,p,B,y,C){const t=e.resolveComponent("neon-icon"),s=e.resolveComponent("neon-link"),a=e.resolveComponent("neon-swiper");return n.breadcrumbs.length!==0||n.backButton?(e.openBlock(),e.createBlock(a,{key:0,class:e.normalizeClass([[{"neon-breadcrumbs--breadcrumbs-only":!n.backButton},`neon-breadcrumbs--responsive-${n.responsiveStyle}`],"neon-breadcrumbs"])},{default:e.withCtx(()=>[e.createElementVNode("div",i,[n.backButton?(e.openBlock(),e.createBlock(s,{key:0,class:"neon-breadcrumbs__back","no-style":"",onClick:r[0]||(r[0]=o=>n.back())},{default:e.withCtx(()=>[e.createVNode(t,{class:"neon-breadcrumbs__back-icon",name:"arrow-left"}),e.createElementVNode("span",m,e.toDisplayString(n.backLabel),1)]),_:1})):e.createCommentVNode("",!0),n.breadcrumbs.length!==0?(e.openBlock(),e.createElementBlock("div",b,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.breadcrumbs,(o,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c},[c!==0?(e.openBlock(),e.createBlock(t,{key:0,class:"neon-breadcrumbs__separator",name:"arrow-right-1"})):e.createCommentVNode("",!0),o.url?(e.openBlock(),e.createBlock(s,{key:1,href:o.url,class:"neon-breadcrumbs__link","no-style":""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),_:2},1032,["href"])):(e.openBlock(),e.createElementBlock("span",k,e.toDisplayString(o.label),1))],64))),128))],512)):e.createCommentVNode("",!0)])]),_:1},8,["class"])):e.createCommentVNode("",!0)}const d=u(l,[["render",_]]);module.exports=d;
1
+ "use strict";const l=require("./NeonBreadcrumbs.cjs.js"),e=require("vue"),u=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),i={class:"neon-breadcrumbs__container"},m={class:"neon-breadcrumbs__back-label"},b={key:1,ref:"linksRef",class:"neon-breadcrumbs__links"},k={key:2,class:"neon-breadcrumbs__link-text"};function _(n,r,p,B,y,h){const t=e.resolveComponent("neon-icon"),s=e.resolveComponent("neon-link"),a=e.resolveComponent("neon-swiper");return n.breadcrumbs.length!==0||n.backButton?(e.openBlock(),e.createBlock(a,{key:0,class:e.normalizeClass([[{"neon-breadcrumbs--breadcrumbs-only":!n.backButton},`neon-breadcrumbs--responsive-${n.responsiveStyle}`],"neon-breadcrumbs"])},{default:e.withCtx(()=>[e.createElementVNode("div",i,[n.backButton?(e.openBlock(),e.createBlock(s,{key:0,class:"neon-breadcrumbs__back","no-style":"",onClick:r[0]||(r[0]=o=>n.back())},{default:e.withCtx(()=>[e.createVNode(t,{class:"neon-breadcrumbs__back-icon",name:"arrow-left"}),e.createElementVNode("span",m,e.toDisplayString(n.backLabel),1)]),_:1})):e.createCommentVNode("",!0),n.breadcrumbs.length!==0?(e.openBlock(),e.createElementBlock("div",b,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.breadcrumbs,(o,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c},[c!==0?(e.openBlock(),e.createBlock(t,{key:0,class:"neon-breadcrumbs__separator",name:"chevron-right"})):e.createCommentVNode("",!0),o.url?(e.openBlock(),e.createBlock(s,{key:1,href:o.url,class:"neon-breadcrumbs__link","no-style":""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),_:2},1032,["href"])):(e.openBlock(),e.createElementBlock("span",k,e.toDisplayString(o.label),1))],64))),128))],512)):e.createCommentVNode("",!0)])]),_:1},8,["class"])):e.createCommentVNode("",!0)}const d=u(l,[["render",_]]);module.exports=d;
2
2
  //# sourceMappingURL=NeonBreadcrumbs.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonBreadcrumbs.vue.cjs.js","sources":["../../../../src/components/navigation/breadcrumbs/NeonBreadcrumbs.vue"],"sourcesContent":["<template>\n <neon-swiper\n v-if=\"breadcrumbs.length !== 0 || backButton\"\n :class=\"[{ 'neon-breadcrumbs--breadcrumbs-only': !backButton }, `neon-breadcrumbs--responsive-${responsiveStyle}`]\"\n class=\"neon-breadcrumbs\"\n >\n <div class=\"neon-breadcrumbs__container\">\n <neon-link v-if=\"backButton\" class=\"neon-breadcrumbs__back\" no-style @click=\"back()\">\n <neon-icon class=\"neon-breadcrumbs__back-icon\" name=\"arrow-left\" />\n <span class=\"neon-breadcrumbs__back-label\">{{ backLabel }}</span>\n </neon-link>\n <div v-if=\"breadcrumbs.length !== 0\" ref=\"linksRef\" class=\"neon-breadcrumbs__links\">\n <template v-for=\"(breadcrumb, index) in breadcrumbs\" :key=\"index\">\n <neon-icon v-if=\"index !== 0\" class=\"neon-breadcrumbs__separator\" name=\"arrow-right-1\" />\n <neon-link v-if=\"breadcrumb.url\" :href=\"breadcrumb.url\" class=\"neon-breadcrumbs__link\" no-style>\n {{ breadcrumb.label }}\n </neon-link>\n <span v-else class=\"neon-breadcrumbs__link-text\">{{ breadcrumb.label }}</span>\n </template>\n </div>\n </div>\n </neon-swiper>\n</template>\n\n<script lang=\"ts\" src=\"./NeonBreadcrumbs.ts\" />\n"],"names":["_hoisted_1","_hoisted_2","_ctx","_createBlock","_component_neon_swiper","_normalizeClass","_createElementVNode","_component_neon_link","_createVNode","_component_neon_icon","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","breadcrumb","index","_createTextVNode","_hoisted_4"],"mappings":"0IAMSA,EAAA,CAAA,MAAM,6BAA6B,EAG9BC,EAAA,CAAA,MAAM,8BAA8B,WAEP,IAAI,WAAW,MAAM,oCAMzC,MAAM,4KAfnBC,EAAA,YAAY,SAAM,GAAUA,EAAA,0BADpCC,EAAAA,YAoBcC,EAAA,OAlBX,MAAKC,EAAAA,eAAA,CAAA,CAAA,CAAA,qCAAA,CAA4CH,EAAA,YAAU,gCAAoCA,EAAA,eAAe,IACzG,kBAAkB,CAAA,sBAExB,IAcM,CAdNI,EAAAA,mBAcM,MAdNN,EAcM,CAbaE,EAAA,0BAAjBC,EAAAA,YAGYI,EAAA,OAHiB,MAAM,yBAAyB,WAAA,GAAU,uBAAOL,EAAA,4BAC3E,IAAmE,CAAnEM,EAAAA,YAAmEC,EAAA,CAAxD,MAAM,8BAA8B,KAAK,eACpDH,EAAAA,mBAAiE,OAAjEL,EAAiES,EAAAA,gBAAnBR,EAAA,SAAS,EAAA,CAAA,uCAE9CA,EAAA,YAAY,SAAM,GAA7BS,EAAAA,YAAAC,EAAAA,mBAQM,MARNC,EAQM,EAPJF,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAMWE,WAAA,KAAAC,EAAAA,WAN6Bb,EAAA,YAAW,CAAjCc,EAAYC,wDAA6BA,GAAK,CAC7CA,IAAK,iBAAtBd,EAAAA,YAAyFM,EAAA,OAA3D,MAAM,8BAA8B,KAAK,+CACtDO,EAAW,mBAA5Bb,EAAAA,YAEYI,EAAA,OAFsB,KAAMS,EAAW,IAAK,MAAM,yBAAyB,WAAA,uBACrF,IAAsB,CAAnBE,EAAAA,gBAAAR,EAAAA,gBAAAM,EAAW,KAAK,EAAA,CAAA,0BAErBL,YAAA,EAAAC,EAAAA,mBAA8E,OAA9EO,EAA8ET,EAAAA,gBAA1BM,EAAW,KAAK,EAAA,CAAA"}
1
+ {"version":3,"file":"NeonBreadcrumbs.vue.cjs.js","sources":["../../../../src/components/navigation/breadcrumbs/NeonBreadcrumbs.vue"],"sourcesContent":["<template>\n <neon-swiper\n v-if=\"breadcrumbs.length !== 0 || backButton\"\n :class=\"[{ 'neon-breadcrumbs--breadcrumbs-only': !backButton }, `neon-breadcrumbs--responsive-${responsiveStyle}`]\"\n class=\"neon-breadcrumbs\"\n >\n <div class=\"neon-breadcrumbs__container\">\n <neon-link v-if=\"backButton\" class=\"neon-breadcrumbs__back\" no-style @click=\"back()\">\n <neon-icon class=\"neon-breadcrumbs__back-icon\" name=\"arrow-left\" />\n <span class=\"neon-breadcrumbs__back-label\">{{ backLabel }}</span>\n </neon-link>\n <div v-if=\"breadcrumbs.length !== 0\" ref=\"linksRef\" class=\"neon-breadcrumbs__links\">\n <template v-for=\"(breadcrumb, index) in breadcrumbs\" :key=\"index\">\n <neon-icon v-if=\"index !== 0\" class=\"neon-breadcrumbs__separator\" name=\"chevron-right\" />\n <neon-link v-if=\"breadcrumb.url\" :href=\"breadcrumb.url\" class=\"neon-breadcrumbs__link\" no-style>\n {{ breadcrumb.label }}\n </neon-link>\n <span v-else class=\"neon-breadcrumbs__link-text\">{{ breadcrumb.label }}</span>\n </template>\n </div>\n </div>\n </neon-swiper>\n</template>\n\n<script lang=\"ts\" src=\"./NeonBreadcrumbs.ts\" />\n"],"names":["_hoisted_1","_hoisted_2","_ctx","_createBlock","_component_neon_swiper","_normalizeClass","_createElementVNode","_component_neon_link","_createVNode","_component_neon_icon","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","breadcrumb","index","_createTextVNode","_hoisted_4"],"mappings":"0IAMSA,EAAA,CAAA,MAAM,6BAA6B,EAG9BC,EAAA,CAAA,MAAM,8BAA8B,WAEP,IAAI,WAAW,MAAM,oCAMzC,MAAM,4KAfnBC,EAAA,YAAY,SAAM,GAAUA,EAAA,0BADpCC,EAAAA,YAoBcC,EAAA,OAlBX,MAAKC,EAAAA,eAAA,CAAA,CAAA,CAAA,qCAAA,CAA4CH,EAAA,YAAU,gCAAoCA,EAAA,eAAe,IACzG,kBAAkB,CAAA,sBAExB,IAcM,CAdNI,EAAAA,mBAcM,MAdNN,EAcM,CAbaE,EAAA,0BAAjBC,EAAAA,YAGYI,EAAA,OAHiB,MAAM,yBAAyB,WAAA,GAAU,uBAAOL,EAAA,4BAC3E,IAAmE,CAAnEM,EAAAA,YAAmEC,EAAA,CAAxD,MAAM,8BAA8B,KAAK,eACpDH,EAAAA,mBAAiE,OAAjEL,EAAiES,EAAAA,gBAAnBR,EAAA,SAAS,EAAA,CAAA,uCAE9CA,EAAA,YAAY,SAAM,GAA7BS,EAAAA,YAAAC,EAAAA,mBAQM,MARNC,EAQM,EAPJF,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAMWE,WAAA,KAAAC,EAAAA,WAN6Bb,EAAA,YAAW,CAAjCc,EAAYC,wDAA6BA,GAAK,CAC7CA,IAAK,iBAAtBd,EAAAA,YAAyFM,EAAA,OAA3D,MAAM,8BAA8B,KAAK,+CACtDO,EAAW,mBAA5Bb,EAAAA,YAEYI,EAAA,OAFsB,KAAMS,EAAW,IAAK,MAAM,yBAAyB,WAAA,uBACrF,IAAsB,CAAnBE,EAAAA,gBAAAR,EAAAA,gBAAAM,EAAW,KAAK,EAAA,CAAA,0BAErBL,YAAA,EAAAC,EAAAA,mBAA8E,OAA9EO,EAA8ET,EAAAA,gBAA1BM,EAAW,KAAK,EAAA,CAAA"}
@@ -1,15 +1,15 @@
1
1
  import p from "./NeonBreadcrumbs.es.js";
2
- import { resolveComponent as a, openBlock as n, createBlock as r, normalizeClass as f, withCtx as c, createElementVNode as u, createVNode as y, toDisplayString as l, createCommentVNode as s, createElementBlock as t, Fragment as d, renderList as h, createTextVNode as B } from "vue";
3
- import v from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
- const $ = { class: "neon-breadcrumbs__container" }, g = { class: "neon-breadcrumbs__back-label" }, w = {
2
+ import { resolveComponent as a, openBlock as n, createBlock as r, normalizeClass as f, withCtx as c, createElementVNode as u, createVNode as y, toDisplayString as l, createCommentVNode as s, createElementBlock as t, Fragment as d, renderList as h, createTextVNode as v } from "vue";
3
+ import B from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
+ const $ = { class: "neon-breadcrumbs__container" }, g = { class: "neon-breadcrumbs__back-label" }, C = {
5
5
  key: 1,
6
6
  ref: "linksRef",
7
7
  class: "neon-breadcrumbs__links"
8
- }, C = {
8
+ }, N = {
9
9
  key: 2,
10
10
  class: "neon-breadcrumbs__link-text"
11
11
  };
12
- function N(e, b, V, E, L, S) {
12
+ function w(e, b, V, E, L, S) {
13
13
  const _ = a("neon-icon"), i = a("neon-link"), k = a("neon-swiper");
14
14
  return e.breadcrumbs.length !== 0 || e.backButton ? (n(), r(k, {
15
15
  key: 0,
@@ -32,12 +32,12 @@ function N(e, b, V, E, L, S) {
32
32
  ]),
33
33
  _: 1
34
34
  })) : s("", !0),
35
- e.breadcrumbs.length !== 0 ? (n(), t("div", w, [
35
+ e.breadcrumbs.length !== 0 ? (n(), t("div", C, [
36
36
  (n(!0), t(d, null, h(e.breadcrumbs, (o, m) => (n(), t(d, { key: m }, [
37
37
  m !== 0 ? (n(), r(_, {
38
38
  key: 0,
39
39
  class: "neon-breadcrumbs__separator",
40
- name: "arrow-right-1"
40
+ name: "chevron-right"
41
41
  })) : s("", !0),
42
42
  o.url ? (n(), r(i, {
43
43
  key: 1,
@@ -46,10 +46,10 @@ function N(e, b, V, E, L, S) {
46
46
  "no-style": ""
47
47
  }, {
48
48
  default: c(() => [
49
- B(l(o.label), 1)
49
+ v(l(o.label), 1)
50
50
  ]),
51
51
  _: 2
52
- }, 1032, ["href"])) : (n(), t("span", C, l(o.label), 1))
52
+ }, 1032, ["href"])) : (n(), t("span", N, l(o.label), 1))
53
53
  ], 64))), 128))
54
54
  ], 512)) : s("", !0)
55
55
  ])
@@ -57,7 +57,7 @@ function N(e, b, V, E, L, S) {
57
57
  _: 1
58
58
  }, 8, ["class"])) : s("", !0);
59
59
  }
60
- const R = /* @__PURE__ */ v(p, [["render", N]]);
60
+ const R = /* @__PURE__ */ B(p, [["render", w]]);
61
61
  export {
62
62
  R as default
63
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NeonBreadcrumbs.vue.es.js","sources":["../../../../src/components/navigation/breadcrumbs/NeonBreadcrumbs.vue"],"sourcesContent":["<template>\n <neon-swiper\n v-if=\"breadcrumbs.length !== 0 || backButton\"\n :class=\"[{ 'neon-breadcrumbs--breadcrumbs-only': !backButton }, `neon-breadcrumbs--responsive-${responsiveStyle}`]\"\n class=\"neon-breadcrumbs\"\n >\n <div class=\"neon-breadcrumbs__container\">\n <neon-link v-if=\"backButton\" class=\"neon-breadcrumbs__back\" no-style @click=\"back()\">\n <neon-icon class=\"neon-breadcrumbs__back-icon\" name=\"arrow-left\" />\n <span class=\"neon-breadcrumbs__back-label\">{{ backLabel }}</span>\n </neon-link>\n <div v-if=\"breadcrumbs.length !== 0\" ref=\"linksRef\" class=\"neon-breadcrumbs__links\">\n <template v-for=\"(breadcrumb, index) in breadcrumbs\" :key=\"index\">\n <neon-icon v-if=\"index !== 0\" class=\"neon-breadcrumbs__separator\" name=\"arrow-right-1\" />\n <neon-link v-if=\"breadcrumb.url\" :href=\"breadcrumb.url\" class=\"neon-breadcrumbs__link\" no-style>\n {{ breadcrumb.label }}\n </neon-link>\n <span v-else class=\"neon-breadcrumbs__link-text\">{{ breadcrumb.label }}</span>\n </template>\n </div>\n </div>\n </neon-swiper>\n</template>\n\n<script lang=\"ts\" src=\"./NeonBreadcrumbs.ts\" />\n"],"names":["_hoisted_1","_hoisted_2","_ctx","_createBlock","_component_neon_swiper","_normalizeClass","_createElementVNode","_component_neon_link","_createVNode","_component_neon_icon","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","breadcrumb","index","_createTextVNode","_hoisted_4"],"mappings":";;;AAMS,MAAAA,IAAA,EAAA,OAAM,8BAA6B,GAG9BC,IAAA,EAAA,OAAM,+BAA8B;;EAEP,KAAI;AAAA,EAAW,OAAM;;;EAMzC,OAAM;;;;SAfnBC,EAAA,YAAY,WAAM,KAAUA,EAAA,mBADpCC,EAoBcC,GAAA;AAAA;IAlBX,OAAKC,EAAA,CAAA,CAAA,EAAA,sCAAA,CAA4CH,EAAA,cAAU,gCAAoCA,EAAA,eAAe,KACzG,kBAAkB,CAAA;AAAA;eAExB,MAcM;AAAA,MAdNI,EAcM,OAdNN,GAcM;AAAA,QAbaE,EAAA,mBAAjBC,EAGYI,GAAA;AAAA;UAHiB,OAAM;AAAA,UAAyB,YAAA;AAAA,UAAU,gCAAOL,EAAA;;qBAC3E,MAAmE;AAAA,YAAnEM,EAAmEC,GAAA;AAAA,cAAxD,OAAM;AAAA,cAA8B,MAAK;AAAA;YACpDH,EAAiE,QAAjEL,GAAiES,EAAnBR,EAAA,SAAS,GAAA,CAAA;AAAA;;;QAE9CA,EAAA,YAAY,WAAM,KAA7BS,KAAAC,EAQM,OARNC,GAQM;AAAA,WAPJF,EAAA,EAAA,GAAAC,EAMWE,GAAA,MAAAC,EAN6Bb,EAAA,aAAW,CAAjCc,GAAYC,wBAA6BA,KAAK;AAAA,YAC7CA,MAAK,UAAtBd,EAAyFM,GAAA;AAAA;cAA3D,OAAM;AAAA,cAA8B,MAAK;AAAA;YACtDO,EAAW,YAA5Bb,EAEYI,GAAA;AAAA;cAFsB,MAAMS,EAAW;AAAA,cAAK,OAAM;AAAA,cAAyB,YAAA;AAAA;yBACrF,MAAsB;AAAA,gBAAnBE,EAAAR,EAAAM,EAAW,KAAK,GAAA,CAAA;AAAA;;mCAErBL,EAAA,GAAAC,EAA8E,QAA9EO,GAA8ET,EAA1BM,EAAW,KAAK,GAAA,CAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"NeonBreadcrumbs.vue.es.js","sources":["../../../../src/components/navigation/breadcrumbs/NeonBreadcrumbs.vue"],"sourcesContent":["<template>\n <neon-swiper\n v-if=\"breadcrumbs.length !== 0 || backButton\"\n :class=\"[{ 'neon-breadcrumbs--breadcrumbs-only': !backButton }, `neon-breadcrumbs--responsive-${responsiveStyle}`]\"\n class=\"neon-breadcrumbs\"\n >\n <div class=\"neon-breadcrumbs__container\">\n <neon-link v-if=\"backButton\" class=\"neon-breadcrumbs__back\" no-style @click=\"back()\">\n <neon-icon class=\"neon-breadcrumbs__back-icon\" name=\"arrow-left\" />\n <span class=\"neon-breadcrumbs__back-label\">{{ backLabel }}</span>\n </neon-link>\n <div v-if=\"breadcrumbs.length !== 0\" ref=\"linksRef\" class=\"neon-breadcrumbs__links\">\n <template v-for=\"(breadcrumb, index) in breadcrumbs\" :key=\"index\">\n <neon-icon v-if=\"index !== 0\" class=\"neon-breadcrumbs__separator\" name=\"chevron-right\" />\n <neon-link v-if=\"breadcrumb.url\" :href=\"breadcrumb.url\" class=\"neon-breadcrumbs__link\" no-style>\n {{ breadcrumb.label }}\n </neon-link>\n <span v-else class=\"neon-breadcrumbs__link-text\">{{ breadcrumb.label }}</span>\n </template>\n </div>\n </div>\n </neon-swiper>\n</template>\n\n<script lang=\"ts\" src=\"./NeonBreadcrumbs.ts\" />\n"],"names":["_hoisted_1","_hoisted_2","_ctx","_createBlock","_component_neon_swiper","_normalizeClass","_createElementVNode","_component_neon_link","_createVNode","_component_neon_icon","_toDisplayString","_openBlock","_createElementBlock","_hoisted_3","_Fragment","_renderList","breadcrumb","index","_createTextVNode","_hoisted_4"],"mappings":";;;AAMS,MAAAA,IAAA,EAAA,OAAM,8BAA6B,GAG9BC,IAAA,EAAA,OAAM,+BAA8B;;EAEP,KAAI;AAAA,EAAW,OAAM;;;EAMzC,OAAM;;;;SAfnBC,EAAA,YAAY,WAAM,KAAUA,EAAA,mBADpCC,EAoBcC,GAAA;AAAA;IAlBX,OAAKC,EAAA,CAAA,CAAA,EAAA,sCAAA,CAA4CH,EAAA,cAAU,gCAAoCA,EAAA,eAAe,KACzG,kBAAkB,CAAA;AAAA;eAExB,MAcM;AAAA,MAdNI,EAcM,OAdNN,GAcM;AAAA,QAbaE,EAAA,mBAAjBC,EAGYI,GAAA;AAAA;UAHiB,OAAM;AAAA,UAAyB,YAAA;AAAA,UAAU,gCAAOL,EAAA;;qBAC3E,MAAmE;AAAA,YAAnEM,EAAmEC,GAAA;AAAA,cAAxD,OAAM;AAAA,cAA8B,MAAK;AAAA;YACpDH,EAAiE,QAAjEL,GAAiES,EAAnBR,EAAA,SAAS,GAAA,CAAA;AAAA;;;QAE9CA,EAAA,YAAY,WAAM,KAA7BS,KAAAC,EAQM,OARNC,GAQM;AAAA,WAPJF,EAAA,EAAA,GAAAC,EAMWE,GAAA,MAAAC,EAN6Bb,EAAA,aAAW,CAAjCc,GAAYC,wBAA6BA,KAAK;AAAA,YAC7CA,MAAK,UAAtBd,EAAyFM,GAAA;AAAA;cAA3D,OAAM;AAAA,cAA8B,MAAK;AAAA;YACtDO,EAAW,YAA5Bb,EAEYI,GAAA;AAAA;cAFsB,MAAMS,EAAW;AAAA,cAAK,OAAM;AAAA,cAAyB,YAAA;AAAA;yBACrF,MAAsB;AAAA,gBAAnBE,EAAAR,EAAAM,EAAW,KAAK,GAAA,CAAA;AAAA;;mCAErBL,EAAA,GAAAC,EAA8E,QAA9EO,GAA8ET,EAA1BM,EAAW,KAAK,GAAA,CAAA;AAAA;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const y=require("../../user-input/button/NeonButton.vue.cjs.js"),d=require("../../presentation/icon/NeonIcon.vue.cjs.js"),n=require("vue"),f=require("../../../model/common/color/NeonFunctionalColor.cjs.js"),v=n.defineComponent({name:"NeonPagination",components:{NeonButton:y,NeonIcon:d},props:{page:{type:Number,required:!0},urlTemplate:{type:String,required:!0},pageSize:{type:Number,default:20},total:{type:Number,required:!0},displayFirstAndLast:{type:Boolean,default:!1},color:{type:String,default:()=>f.NeonFunctionalColor.Brand}},setup(t){const e=n.computed(()=>Math.ceil(t.total/t.pageSize)),l=n.computed(()=>e.value<=1),o=n.computed(()=>Math.max(t.page-1,1)),s=n.computed(()=>t.page===1),r=n.computed(()=>Math.min(t.page+1,e.value)),p=n.computed(()=>t.page===e.value),g=n.computed(()=>e.value>5&&t.page>=5),m=n.computed(()=>e.value>5&&t.page<=e.value-4),c=n.computed(()=>{if(e.value<=5)return Array.from(Array(e.value).keys()).map(a=>a+1);if(t.page<=e.value/2){let a=Math.max(t.page-Math.floor(1.5),1),u=3;return a===2?(a=1,u+=1):a===3&&(a=1,u+=2),Array.from(Array(u).keys()).map(i=>a+i)}else{let a=Math.min(t.page+Math.floor(1.5),e.value),u=3;return a===e.value-1?(a=e.value,u+=1):a===e.value-2&&(a=e.value,u+=2),Array.from(Array(u).keys()).map(i=>a-(u-1)+i)}});return{pageCount:e,hidePagination:l,previousPage:o,disabledPrevious:s,nextPage:r,disabledNext:p,showFirstPageWithEllipsis:g,showLastPageWithEllipsis:m,pageRange:c,url:a=>t.urlTemplate.replace("{page}",a.toString())}}});module.exports=v;
1
+ "use strict";const d=require("../../user-input/button/NeonButton.vue.cjs.js"),v=require("../../presentation/icon/NeonIcon.vue.cjs.js"),n=require("vue"),f=require("../../../model/common/color/NeonFunctionalColor.cjs.js"),P=n.defineComponent({name:"NeonPagination",components:{NeonButton:d,NeonIcon:v},props:{page:{type:Number,required:!0},urlTemplate:{type:String},pageSize:{type:Number,default:20},total:{type:Number,required:!0},displayFirstAndLast:{type:Boolean,default:!1},color:{type:String,default:()=>f.NeonFunctionalColor.Brand}},emits:["page-change"],setup(t,{emit:u}){const e=n.computed(()=>Math.ceil(t.total/t.pageSize)),o=n.computed(()=>e.value<=1),s=n.computed(()=>Math.max(t.page-1,1)),r=n.computed(()=>t.page===1),g=n.computed(()=>Math.min(t.page+1,e.value)),p=n.computed(()=>t.page===e.value),m=n.computed(()=>e.value>5&&t.page>=5),c=n.computed(()=>e.value>5&&t.page<=e.value-4),y=n.computed(()=>{if(e.value<=5)return Array.from(Array(e.value).keys()).map(a=>a+1);if(t.page<=e.value/2){let a=Math.max(t.page-Math.floor(1.5),1),l=3;return a===2?(a=1,l+=1):a===3&&(a=1,l+=2),Array.from(Array(l).keys()).map(i=>a+i)}else{let a=Math.min(t.page+Math.floor(1.5),e.value),l=3;return a===e.value-1?(a=e.value,l+=1):a===e.value-2&&(a=e.value,l+=2),Array.from(Array(l).keys()).map(i=>a-(l-1)+i)}});return{pageCount:e,hidePagination:o,previousPage:s,disabledPrevious:r,nextPage:g,disabledNext:p,showFirstPageWithEllipsis:m,showLastPageWithEllipsis:c,pageRange:y,url:a=>t.urlTemplate?t.urlTemplate.replace("{page}",a.toString()):void 0,emit:u}}});module.exports=P;
2
2
  //# sourceMappingURL=NeonPagination.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonPagination.cjs.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { computed, defineComponent } from 'vue';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\n\n/**\n * A pagination component that displays a list of page numbers and allows the user to navigate between pages. Typically,\n * the component displays the first and last page numbers and 3 pages before and after the current page.\n */\nexport default defineComponent({\n name: 'NeonPagination',\n components: {\n NeonButton,\n NeonIcon,\n },\n props: {\n /**\n * The current page number.\n */\n page: { type: Number, required: true },\n /**\n * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be\n * substituted in links with the correct page number.\n */\n urlTemplate: { type: String, required: true },\n /**\n * The number of items per page.\n */\n pageSize: { type: Number, default: 20 },\n /**\n * The total number of items.\n */\n total: { type: Number, required: true },\n /**\n * Whether to display links to the first and last pages.\n */\n displayFirstAndLast: { type: Boolean, default: false },\n /**\n * The accent color of the component.\n */\n color: { type: String as () => NeonFunctionalColor, default: () => NeonFunctionalColor.Brand },\n },\n setup(props) {\n const maxDisplayPageLinks = 5;\n const pageDisplayCount = maxDisplayPageLinks - 2;\n\n const pageCount = computed(() => Math.ceil(props.total / props.pageSize));\n const hidePagination = computed(() => pageCount.value <= 1);\n\n const previousPage = computed(() => Math.max(props.page - 1, 1));\n const disabledPrevious = computed(() => props.page === 1);\n\n const nextPage = computed(() => Math.min(props.page + 1, pageCount.value));\n const disabledNext = computed(() => props.page === pageCount.value);\n\n const showFirstPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page >= maxDisplayPageLinks,\n );\n\n const showLastPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page <= pageCount.value - (pageDisplayCount + 1),\n );\n\n const pageRange = computed(() => {\n // not enough pages to fill range, show them all\n if (pageCount.value <= maxDisplayPageLinks) {\n return Array.from(Array(pageCount.value).keys()).map((value) => value + 1);\n }\n\n // determine page range to display\n if (props.page <= pageCount.value / 2) {\n // bottom of range calculation\n let startPage = Math.max(props.page - Math.floor(pageDisplayCount / 2), 1);\n let numPages = pageDisplayCount;\n\n // when the start page would be 2 then also display 1, and if start page is 3 then also display 1 and 2 (no ellipsis)\n if (startPage === 2) {\n startPage = 1;\n numPages += 1;\n } else if (startPage === 3) {\n startPage = 1;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => startPage + value);\n } else {\n // top of range calculation\n let endPage = Math.min(props.page + Math.floor(pageDisplayCount / 2), pageCount.value);\n let numPages = pageDisplayCount;\n\n // when the end page would be pageCount - 1 then also display last page,\n // and if end page is pageCount - 2 then also display last page & second last page (no ellipsis)\n if (endPage === pageCount.value - 1) {\n endPage = pageCount.value;\n numPages += 1;\n } else if (endPage === pageCount.value - 2) {\n endPage = pageCount.value;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => endPage - (numPages - 1) + value);\n }\n });\n\n const url = (page: number) => props.urlTemplate.replace('{page}', page.toString());\n\n return {\n pageCount,\n hidePagination,\n previousPage,\n disabledPrevious,\n nextPage,\n disabledNext,\n showFirstPageWithEllipsis,\n showLastPageWithEllipsis,\n pageRange,\n url,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonIcon","NeonFunctionalColor","props","pageCount","computed","hidePagination","previousPage","disabledPrevious","nextPage","disabledNext","showFirstPageWithEllipsis","showLastPageWithEllipsis","pageRange","value","startPage","numPages","endPage","page"],"mappings":"4NASAA,EAAeC,kBAAgB,CAC7B,KAAM,iBACN,WAAY,CACV,WAAAC,EACA,SAAAC,CAAA,EAEF,MAAO,CAIL,KAAM,CAAE,KAAM,OAAQ,SAAU,EAAA,EAKhC,YAAa,CAAE,KAAM,OAAQ,SAAU,EAAA,EAIvC,SAAU,CAAE,KAAM,OAAQ,QAAS,EAAA,EAInC,MAAO,CAAE,KAAM,OAAQ,SAAU,EAAA,EAIjC,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAA,EAI/C,MAAO,CAAE,KAAM,OAAqC,QAAS,IAAMC,EAAAA,oBAAoB,KAAA,CAAM,EAE/F,MAAMC,EAAO,CAIX,MAAMC,EAAYC,WAAS,IAAM,KAAK,KAAKF,EAAM,MAAQA,EAAM,QAAQ,CAAC,EAClEG,EAAiBD,EAAAA,SAAS,IAAMD,EAAU,OAAS,CAAC,EAEpDG,EAAeF,WAAS,IAAM,KAAK,IAAIF,EAAM,KAAO,EAAG,CAAC,CAAC,EACzDK,EAAmBH,EAAAA,SAAS,IAAMF,EAAM,OAAS,CAAC,EAElDM,EAAWJ,EAAAA,SAAS,IAAM,KAAK,IAAIF,EAAM,KAAO,EAAGC,EAAU,KAAK,CAAC,EACnEM,EAAeL,EAAAA,SAAS,IAAMF,EAAM,OAASC,EAAU,KAAK,EAE5DO,EAA4BN,EAAAA,SAChC,IAAMD,EAAU,MAAQ,GAAuBD,EAAM,MAAQ,CAAA,EAGzDS,EAA2BP,EAAAA,SAC/B,IAAMD,EAAU,MAAQ,GAAuBD,EAAM,MAAQC,EAAU,MAAS,CAAmB,EAG/FS,EAAYR,EAAAA,SAAS,IAAM,CAE/B,GAAID,EAAU,OAAS,EACrB,OAAO,MAAM,KAAK,MAAMA,EAAU,KAAK,EAAE,KAAA,CAAM,EAAE,IAAKU,GAAUA,EAAQ,CAAC,EAI3E,GAAIX,EAAM,MAAQC,EAAU,MAAQ,EAAG,CAErC,IAAIW,EAAY,KAAK,IAAIZ,EAAM,KAAO,KAAK,MAAM,GAAoB,EAAG,CAAC,EACrEa,EAAW,EAGf,OAAID,IAAc,GAChBA,EAAY,EACZC,GAAY,GACHD,IAAc,IACvBA,EAAY,EACZC,GAAY,GAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,MAAM,EAAE,IAAKF,GAAUC,EAAYD,CAAK,CAC5E,KAAO,CAEL,IAAIG,EAAU,KAAK,IAAId,EAAM,KAAO,KAAK,MAAM,GAAoB,EAAGC,EAAU,KAAK,EACjFY,EAAW,EAIf,OAAIC,IAAYb,EAAU,MAAQ,GAChCa,EAAUb,EAAU,MACpBY,GAAY,GACHC,IAAYb,EAAU,MAAQ,IACvCa,EAAUb,EAAU,MACpBY,GAAY,GAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,KAAA,CAAM,EAAE,IAAKF,GAAUG,GAAWD,EAAW,GAAKF,CAAK,CAC3F,CACF,CAAC,EAID,MAAO,CACL,UAAAV,EACA,eAAAE,EACA,aAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,EACA,0BAAAC,EACA,yBAAAC,EACA,UAAAC,EACA,IAZWK,GAAiBf,EAAM,YAAY,QAAQ,SAAUe,EAAK,UAAU,CAY/E,CAEJ,CACF,CAAC"}
1
+ {"version":3,"file":"NeonPagination.cjs.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { computed, defineComponent } from 'vue';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\n\n/**\n * A pagination component that displays a list of page numbers and allows the user to navigate between pages. Typically,\n * the component displays the first and last page numbers and 3 pages before and after the current page.\n */\nexport default defineComponent({\n name: 'NeonPagination',\n components: {\n NeonButton,\n NeonIcon,\n },\n props: {\n /**\n * The current page number.\n */\n page: { type: Number, required: true },\n /**\n * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be\n * substituted in links with the correct page number.\n */\n urlTemplate: { type: String },\n /**\n * The number of items per page.\n */\n pageSize: { type: Number, default: 20 },\n /**\n * The total number of items.\n */\n total: { type: Number, required: true },\n /**\n * Whether to display links to the first and last pages.\n */\n displayFirstAndLast: { type: Boolean, default: false },\n /**\n * The accent color of the component.\n */\n color: { type: String as () => NeonFunctionalColor, default: () => NeonFunctionalColor.Brand },\n },\n emits: [\n /**\n * Emitted when the user clicks on a page link (useful for paginated lists which are not the main focus of the page,\n * i.e. should not be deep linked).\n *\n * @type {number} The new page number.\n */\n 'page-change',\n ],\n setup(props, { emit }) {\n const maxDisplayPageLinks = 5;\n const pageDisplayCount = maxDisplayPageLinks - 2;\n\n const pageCount = computed(() => Math.ceil(props.total / props.pageSize));\n const hidePagination = computed(() => pageCount.value <= 1);\n\n const previousPage = computed(() => Math.max(props.page - 1, 1));\n const disabledPrevious = computed(() => props.page === 1);\n\n const nextPage = computed(() => Math.min(props.page + 1, pageCount.value));\n const disabledNext = computed(() => props.page === pageCount.value);\n\n const showFirstPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page >= maxDisplayPageLinks,\n );\n\n const showLastPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page <= pageCount.value - (pageDisplayCount + 1),\n );\n\n const pageRange = computed(() => {\n // not enough pages to fill range, show them all\n if (pageCount.value <= maxDisplayPageLinks) {\n return Array.from(Array(pageCount.value).keys()).map((value) => value + 1);\n }\n\n // determine page range to display\n if (props.page <= pageCount.value / 2) {\n // bottom of range calculation\n let startPage = Math.max(props.page - Math.floor(pageDisplayCount / 2), 1);\n let numPages = pageDisplayCount;\n\n // when the start page would be 2 then also display 1, and if start page is 3 then also display 1 and 2 (no ellipsis)\n if (startPage === 2) {\n startPage = 1;\n numPages += 1;\n } else if (startPage === 3) {\n startPage = 1;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => startPage + value);\n } else {\n // top of range calculation\n let endPage = Math.min(props.page + Math.floor(pageDisplayCount / 2), pageCount.value);\n let numPages = pageDisplayCount;\n\n // when the end page would be pageCount - 1 then also display last page,\n // and if end page is pageCount - 2 then also display last page & second last page (no ellipsis)\n if (endPage === pageCount.value - 1) {\n endPage = pageCount.value;\n numPages += 1;\n } else if (endPage === pageCount.value - 2) {\n endPage = pageCount.value;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => endPage - (numPages - 1) + value);\n }\n });\n\n const url = (page: number) =>\n props.urlTemplate ? props.urlTemplate.replace('{page}', page.toString()) : undefined;\n\n return {\n pageCount,\n hidePagination,\n previousPage,\n disabledPrevious,\n nextPage,\n disabledNext,\n showFirstPageWithEllipsis,\n showLastPageWithEllipsis,\n pageRange,\n url,\n emit,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonIcon","NeonFunctionalColor","props","emit","pageCount","computed","hidePagination","previousPage","disabledPrevious","nextPage","disabledNext","showFirstPageWithEllipsis","showLastPageWithEllipsis","pageRange","value","startPage","numPages","endPage","page"],"mappings":"4NASAA,EAAeC,kBAAgB,CAC7B,KAAM,iBACN,WAAY,CACV,WAAAC,EACA,SAAAC,CAAA,EAEF,MAAO,CAIL,KAAM,CAAE,KAAM,OAAQ,SAAU,EAAA,EAKhC,YAAa,CAAE,KAAM,MAAA,EAIrB,SAAU,CAAE,KAAM,OAAQ,QAAS,EAAA,EAInC,MAAO,CAAE,KAAM,OAAQ,SAAU,EAAA,EAIjC,oBAAqB,CAAE,KAAM,QAAS,QAAS,EAAA,EAI/C,MAAO,CAAE,KAAM,OAAqC,QAAS,IAAMC,EAAAA,oBAAoB,KAAA,CAAM,EAE/F,MAAO,CAOL,aAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CAIrB,MAAMC,EAAYC,WAAS,IAAM,KAAK,KAAKH,EAAM,MAAQA,EAAM,QAAQ,CAAC,EAClEI,EAAiBD,EAAAA,SAAS,IAAMD,EAAU,OAAS,CAAC,EAEpDG,EAAeF,WAAS,IAAM,KAAK,IAAIH,EAAM,KAAO,EAAG,CAAC,CAAC,EACzDM,EAAmBH,EAAAA,SAAS,IAAMH,EAAM,OAAS,CAAC,EAElDO,EAAWJ,EAAAA,SAAS,IAAM,KAAK,IAAIH,EAAM,KAAO,EAAGE,EAAU,KAAK,CAAC,EACnEM,EAAeL,EAAAA,SAAS,IAAMH,EAAM,OAASE,EAAU,KAAK,EAE5DO,EAA4BN,EAAAA,SAChC,IAAMD,EAAU,MAAQ,GAAuBF,EAAM,MAAQ,CAAA,EAGzDU,EAA2BP,EAAAA,SAC/B,IAAMD,EAAU,MAAQ,GAAuBF,EAAM,MAAQE,EAAU,MAAS,CAAmB,EAG/FS,EAAYR,EAAAA,SAAS,IAAM,CAE/B,GAAID,EAAU,OAAS,EACrB,OAAO,MAAM,KAAK,MAAMA,EAAU,KAAK,EAAE,KAAA,CAAM,EAAE,IAAKU,GAAUA,EAAQ,CAAC,EAI3E,GAAIZ,EAAM,MAAQE,EAAU,MAAQ,EAAG,CAErC,IAAIW,EAAY,KAAK,IAAIb,EAAM,KAAO,KAAK,MAAM,GAAoB,EAAG,CAAC,EACrEc,EAAW,EAGf,OAAID,IAAc,GAChBA,EAAY,EACZC,GAAY,GACHD,IAAc,IACvBA,EAAY,EACZC,GAAY,GAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,MAAM,EAAE,IAAKF,GAAUC,EAAYD,CAAK,CAC5E,KAAO,CAEL,IAAIG,EAAU,KAAK,IAAIf,EAAM,KAAO,KAAK,MAAM,GAAoB,EAAGE,EAAU,KAAK,EACjFY,EAAW,EAIf,OAAIC,IAAYb,EAAU,MAAQ,GAChCa,EAAUb,EAAU,MACpBY,GAAY,GACHC,IAAYb,EAAU,MAAQ,IACvCa,EAAUb,EAAU,MACpBY,GAAY,GAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,KAAA,CAAM,EAAE,IAAKF,GAAUG,GAAWD,EAAW,GAAKF,CAAK,CAC3F,CACF,CAAC,EAKD,MAAO,CACL,UAAAV,EACA,eAAAE,EACA,aAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,EACA,0BAAAC,EACA,yBAAAC,EACA,UAAAC,EACA,IAbWK,GACXhB,EAAM,YAAcA,EAAM,YAAY,QAAQ,SAAUgB,EAAK,SAAA,CAAU,EAAI,OAa3E,KAAAf,CAAA,CAEJ,CACF,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import f from "../../user-input/button/NeonButton.vue.es.js";
2
- import c from "../../presentation/icon/NeonIcon.vue.es.js";
3
- import { defineComponent as d, computed as n } from "vue";
2
+ import d from "../../presentation/icon/NeonIcon.vue.es.js";
3
+ import { defineComponent as v, computed as l } from "vue";
4
4
  import { NeonFunctionalColor as P } from "../../../model/common/color/NeonFunctionalColor.es.js";
5
- const N = d({
5
+ const A = v({
6
6
  name: "NeonPagination",
7
7
  components: {
8
8
  NeonButton: f,
9
- NeonIcon: c
9
+ NeonIcon: d
10
10
  },
11
11
  props: {
12
12
  /**
@@ -17,7 +17,7 @@ const N = d({
17
17
  * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be
18
18
  * substituted in links with the correct page number.
19
19
  */
20
- urlTemplate: { type: String, required: !0 },
20
+ urlTemplate: { type: String },
21
21
  /**
22
22
  * The number of items per page.
23
23
  */
@@ -35,37 +35,47 @@ const N = d({
35
35
  */
36
36
  color: { type: String, default: () => P.Brand }
37
37
  },
38
- setup(t) {
39
- const e = n(() => Math.ceil(t.total / t.pageSize)), o = n(() => e.value <= 1), r = n(() => Math.max(t.page - 1, 1)), s = n(() => t.page === 1), u = n(() => Math.min(t.page + 1, e.value)), g = n(() => t.page === e.value), p = n(
38
+ emits: [
39
+ /**
40
+ * Emitted when the user clicks on a page link (useful for paginated lists which are not the main focus of the page,
41
+ * i.e. should not be deep linked).
42
+ *
43
+ * @type {number} The new page number.
44
+ */
45
+ "page-change"
46
+ ],
47
+ setup(t, { emit: o }) {
48
+ const e = l(() => Math.ceil(t.total / t.pageSize)), s = l(() => e.value <= 1), r = l(() => Math.max(t.page - 1, 1)), u = l(() => t.page === 1), g = l(() => Math.min(t.page + 1, e.value)), m = l(() => t.page === e.value), p = l(
40
49
  () => e.value > 5 && t.page >= 5
41
- ), m = n(
50
+ ), y = l(
42
51
  () => e.value > 5 && t.page <= e.value - 4
43
- ), y = n(() => {
52
+ ), c = l(() => {
44
53
  if (e.value <= 5)
45
54
  return Array.from(Array(e.value).keys()).map((a) => a + 1);
46
55
  if (t.page <= e.value / 2) {
47
- let a = Math.max(t.page - Math.floor(1.5), 1), l = 3;
48
- return a === 2 ? (a = 1, l += 1) : a === 3 && (a = 1, l += 2), Array.from(Array(l).keys()).map((i) => a + i);
56
+ let a = Math.max(t.page - Math.floor(1.5), 1), n = 3;
57
+ return a === 2 ? (a = 1, n += 1) : a === 3 && (a = 1, n += 2), Array.from(Array(n).keys()).map((i) => a + i);
49
58
  } else {
50
- let a = Math.min(t.page + Math.floor(1.5), e.value), l = 3;
51
- return a === e.value - 1 ? (a = e.value, l += 1) : a === e.value - 2 && (a = e.value, l += 2), Array.from(Array(l).keys()).map((i) => a - (l - 1) + i);
59
+ let a = Math.min(t.page + Math.floor(1.5), e.value), n = 3;
60
+ return a === e.value - 1 ? (a = e.value, n += 1) : a === e.value - 2 && (a = e.value, n += 2), Array.from(Array(n).keys()).map((i) => a - (n - 1) + i);
52
61
  }
53
62
  });
54
63
  return {
55
64
  pageCount: e,
56
- hidePagination: o,
65
+ hidePagination: s,
57
66
  previousPage: r,
58
- disabledPrevious: s,
59
- nextPage: u,
60
- disabledNext: g,
67
+ disabledPrevious: u,
68
+ nextPage: g,
69
+ disabledNext: m,
61
70
  showFirstPageWithEllipsis: p,
62
- showLastPageWithEllipsis: m,
63
- pageRange: y,
64
- url: (a) => t.urlTemplate.replace("{page}", a.toString())
71
+ showLastPageWithEllipsis: y,
72
+ pageRange: c,
73
+ url: (a) => t.urlTemplate ? t.urlTemplate.replace("{page}", a.toString()) : void 0,
74
+ emit: o
65
75
  };
66
76
  }
67
77
  });
68
78
  export {
69
- N as default
79
+ A as default
70
80
  };
71
81
  //# sourceMappingURL=NeonPagination.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonPagination.es.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { computed, defineComponent } from 'vue';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\n\n/**\n * A pagination component that displays a list of page numbers and allows the user to navigate between pages. Typically,\n * the component displays the first and last page numbers and 3 pages before and after the current page.\n */\nexport default defineComponent({\n name: 'NeonPagination',\n components: {\n NeonButton,\n NeonIcon,\n },\n props: {\n /**\n * The current page number.\n */\n page: { type: Number, required: true },\n /**\n * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be\n * substituted in links with the correct page number.\n */\n urlTemplate: { type: String, required: true },\n /**\n * The number of items per page.\n */\n pageSize: { type: Number, default: 20 },\n /**\n * The total number of items.\n */\n total: { type: Number, required: true },\n /**\n * Whether to display links to the first and last pages.\n */\n displayFirstAndLast: { type: Boolean, default: false },\n /**\n * The accent color of the component.\n */\n color: { type: String as () => NeonFunctionalColor, default: () => NeonFunctionalColor.Brand },\n },\n setup(props) {\n const maxDisplayPageLinks = 5;\n const pageDisplayCount = maxDisplayPageLinks - 2;\n\n const pageCount = computed(() => Math.ceil(props.total / props.pageSize));\n const hidePagination = computed(() => pageCount.value <= 1);\n\n const previousPage = computed(() => Math.max(props.page - 1, 1));\n const disabledPrevious = computed(() => props.page === 1);\n\n const nextPage = computed(() => Math.min(props.page + 1, pageCount.value));\n const disabledNext = computed(() => props.page === pageCount.value);\n\n const showFirstPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page >= maxDisplayPageLinks,\n );\n\n const showLastPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page <= pageCount.value - (pageDisplayCount + 1),\n );\n\n const pageRange = computed(() => {\n // not enough pages to fill range, show them all\n if (pageCount.value <= maxDisplayPageLinks) {\n return Array.from(Array(pageCount.value).keys()).map((value) => value + 1);\n }\n\n // determine page range to display\n if (props.page <= pageCount.value / 2) {\n // bottom of range calculation\n let startPage = Math.max(props.page - Math.floor(pageDisplayCount / 2), 1);\n let numPages = pageDisplayCount;\n\n // when the start page would be 2 then also display 1, and if start page is 3 then also display 1 and 2 (no ellipsis)\n if (startPage === 2) {\n startPage = 1;\n numPages += 1;\n } else if (startPage === 3) {\n startPage = 1;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => startPage + value);\n } else {\n // top of range calculation\n let endPage = Math.min(props.page + Math.floor(pageDisplayCount / 2), pageCount.value);\n let numPages = pageDisplayCount;\n\n // when the end page would be pageCount - 1 then also display last page,\n // and if end page is pageCount - 2 then also display last page & second last page (no ellipsis)\n if (endPage === pageCount.value - 1) {\n endPage = pageCount.value;\n numPages += 1;\n } else if (endPage === pageCount.value - 2) {\n endPage = pageCount.value;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => endPage - (numPages - 1) + value);\n }\n });\n\n const url = (page: number) => props.urlTemplate.replace('{page}', page.toString());\n\n return {\n pageCount,\n hidePagination,\n previousPage,\n disabledPrevious,\n nextPage,\n disabledNext,\n showFirstPageWithEllipsis,\n showLastPageWithEllipsis,\n pageRange,\n url,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonIcon","NeonFunctionalColor","props","pageCount","computed","hidePagination","previousPage","disabledPrevious","nextPage","disabledNext","showFirstPageWithEllipsis","showLastPageWithEllipsis","pageRange","value","startPage","numPages","endPage","page"],"mappings":";;;;AASA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAAC;AAAA,IACA,UAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM,EAAE,MAAM,QAAQ,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhC,aAAa,EAAE,MAAM,QAAQ,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA,IAIvC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAInC,OAAO,EAAE,MAAM,QAAQ,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA,IAIjC,qBAAqB,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAI/C,OAAO,EAAE,MAAM,QAAqC,SAAS,MAAMC,EAAoB,MAAA;AAAA,EAAM;AAAA,EAE/F,MAAMC,GAAO;AAIX,UAAMC,IAAYC,EAAS,MAAM,KAAK,KAAKF,EAAM,QAAQA,EAAM,QAAQ,CAAC,GAClEG,IAAiBD,EAAS,MAAMD,EAAU,SAAS,CAAC,GAEpDG,IAAeF,EAAS,MAAM,KAAK,IAAIF,EAAM,OAAO,GAAG,CAAC,CAAC,GACzDK,IAAmBH,EAAS,MAAMF,EAAM,SAAS,CAAC,GAElDM,IAAWJ,EAAS,MAAM,KAAK,IAAIF,EAAM,OAAO,GAAGC,EAAU,KAAK,CAAC,GACnEM,IAAeL,EAAS,MAAMF,EAAM,SAASC,EAAU,KAAK,GAE5DO,IAA4BN;AAAA,MAChC,MAAMD,EAAU,QAAQ,KAAuBD,EAAM,QAAQ;AAAA,IAAA,GAGzDS,IAA2BP;AAAA,MAC/B,MAAMD,EAAU,QAAQ,KAAuBD,EAAM,QAAQC,EAAU,QAAS;AAAA,IAAmB,GAG/FS,IAAYR,EAAS,MAAM;AAE/B,UAAID,EAAU,SAAS;AACrB,eAAO,MAAM,KAAK,MAAMA,EAAU,KAAK,EAAE,KAAA,CAAM,EAAE,IAAI,CAACU,MAAUA,IAAQ,CAAC;AAI3E,UAAIX,EAAM,QAAQC,EAAU,QAAQ,GAAG;AAErC,YAAIW,IAAY,KAAK,IAAIZ,EAAM,OAAO,KAAK,MAAM,GAAoB,GAAG,CAAC,GACrEa,IAAW;AAGf,eAAID,MAAc,KAChBA,IAAY,GACZC,KAAY,KACHD,MAAc,MACvBA,IAAY,GACZC,KAAY,IAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,MAAM,EAAE,IAAI,CAACF,MAAUC,IAAYD,CAAK;AAAA,MAC5E,OAAO;AAEL,YAAIG,IAAU,KAAK,IAAId,EAAM,OAAO,KAAK,MAAM,GAAoB,GAAGC,EAAU,KAAK,GACjFY,IAAW;AAIf,eAAIC,MAAYb,EAAU,QAAQ,KAChCa,IAAUb,EAAU,OACpBY,KAAY,KACHC,MAAYb,EAAU,QAAQ,MACvCa,IAAUb,EAAU,OACpBY,KAAY,IAGP,MAAM,KAAK,MAAMA,CAAQ,EAAE,KAAA,CAAM,EAAE,IAAI,CAACF,MAAUG,KAAWD,IAAW,KAAKF,CAAK;AAAA,MAC3F;AAAA,IACF,CAAC;AAID,WAAO;AAAA,MACL,WAAAV;AAAA,MACA,gBAAAE;AAAA,MACA,cAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,cAAAC;AAAA,MACA,2BAAAC;AAAA,MACA,0BAAAC;AAAA,MACA,WAAAC;AAAA,MACA,KAZU,CAACK,MAAiBf,EAAM,YAAY,QAAQ,UAAUe,EAAK,UAAU;AAAA,IAY/E;AAAA,EAEJ;AACF,CAAC;"}
1
+ {"version":3,"file":"NeonPagination.es.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { computed, defineComponent } from 'vue';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\n\n/**\n * A pagination component that displays a list of page numbers and allows the user to navigate between pages. Typically,\n * the component displays the first and last page numbers and 3 pages before and after the current page.\n */\nexport default defineComponent({\n name: 'NeonPagination',\n components: {\n NeonButton,\n NeonIcon,\n },\n props: {\n /**\n * The current page number.\n */\n page: { type: Number, required: true },\n /**\n * The URL template for the pagination links. The template should contain a '{page}' placeholder that will be\n * substituted in links with the correct page number.\n */\n urlTemplate: { type: String },\n /**\n * The number of items per page.\n */\n pageSize: { type: Number, default: 20 },\n /**\n * The total number of items.\n */\n total: { type: Number, required: true },\n /**\n * Whether to display links to the first and last pages.\n */\n displayFirstAndLast: { type: Boolean, default: false },\n /**\n * The accent color of the component.\n */\n color: { type: String as () => NeonFunctionalColor, default: () => NeonFunctionalColor.Brand },\n },\n emits: [\n /**\n * Emitted when the user clicks on a page link (useful for paginated lists which are not the main focus of the page,\n * i.e. should not be deep linked).\n *\n * @type {number} The new page number.\n */\n 'page-change',\n ],\n setup(props, { emit }) {\n const maxDisplayPageLinks = 5;\n const pageDisplayCount = maxDisplayPageLinks - 2;\n\n const pageCount = computed(() => Math.ceil(props.total / props.pageSize));\n const hidePagination = computed(() => pageCount.value <= 1);\n\n const previousPage = computed(() => Math.max(props.page - 1, 1));\n const disabledPrevious = computed(() => props.page === 1);\n\n const nextPage = computed(() => Math.min(props.page + 1, pageCount.value));\n const disabledNext = computed(() => props.page === pageCount.value);\n\n const showFirstPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page >= maxDisplayPageLinks,\n );\n\n const showLastPageWithEllipsis = computed(\n () => pageCount.value > maxDisplayPageLinks && props.page <= pageCount.value - (pageDisplayCount + 1),\n );\n\n const pageRange = computed(() => {\n // not enough pages to fill range, show them all\n if (pageCount.value <= maxDisplayPageLinks) {\n return Array.from(Array(pageCount.value).keys()).map((value) => value + 1);\n }\n\n // determine page range to display\n if (props.page <= pageCount.value / 2) {\n // bottom of range calculation\n let startPage = Math.max(props.page - Math.floor(pageDisplayCount / 2), 1);\n let numPages = pageDisplayCount;\n\n // when the start page would be 2 then also display 1, and if start page is 3 then also display 1 and 2 (no ellipsis)\n if (startPage === 2) {\n startPage = 1;\n numPages += 1;\n } else if (startPage === 3) {\n startPage = 1;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => startPage + value);\n } else {\n // top of range calculation\n let endPage = Math.min(props.page + Math.floor(pageDisplayCount / 2), pageCount.value);\n let numPages = pageDisplayCount;\n\n // when the end page would be pageCount - 1 then also display last page,\n // and if end page is pageCount - 2 then also display last page & second last page (no ellipsis)\n if (endPage === pageCount.value - 1) {\n endPage = pageCount.value;\n numPages += 1;\n } else if (endPage === pageCount.value - 2) {\n endPage = pageCount.value;\n numPages += 2;\n }\n\n return Array.from(Array(numPages).keys()).map((value) => endPage - (numPages - 1) + value);\n }\n });\n\n const url = (page: number) =>\n props.urlTemplate ? props.urlTemplate.replace('{page}', page.toString()) : undefined;\n\n return {\n pageCount,\n hidePagination,\n previousPage,\n disabledPrevious,\n nextPage,\n disabledNext,\n showFirstPageWithEllipsis,\n showLastPageWithEllipsis,\n pageRange,\n url,\n emit,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonIcon","NeonFunctionalColor","props","emit","pageCount","computed","hidePagination","previousPage","disabledPrevious","nextPage","disabledNext","showFirstPageWithEllipsis","showLastPageWithEllipsis","pageRange","value","startPage","numPages","endPage","page"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("./NeonPagination.cjs.js"),e=require("vue"),i=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),s={class:"neon-pagination__page-links"},r={key:0,class:"neon-pagination__link--selected"};function c(n,p,u,g,h,k){const o=e.resolveComponent("neon-button"),l=e.resolveComponent("neon-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[{"neon-pagination--empty":n.hidePagination},`neon-pagination--${n.color}`],"neon-pagination"])},[n.displayFirstAndLast?(e.openBlock(),e.createBlock(o,{key:0,disabled:n.disabledPrevious,href:n.disabledPrevious?void 0:n.url(1),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__first",color:"high-contrast",icon:"first-page"},null,8,["disabled","href"])):e.createCommentVNode("",!0),e.createVNode(o,{disabled:n.disabledPrevious,href:n.disabledPrevious?void 0:n.url(n.previousPage),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__previous",color:"high-contrast",icon:"arrow-left-1"},null,8,["disabled","href"]),e.createElementVNode("div",s,[n.showFirstPageWithEllipsis?(e.openBlock(),e.createBlock(o,{key:0,href:n.url(1),"button-style":"text",class:"neon-pagination__link",color:"high-contrast",label:"1",transparent:""},null,8,["href"])):e.createCommentVNode("",!0),n.showFirstPageWithEllipsis?(e.openBlock(),e.createBlock(l,{key:1,class:"neon-pagination__less",color:"low-contrast",name:"ellipsis"})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.pageRange,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t},[n.page===t?(e.openBlock(),e.createElementBlock("span",r,e.toDisplayString(t),1)):(e.openBlock(),e.createBlock(o,{key:1,href:n.url(t),label:`${t}`,"button-style":"text",class:"neon-pagination__link",color:"high-contrast",transparent:""},null,8,["href","label"]))],64))),128)),n.showLastPageWithEllipsis?(e.openBlock(),e.createBlock(l,{key:2,class:"neon-pagination__more",color:"low-contrast",name:"ellipsis"})):e.createCommentVNode("",!0),n.showLastPageWithEllipsis?(e.openBlock(),e.createBlock(o,{key:3,href:n.url(n.pageCount),label:`${n.pageCount}`,"button-style":"text",class:"neon-pagination__link",color:"high-contrast",transparent:""},null,8,["href","label"])):e.createCommentVNode("",!0)]),e.createVNode(o,{disabled:n.disabledNext,href:n.disabledNext?void 0:n.url(n.nextPage),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__next",color:"high-contrast",icon:"arrow-right-1"},null,8,["disabled","href"]),n.displayFirstAndLast?(e.openBlock(),e.createBlock(o,{key:1,disabled:n.disabledNext,href:n.disabledNext?void 0:n.url(n.pageCount),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__last",color:"high-contrast",icon:"last-page"},null,8,["disabled","href"])):e.createCommentVNode("",!0)],2)}const d=i(a,[["render",c]]);module.exports=d;
1
+ "use strict";const a=require("./NeonPagination.cjs.js"),n=require("vue"),s=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),r={class:"neon-pagination__page-links"},p={key:0,class:"neon-pagination__link--selected"};function u(e,o,g,c,k,h){const l=n.resolveComponent("neon-button"),i=n.resolveComponent("neon-icon");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass([[{"neon-pagination--empty":e.hidePagination},`neon-pagination--${e.color}`],"neon-pagination"])},[e.displayFirstAndLast?(n.openBlock(),n.createBlock(l,{key:0,disabled:e.disabledPrevious,href:e.disabledPrevious?void 0:e.url(1),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__first",color:"high-contrast",icon:"first-page",onClick:o[0]||(o[0]=t=>e.emit("page-change",1))},null,8,["disabled","href"])):n.createCommentVNode("",!0),n.createVNode(l,{disabled:e.disabledPrevious,href:e.disabledPrevious?void 0:e.url(e.previousPage),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__previous",color:"high-contrast",icon:"chevron-left",onClick:o[1]||(o[1]=t=>e.emit("page-change",e.previousPage))},null,8,["disabled","href"]),n.createElementVNode("div",r,[e.showFirstPageWithEllipsis?(n.openBlock(),n.createBlock(l,{key:0,href:e.url(1),"button-style":"text",class:"neon-pagination__link",color:"high-contrast",label:"1",transparent:"",onClick:o[2]||(o[2]=t=>e.emit("page-change",1))},null,8,["href"])):n.createCommentVNode("",!0),e.showFirstPageWithEllipsis?(n.openBlock(),n.createBlock(i,{key:1,class:"neon-pagination__less",color:"low-contrast",name:"ellipsis"})):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.pageRange,t=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:t},[e.page===t?(n.openBlock(),n.createElementBlock("span",p,n.toDisplayString(t),1)):(n.openBlock(),n.createBlock(l,{key:1,href:e.url(t),label:`${t}`,"button-style":"text",class:"neon-pagination__link",color:"high-contrast",transparent:"",onClick:m=>e.emit("page-change",t)},null,8,["href","label","onClick"]))],64))),128)),e.showLastPageWithEllipsis?(n.openBlock(),n.createBlock(i,{key:2,class:"neon-pagination__more",color:"low-contrast",name:"ellipsis"})):n.createCommentVNode("",!0),e.showLastPageWithEllipsis?(n.openBlock(),n.createBlock(l,{key:3,href:e.url(e.pageCount),label:`${e.pageCount}`,"button-style":"text",class:"neon-pagination__link",color:"high-contrast",transparent:"",onClick:o[3]||(o[3]=t=>e.emit("page-change",e.pageCount))},null,8,["href","label"])):n.createCommentVNode("",!0)]),n.createVNode(l,{disabled:e.disabledNext,href:e.disabledNext?void 0:e.url(e.nextPage),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__next",color:"high-contrast",icon:"chevron-right",onClick:o[4]||(o[4]=t=>e.emit("page-change",e.nextPage))},null,8,["disabled","href"]),e.displayFirstAndLast?(n.openBlock(),n.createBlock(l,{key:1,disabled:e.disabledNext,href:e.disabledNext?void 0:e.url(e.pageCount),"button-style":"outline",class:"neon-pagination__nav-link neon-pagination__last",color:"high-contrast",icon:"last-page",onClick:o[5]||(o[5]=t=>e.emit("page-change",e.pageCount))},null,8,["disabled","href"])):n.createCommentVNode("",!0)],2)}const d=s(a,[["render",u]]);module.exports=d;
2
2
  //# sourceMappingURL=NeonPagination.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonPagination.vue.cjs.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n {\n 'neon-pagination--empty': hidePagination,\n },\n `neon-pagination--${color}`,\n ]\"\n class=\"neon-pagination\"\n >\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(1) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__first\"\n color=\"high-contrast\"\n icon=\"first-page\"\n />\n <neon-button\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(previousPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__previous\"\n color=\"high-contrast\"\n icon=\"arrow-left-1\"\n />\n <div class=\"neon-pagination__page-links\">\n <neon-button\n v-if=\"showFirstPageWithEllipsis\"\n :href=\"url(1)\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n label=\"1\"\n transparent\n />\n <neon-icon v-if=\"showFirstPageWithEllipsis\" class=\"neon-pagination__less\" color=\"low-contrast\" name=\"ellipsis\" />\n <!-- eslint-disable-next-line -->\n <template v-for=\"pageInRange in pageRange\" :key=\"pageInRange\">\n <span v-if=\"page === pageInRange\" class=\"neon-pagination__link--selected\">\n {{ pageInRange }}\n </span>\n <neon-button\n v-else\n :href=\"url(pageInRange)\"\n :label=\"`${pageInRange}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n />\n </template>\n <neon-icon v-if=\"showLastPageWithEllipsis\" class=\"neon-pagination__more\" color=\"low-contrast\" name=\"ellipsis\" />\n <neon-button\n v-if=\"showLastPageWithEllipsis\"\n :href=\"url(pageCount)\"\n :label=\"`${pageCount}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n />\n </div>\n <neon-button\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(nextPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__next\"\n color=\"high-contrast\"\n icon=\"arrow-right-1\"\n />\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(pageCount) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__last\"\n color=\"high-contrast\"\n icon=\"last-page\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonPagination.ts\"></script>\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_neon_button","_createVNode","_createElementVNode","_component_neon_icon","_Fragment","_renderList","pageInRange","_hoisted_2","_toDisplayString"],"mappings":"yIA2BSA,EAAA,CAAA,MAAM,6BAA6B,WAaF,MAAM,4JAvC9CC,EAAAA,mBAgFM,MAAA,CA/EH,MAAKC,EAAAA,eAAA,CAAA,2BAA8CC,EAAA,oCAAmDA,EAAA,KAAK,IAMtG,iBAAiB,CAAA,IAGfA,EAAA,mCADRC,EAAAA,YAQEC,EAAA,OANC,SAAUF,EAAA,iBACV,KAAOA,EAAA,iBAA4B,OAATA,EAAA,OAC3B,eAAa,UACb,MAAM,mDACN,MAAM,gBACN,KAAK,uEAEPG,EAAAA,YAOED,EAAA,CANC,SAAUF,EAAA,iBACV,KAAOA,EAAA,iBAAuC,OAApBA,MAAIA,EAAA,YAAY,EAC3C,eAAa,UACb,MAAM,sDACN,MAAM,gBACN,KAAK,4CAEPI,EAAAA,mBAoCM,MApCNP,EAoCM,CAlCIG,EAAA,yCADRC,EAAAA,YAQEC,EAAA,OANC,KAAMF,EAAA,IAAG,CAAA,EACV,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,MAAM,IACN,YAAA,kDAEeA,EAAA,yCAAjBC,EAAAA,YAAiHI,EAAA,OAArE,MAAM,wBAAwB,MAAM,eAAe,KAAK,2DAEpGP,EAAAA,mBAaWQ,EAAAA,SAAA,KAAAC,EAAAA,WAbqBP,EAAA,UAAfQ,uDAAgCA,GAAW,CAC9CR,EAAA,OAASQ,iBAArBV,EAAAA,mBAEO,OAFPW,EAEOC,kBADFF,CAAW,EAAA,CAAA,kBAEhBP,EAAAA,YAQEC,EAAA,OANC,KAAMF,EAAA,IAAIQ,CAAW,EACrB,SAAUA,CAAW,GACtB,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,YAAA,2CAGaR,EAAA,wCAAjBC,EAAAA,YAAgHI,EAAA,OAArE,MAAM,wBAAwB,MAAM,eAAe,KAAK,0CAE3FL,EAAA,wCADRC,EAAAA,YAQEC,EAAA,OANC,KAAMF,EAAA,IAAIA,EAAA,SAAS,EACnB,SAAUA,EAAA,SAAS,GACpB,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,YAAA,4DAGJG,EAAAA,YAOED,EAAA,CANC,SAAUF,EAAA,aACV,KAAOA,EAAA,aAA+B,OAAhBA,MAAIA,EAAA,QAAQ,EACnC,eAAa,UACb,MAAM,kDACN,MAAM,gBACN,KAAK,6CAGCA,EAAA,mCADRC,EAAAA,YAQEC,EAAA,OANC,SAAUF,EAAA,aACV,KAAOA,EAAA,aAAgC,OAAjBA,MAAIA,EAAA,SAAS,EACpC,eAAa,UACb,MAAM,kDACN,MAAM,gBACN,KAAK"}
1
+ {"version":3,"file":"NeonPagination.vue.cjs.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n {\n 'neon-pagination--empty': hidePagination,\n },\n `neon-pagination--${color}`,\n ]\"\n class=\"neon-pagination\"\n >\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(1) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__first\"\n color=\"high-contrast\"\n icon=\"first-page\"\n @click=\"emit('page-change', 1)\"\n />\n <neon-button\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(previousPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__previous\"\n color=\"high-contrast\"\n icon=\"chevron-left\"\n @click=\"emit('page-change', previousPage)\"\n />\n <div class=\"neon-pagination__page-links\">\n <neon-button\n v-if=\"showFirstPageWithEllipsis\"\n :href=\"url(1)\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n label=\"1\"\n transparent\n @click=\"emit('page-change', 1)\"\n />\n <neon-icon v-if=\"showFirstPageWithEllipsis\" class=\"neon-pagination__less\" color=\"low-contrast\" name=\"ellipsis\" />\n <!-- eslint-disable-next-line -->\n <template v-for=\"pageInRange in pageRange\" :key=\"pageInRange\">\n <span v-if=\"page === pageInRange\" class=\"neon-pagination__link--selected\">\n {{ pageInRange }}\n </span>\n <neon-button\n v-else\n :href=\"url(pageInRange)\"\n :label=\"`${pageInRange}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n @click=\"emit('page-change', pageInRange)\"\n />\n </template>\n <neon-icon v-if=\"showLastPageWithEllipsis\" class=\"neon-pagination__more\" color=\"low-contrast\" name=\"ellipsis\" />\n <neon-button\n v-if=\"showLastPageWithEllipsis\"\n :href=\"url(pageCount)\"\n :label=\"`${pageCount}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n @click=\"emit('page-change', pageCount)\"\n />\n </div>\n <neon-button\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(nextPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__next\"\n color=\"high-contrast\"\n icon=\"chevron-right\"\n @click=\"emit('page-change', nextPage)\"\n />\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(pageCount) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__last\"\n color=\"high-contrast\"\n icon=\"last-page\"\n @click=\"emit('page-change', pageCount)\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonPagination.ts\"></script>\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_neon_button","_createVNode","_cache","$event","_createElementVNode","_component_neon_icon","_Fragment","_renderList","pageInRange","_hoisted_2","_toDisplayString"],"mappings":"yIA6BSA,EAAA,CAAA,MAAM,6BAA6B,WAcF,MAAM,4JA1C9CC,EAAAA,mBAuFM,MAAA,CAtFH,MAAKC,EAAAA,eAAA,CAAA,2BAA8CC,EAAA,oCAAmDA,EAAA,KAAK,IAMtG,iBAAiB,CAAA,IAGfA,EAAA,mCADRC,EAAAA,YASEC,EAAA,OAPC,SAAUF,EAAA,iBACV,KAAOA,EAAA,iBAA4B,OAATA,EAAA,OAC3B,eAAa,UACb,MAAM,mDACN,MAAM,gBACN,KAAK,aACJ,uBAAOA,EAAA,KAAI,cAAA,CAAA,6DAEdG,EAAAA,YAQED,EAAA,CAPC,SAAUF,EAAA,iBACV,KAAOA,EAAA,iBAAuC,OAApBA,MAAIA,EAAA,YAAY,EAC3C,eAAa,UACb,MAAM,sDACN,MAAM,gBACN,KAAK,eACJ,QAAKI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEL,EAAA,KAAI,cAAgBA,EAAA,YAAY,gCAE1CM,EAAAA,mBAuCM,MAvCNT,EAuCM,CArCIG,EAAA,yCADRC,EAAAA,YASEC,EAAA,OAPC,KAAMF,EAAA,IAAG,CAAA,EACV,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,MAAM,IACN,YAAA,GACC,uBAAOA,EAAA,KAAI,cAAA,CAAA,kDAEGA,EAAA,yCAAjBC,EAAAA,YAAiHM,EAAA,OAArE,MAAM,wBAAwB,MAAM,eAAe,KAAK,2DAEpGT,EAAAA,mBAcWU,EAAAA,SAAA,KAAAC,EAAAA,WAdqBT,EAAA,UAAfU,uDAAgCA,GAAW,CAC9CV,EAAA,OAASU,iBAArBZ,EAAAA,mBAEO,OAFPa,EAEOC,kBADFF,CAAW,EAAA,CAAA,kBAEhBT,EAAAA,YASEC,EAAA,OAPC,KAAMF,EAAA,IAAIU,CAAW,EACrB,SAAUA,CAAW,GACtB,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,YAAA,GACC,QAAKL,GAAEL,EAAA,KAAI,cAAgBU,CAAW,oDAG1BV,EAAA,wCAAjBC,EAAAA,YAAgHM,EAAA,OAArE,MAAM,wBAAwB,MAAM,eAAe,KAAK,0CAE3FP,EAAA,wCADRC,EAAAA,YASEC,EAAA,OAPC,KAAMF,EAAA,IAAIA,EAAA,SAAS,EACnB,SAAUA,EAAA,SAAS,GACpB,eAAa,OACb,MAAM,wBACN,MAAM,gBACN,YAAA,GACC,QAAKI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEL,EAAA,KAAI,cAAgBA,EAAA,SAAS,4DAGzCG,EAAAA,YAQED,EAAA,CAPC,SAAUF,EAAA,aACV,KAAOA,EAAA,aAA+B,OAAhBA,MAAIA,EAAA,QAAQ,EACnC,eAAa,UACb,MAAM,kDACN,MAAM,gBACN,KAAK,gBACJ,QAAKI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEL,EAAA,KAAI,cAAgBA,EAAA,QAAQ,gCAG9BA,EAAA,mCADRC,EAAAA,YASEC,EAAA,OAPC,SAAUF,EAAA,aACV,KAAOA,EAAA,aAAgC,OAAjBA,MAAIA,EAAA,SAAS,EACpC,eAAa,UACb,MAAM,kDACN,MAAM,gBACN,KAAK,YACJ,QAAKI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEL,EAAA,KAAI,cAAgBA,EAAA,SAAS"}
@@ -1,13 +1,13 @@
1
- import p from "./NeonPagination.es.js";
2
- import { resolveComponent as r, openBlock as e, createElementBlock as t, normalizeClass as h, createBlock as i, createCommentVNode as a, createVNode as d, createElementVNode as g, Fragment as u, renderList as b, toDisplayString as c } from "vue";
3
- import f from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
- const k = { class: "neon-pagination__page-links" }, m = {
1
+ import g from "./NeonPagination.es.js";
2
+ import { resolveComponent as p, openBlock as i, createElementBlock as s, normalizeClass as h, createBlock as a, createCommentVNode as t, createVNode as d, createElementVNode as b, Fragment as u, renderList as f, toDisplayString as k } from "vue";
3
+ import m from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
+ const v = { class: "neon-pagination__page-links" }, y = {
5
5
  key: 0,
6
6
  class: "neon-pagination__link--selected"
7
7
  };
8
- function y(n, _, v, P, w, N) {
9
- const o = r("neon-button"), s = r("neon-icon");
10
- return e(), t("div", {
8
+ function C(n, e, P, $, c, N) {
9
+ const l = p("neon-button"), r = p("neon-icon");
10
+ return i(), s("div", {
11
11
  class: h([[
12
12
  {
13
13
  "neon-pagination--empty": n.hidePagination
@@ -15,87 +15,94 @@ function y(n, _, v, P, w, N) {
15
15
  `neon-pagination--${n.color}`
16
16
  ], "neon-pagination"])
17
17
  }, [
18
- n.displayFirstAndLast ? (e(), i(o, {
18
+ n.displayFirstAndLast ? (i(), a(l, {
19
19
  key: 0,
20
20
  disabled: n.disabledPrevious,
21
21
  href: n.disabledPrevious ? void 0 : n.url(1),
22
22
  "button-style": "outline",
23
23
  class: "neon-pagination__nav-link neon-pagination__first",
24
24
  color: "high-contrast",
25
- icon: "first-page"
26
- }, null, 8, ["disabled", "href"])) : a("", !0),
27
- d(o, {
25
+ icon: "first-page",
26
+ onClick: e[0] || (e[0] = (o) => n.emit("page-change", 1))
27
+ }, null, 8, ["disabled", "href"])) : t("", !0),
28
+ d(l, {
28
29
  disabled: n.disabledPrevious,
29
30
  href: n.disabledPrevious ? void 0 : n.url(n.previousPage),
30
31
  "button-style": "outline",
31
32
  class: "neon-pagination__nav-link neon-pagination__previous",
32
33
  color: "high-contrast",
33
- icon: "arrow-left-1"
34
+ icon: "chevron-left",
35
+ onClick: e[1] || (e[1] = (o) => n.emit("page-change", n.previousPage))
34
36
  }, null, 8, ["disabled", "href"]),
35
- g("div", k, [
36
- n.showFirstPageWithEllipsis ? (e(), i(o, {
37
+ b("div", v, [
38
+ n.showFirstPageWithEllipsis ? (i(), a(l, {
37
39
  key: 0,
38
40
  href: n.url(1),
39
41
  "button-style": "text",
40
42
  class: "neon-pagination__link",
41
43
  color: "high-contrast",
42
44
  label: "1",
43
- transparent: ""
44
- }, null, 8, ["href"])) : a("", !0),
45
- n.showFirstPageWithEllipsis ? (e(), i(s, {
45
+ transparent: "",
46
+ onClick: e[2] || (e[2] = (o) => n.emit("page-change", 1))
47
+ }, null, 8, ["href"])) : t("", !0),
48
+ n.showFirstPageWithEllipsis ? (i(), a(r, {
46
49
  key: 1,
47
50
  class: "neon-pagination__less",
48
51
  color: "low-contrast",
49
52
  name: "ellipsis"
50
- })) : a("", !0),
51
- (e(!0), t(u, null, b(n.pageRange, (l) => (e(), t(u, { key: l }, [
52
- n.page === l ? (e(), t("span", m, c(l), 1)) : (e(), i(o, {
53
+ })) : t("", !0),
54
+ (i(!0), s(u, null, f(n.pageRange, (o) => (i(), s(u, { key: o }, [
55
+ n.page === o ? (i(), s("span", y, k(o), 1)) : (i(), a(l, {
53
56
  key: 1,
54
- href: n.url(l),
55
- label: `${l}`,
57
+ href: n.url(o),
58
+ label: `${o}`,
56
59
  "button-style": "text",
57
60
  class: "neon-pagination__link",
58
61
  color: "high-contrast",
59
- transparent: ""
60
- }, null, 8, ["href", "label"]))
62
+ transparent: "",
63
+ onClick: (w) => n.emit("page-change", o)
64
+ }, null, 8, ["href", "label", "onClick"]))
61
65
  ], 64))), 128)),
62
- n.showLastPageWithEllipsis ? (e(), i(s, {
66
+ n.showLastPageWithEllipsis ? (i(), a(r, {
63
67
  key: 2,
64
68
  class: "neon-pagination__more",
65
69
  color: "low-contrast",
66
70
  name: "ellipsis"
67
- })) : a("", !0),
68
- n.showLastPageWithEllipsis ? (e(), i(o, {
71
+ })) : t("", !0),
72
+ n.showLastPageWithEllipsis ? (i(), a(l, {
69
73
  key: 3,
70
74
  href: n.url(n.pageCount),
71
75
  label: `${n.pageCount}`,
72
76
  "button-style": "text",
73
77
  class: "neon-pagination__link",
74
78
  color: "high-contrast",
75
- transparent: ""
76
- }, null, 8, ["href", "label"])) : a("", !0)
79
+ transparent: "",
80
+ onClick: e[3] || (e[3] = (o) => n.emit("page-change", n.pageCount))
81
+ }, null, 8, ["href", "label"])) : t("", !0)
77
82
  ]),
78
- d(o, {
83
+ d(l, {
79
84
  disabled: n.disabledNext,
80
85
  href: n.disabledNext ? void 0 : n.url(n.nextPage),
81
86
  "button-style": "outline",
82
87
  class: "neon-pagination__nav-link neon-pagination__next",
83
88
  color: "high-contrast",
84
- icon: "arrow-right-1"
89
+ icon: "chevron-right",
90
+ onClick: e[4] || (e[4] = (o) => n.emit("page-change", n.nextPage))
85
91
  }, null, 8, ["disabled", "href"]),
86
- n.displayFirstAndLast ? (e(), i(o, {
92
+ n.displayFirstAndLast ? (i(), a(l, {
87
93
  key: 1,
88
94
  disabled: n.disabledNext,
89
95
  href: n.disabledNext ? void 0 : n.url(n.pageCount),
90
96
  "button-style": "outline",
91
97
  class: "neon-pagination__nav-link neon-pagination__last",
92
98
  color: "high-contrast",
93
- icon: "last-page"
94
- }, null, 8, ["disabled", "href"])) : a("", !0)
99
+ icon: "last-page",
100
+ onClick: e[5] || (e[5] = (o) => n.emit("page-change", n.pageCount))
101
+ }, null, 8, ["disabled", "href"])) : t("", !0)
95
102
  ], 2);
96
103
  }
97
- const F = /* @__PURE__ */ f(p, [["render", y]]);
104
+ const W = /* @__PURE__ */ m(g, [["render", C]]);
98
105
  export {
99
- F as default
106
+ W as default
100
107
  };
101
108
  //# sourceMappingURL=NeonPagination.vue.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonPagination.vue.es.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n {\n 'neon-pagination--empty': hidePagination,\n },\n `neon-pagination--${color}`,\n ]\"\n class=\"neon-pagination\"\n >\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(1) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__first\"\n color=\"high-contrast\"\n icon=\"first-page\"\n />\n <neon-button\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(previousPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__previous\"\n color=\"high-contrast\"\n icon=\"arrow-left-1\"\n />\n <div class=\"neon-pagination__page-links\">\n <neon-button\n v-if=\"showFirstPageWithEllipsis\"\n :href=\"url(1)\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n label=\"1\"\n transparent\n />\n <neon-icon v-if=\"showFirstPageWithEllipsis\" class=\"neon-pagination__less\" color=\"low-contrast\" name=\"ellipsis\" />\n <!-- eslint-disable-next-line -->\n <template v-for=\"pageInRange in pageRange\" :key=\"pageInRange\">\n <span v-if=\"page === pageInRange\" class=\"neon-pagination__link--selected\">\n {{ pageInRange }}\n </span>\n <neon-button\n v-else\n :href=\"url(pageInRange)\"\n :label=\"`${pageInRange}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n />\n </template>\n <neon-icon v-if=\"showLastPageWithEllipsis\" class=\"neon-pagination__more\" color=\"low-contrast\" name=\"ellipsis\" />\n <neon-button\n v-if=\"showLastPageWithEllipsis\"\n :href=\"url(pageCount)\"\n :label=\"`${pageCount}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n />\n </div>\n <neon-button\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(nextPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__next\"\n color=\"high-contrast\"\n icon=\"arrow-right-1\"\n />\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(pageCount) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__last\"\n color=\"high-contrast\"\n icon=\"last-page\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonPagination.ts\"></script>\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_neon_button","_createVNode","_createElementVNode","_component_neon_icon","_Fragment","_renderList","pageInRange","_hoisted_2","_toDisplayString"],"mappings":";;;AA2BS,MAAAA,IAAA,EAAA,OAAM,8BAA6B;;EAaF,OAAM;;;;cAvC9CC,EAgFM,OAAA;AAAA,IA/EH,OAAKC,EAAA,CAAA;AAAA;kCAA8CC,EAAA;AAAA;0BAAmDA,EAAA,KAAK;AAAA,OAMtG,iBAAiB,CAAA;AAAA;IAGfA,EAAA,4BADRC,EAQEC,GAAA;AAAA;MANC,UAAUF,EAAA;AAAA,MACV,MAAOA,EAAA,mBAA4B,SAATA,EAAA;MAC3B,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,OAAM;AAAA,MACN,MAAK;AAAA;IAEPG,EAOED,GAAA;AAAA,MANC,UAAUF,EAAA;AAAA,MACV,MAAOA,EAAA,mBAAuC,SAApBA,MAAIA,EAAA,YAAY;AAAA,MAC3C,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,OAAM;AAAA,MACN,MAAK;AAAA;IAEPI,EAoCM,OApCNP,GAoCM;AAAA,MAlCIG,EAAA,kCADRC,EAQEC,GAAA;AAAA;QANC,MAAMF,EAAA,IAAG,CAAA;AAAA,QACV,gBAAa;AAAA,QACb,OAAM;AAAA,QACN,OAAM;AAAA,QACN,OAAM;AAAA,QACN,aAAA;AAAA;MAEeA,EAAA,kCAAjBC,EAAiHI,GAAA;AAAA;QAArE,OAAM;AAAA,QAAwB,OAAM;AAAA,QAAe,MAAK;AAAA;cAEpGP,EAaWQ,GAAA,MAAAC,EAbqBP,EAAA,WAAS,CAAxBQ,wBAAgCA,KAAW;AAAA,QAC9CR,EAAA,SAASQ,UAArBV,EAEO,QAFPW,GAEOC,EADFF,CAAW,GAAA,CAAA,WAEhBP,EAQEC,GAAA;AAAA;UANC,MAAMF,EAAA,IAAIQ,CAAW;AAAA,UACrB,UAAUA,CAAW;AAAA,UACtB,gBAAa;AAAA,UACb,OAAM;AAAA,UACN,OAAM;AAAA,UACN,aAAA;AAAA;;MAGaR,EAAA,iCAAjBC,EAAgHI,GAAA;AAAA;QAArE,OAAM;AAAA,QAAwB,OAAM;AAAA,QAAe,MAAK;AAAA;MAE3FL,EAAA,iCADRC,EAQEC,GAAA;AAAA;QANC,MAAMF,EAAA,IAAIA,EAAA,SAAS;AAAA,QACnB,UAAUA,EAAA,SAAS;AAAA,QACpB,gBAAa;AAAA,QACb,OAAM;AAAA,QACN,OAAM;AAAA,QACN,aAAA;AAAA;;IAGJG,EAOED,GAAA;AAAA,MANC,UAAUF,EAAA;AAAA,MACV,MAAOA,EAAA,eAA+B,SAAhBA,MAAIA,EAAA,QAAQ;AAAA,MACnC,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,OAAM;AAAA,MACN,MAAK;AAAA;IAGCA,EAAA,4BADRC,EAQEC,GAAA;AAAA;MANC,UAAUF,EAAA;AAAA,MACV,MAAOA,EAAA,eAAgC,SAAjBA,MAAIA,EAAA,SAAS;AAAA,MACpC,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,OAAM;AAAA,MACN,MAAK;AAAA;;;;"}
1
+ {"version":3,"file":"NeonPagination.vue.es.js","sources":["../../../../src/components/navigation/pagination/NeonPagination.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n {\n 'neon-pagination--empty': hidePagination,\n },\n `neon-pagination--${color}`,\n ]\"\n class=\"neon-pagination\"\n >\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(1) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__first\"\n color=\"high-contrast\"\n icon=\"first-page\"\n @click=\"emit('page-change', 1)\"\n />\n <neon-button\n :disabled=\"disabledPrevious\"\n :href=\"!disabledPrevious ? url(previousPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__previous\"\n color=\"high-contrast\"\n icon=\"chevron-left\"\n @click=\"emit('page-change', previousPage)\"\n />\n <div class=\"neon-pagination__page-links\">\n <neon-button\n v-if=\"showFirstPageWithEllipsis\"\n :href=\"url(1)\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n label=\"1\"\n transparent\n @click=\"emit('page-change', 1)\"\n />\n <neon-icon v-if=\"showFirstPageWithEllipsis\" class=\"neon-pagination__less\" color=\"low-contrast\" name=\"ellipsis\" />\n <!-- eslint-disable-next-line -->\n <template v-for=\"pageInRange in pageRange\" :key=\"pageInRange\">\n <span v-if=\"page === pageInRange\" class=\"neon-pagination__link--selected\">\n {{ pageInRange }}\n </span>\n <neon-button\n v-else\n :href=\"url(pageInRange)\"\n :label=\"`${pageInRange}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n @click=\"emit('page-change', pageInRange)\"\n />\n </template>\n <neon-icon v-if=\"showLastPageWithEllipsis\" class=\"neon-pagination__more\" color=\"low-contrast\" name=\"ellipsis\" />\n <neon-button\n v-if=\"showLastPageWithEllipsis\"\n :href=\"url(pageCount)\"\n :label=\"`${pageCount}`\"\n button-style=\"text\"\n class=\"neon-pagination__link\"\n color=\"high-contrast\"\n transparent\n @click=\"emit('page-change', pageCount)\"\n />\n </div>\n <neon-button\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(nextPage) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__next\"\n color=\"high-contrast\"\n icon=\"chevron-right\"\n @click=\"emit('page-change', nextPage)\"\n />\n <neon-button\n v-if=\"displayFirstAndLast\"\n :disabled=\"disabledNext\"\n :href=\"!disabledNext ? url(pageCount) : undefined\"\n button-style=\"outline\"\n class=\"neon-pagination__nav-link neon-pagination__last\"\n color=\"high-contrast\"\n icon=\"last-page\"\n @click=\"emit('page-change', pageCount)\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonPagination.ts\"></script>\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_neon_button","_createVNode","_cache","$event","_createElementVNode","_component_neon_icon","_Fragment","_renderList","pageInRange","_hoisted_2","_toDisplayString"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const u=require("./NeonImageCarousel.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-image-carousel-wrapper"},m={class:"neon-image-carousel__container",tabindex:"-1"},p={ref:"carouselItems",class:"no-style neon-image-carousel__items"},g=["alt","src"],k={key:0,class:"neon-image-carousel__item-title"},v={class:"neon-image-carousel__nav",tabindex:"-1"},C=["onClickCapture"],_={key:0,class:"neon-image-carousel__label",tabindex:"-1"};function b(n,o,w,E,f,h){const l=e.resolveComponent("neon-button"),i=e.resolveComponent("neon-link"),r=e.resolveComponent("neon-stack");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel--initialised":n.initialised,"neon-image-carousel--expanded":n.isExpanded},"neon-image-carousel"]),tabindex:"0",onKeydown:[o[2]||(o[2]=e.withKeys(e.withModifiers((...t)=>n.previous&&n.previous(...t),["stop","prevent"]),["left"])),o[3]||(o[3]=e.withKeys(e.withModifiers((...t)=>n.next&&n.next(...t),["stop","prevent"]),["right"])),o[4]||(o[4]=e.withKeys(t=>n.isExpanded&&n.toggleExpanded(),["esc"]))]},[e.createElementVNode("div",m,[n.isExpanded?(e.openBlock(),e.createBlock(l,{key:0,title:n.closeLabel,"button-style":"text",class:"neon-image-carousel__close",color:"low-contrast",icon:"close",size:"l",transparent:"",onClick:o[0]||(o[0]=t=>n.isExpanded&&n.toggleExpanded())},null,8,["title"])):e.createCommentVNode("",!0),e.createVNode(l,{disabled:n.currentImage===0,title:n.previousLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__previous",color:"neutral",icon:"arrow-left-1",size:"l",onClickCapture:e.withModifiers(n.previous,["stop"])},null,8,["disabled","title","onClickCapture"]),e.createElementVNode("ul",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createElementBlock("li",{key:t.src,ref_for:!0,ref:"carouselItem",class:e.normalizeClass([{"neon-image-carousel__item--active":s===n.currentImage},"neon-image-carousel__item"])},[e.createElementVNode("img",{alt:t.alt,src:t.src,class:"neon-image-carousel__image",onClick:o[1]||(o[1]=e.withModifiers(a=>!n.isExpanded&&n.toggleExpanded(),["stop"]))},null,8,g),n.isExpanded&&t.title?(e.openBlock(),e.createElementBlock("p",k,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],2))),128))],512),e.createVNode(l,{disabled:n.currentImage===n.images.length-1,title:n.nextLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__next",color:"neutral",icon:"arrow-right-1",size:"l",onClickCapture:e.withModifiers(n.next,["stop"])},null,8,["disabled","title","onClickCapture"])]),e.createVNode(r,{class:"neon-image-carousel__nav-container",gap:"s"},{default:e.withCtx(()=>[e.createElementVNode("div",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createBlock(i,{key:s,"aria-label":`Display image ${s+1}`,class:"neon-image-carousel__nav-item-link","no-style":"","outline-style":"none",role:"button",tabindex:"0",onKeydownCapture:[e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["enter"]),e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["space"])]},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel__nav-item--active":s===n.currentImage},"neon-image-carousel__nav-item"]),tabindex:"-1",onClickCapture:e.withModifiers(a=>n.scrollTo(s),["stop"])},[...o[5]||(o[5]=[e.createElementVNode("div",{class:"neon-image-carousel__nav-item-indicator"},null,-1)])],42,C)]),_:2},1032,["aria-label","onKeydownCapture"]))),128))]),n.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(n.imageCountLabel||`${n.images.length} ${n.images.length===1?"image":"images"}`),1))]),_:1})],34)])}const y=c(u,[["render",b]]);module.exports=y;
1
+ "use strict";const c=require("./NeonImageCarousel.cjs.js"),e=require("vue"),u=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-image-carousel-wrapper"},m={class:"neon-image-carousel__container",tabindex:"-1"},p={ref:"carouselItems",class:"no-style neon-image-carousel__items"},g=["alt","src"],v={key:0,class:"neon-image-carousel__item-title"},k={class:"neon-image-carousel__nav",tabindex:"-1"},C=["onClickCapture"],_={key:0,class:"neon-image-carousel__label",tabindex:"-1"};function b(n,o,E,h,w,f){const l=e.resolveComponent("neon-button"),i=e.resolveComponent("neon-link"),r=e.resolveComponent("neon-stack");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel--initialised":n.initialised,"neon-image-carousel--expanded":n.isExpanded},"neon-image-carousel"]),tabindex:"0",onKeydown:[o[2]||(o[2]=e.withKeys(e.withModifiers((...t)=>n.previous&&n.previous(...t),["stop","prevent"]),["left"])),o[3]||(o[3]=e.withKeys(e.withModifiers((...t)=>n.next&&n.next(...t),["stop","prevent"]),["right"])),o[4]||(o[4]=e.withKeys(t=>n.isExpanded&&n.toggleExpanded(),["esc"]))]},[e.createElementVNode("div",m,[n.isExpanded?(e.openBlock(),e.createBlock(l,{key:0,title:n.closeLabel,"button-style":"text",class:"neon-image-carousel__close",color:"low-contrast",icon:"close",size:"l",transparent:"",onClick:o[0]||(o[0]=t=>n.isExpanded&&n.toggleExpanded())},null,8,["title"])):e.createCommentVNode("",!0),e.createVNode(l,{disabled:n.currentImage===0,title:n.previousLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__previous",color:"neutral",icon:"chevron-left",size:"l",onClickCapture:e.withModifiers(n.previous,["stop"])},null,8,["disabled","title","onClickCapture"]),e.createElementVNode("ul",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createElementBlock("li",{key:t.src,ref_for:!0,ref:"carouselItem",class:e.normalizeClass([{"neon-image-carousel__item--active":s===n.currentImage},"neon-image-carousel__item"])},[e.createElementVNode("img",{alt:t.alt,src:t.src,class:"neon-image-carousel__image",onClick:o[1]||(o[1]=e.withModifiers(a=>!n.isExpanded&&n.toggleExpanded(),["stop"]))},null,8,g),n.isExpanded&&t.title?(e.openBlock(),e.createElementBlock("p",v,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],2))),128))],512),e.createVNode(l,{disabled:n.currentImage===n.images.length-1,title:n.nextLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__next",color:"neutral",icon:"chevron-right",size:"l",onClickCapture:e.withModifiers(n.next,["stop"])},null,8,["disabled","title","onClickCapture"])]),e.createVNode(r,{class:"neon-image-carousel__nav-container",gap:"s"},{default:e.withCtx(()=>[e.createElementVNode("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createBlock(i,{key:s,"aria-label":`Display image ${s+1}`,class:"neon-image-carousel__nav-item-link","no-style":"","outline-style":"none",role:"button",tabindex:"0",onKeydownCapture:[e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["enter"]),e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["space"])]},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel__nav-item--active":s===n.currentImage},"neon-image-carousel__nav-item"]),tabindex:"-1",onClickCapture:e.withModifiers(a=>n.scrollTo(s),["stop"])},[...o[5]||(o[5]=[e.createElementVNode("div",{class:"neon-image-carousel__nav-item-indicator"},null,-1)])],42,C)]),_:2},1032,["aria-label","onKeydownCapture"]))),128))]),n.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(n.imageCountLabel||`${n.images.length} ${n.images.length===1?"image":"images"}`),1))]),_:1})],34)])}const y=u(c,[["render",b]]);module.exports=y;
2
2
  //# sourceMappingURL=NeonImageCarousel.vue.cjs.js.map