@aotearoan/neon 28.2.0 → 28.4.0

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 (81) hide show
  1. package/dist/components/feedback/alert/NeonAlert.cjs.js +1 -1
  2. package/dist/components/feedback/alert/NeonAlert.cjs.js.map +1 -1
  3. package/dist/components/feedback/alert/NeonAlert.es.js +1 -1
  4. package/dist/components/feedback/alert/NeonAlert.es.js.map +1 -1
  5. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.cjs.js +1 -1
  6. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.cjs.js.map +1 -1
  7. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.es.js +15 -15
  8. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.es.js.map +1 -1
  9. package/dist/components/layout/card-list/NeonCardList.cjs.js +1 -1
  10. package/dist/components/layout/card-list/NeonCardList.cjs.js.map +1 -1
  11. package/dist/components/layout/card-list/NeonCardList.es.js +32 -26
  12. package/dist/components/layout/card-list/NeonCardList.es.js.map +1 -1
  13. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
  14. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
  15. package/dist/components/layout/card-list/NeonCardList.vue.es.js +57 -61
  16. package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
  17. package/dist/components/layout/list-layout/NeonListLayout.cjs.js +2 -0
  18. package/dist/components/layout/list-layout/NeonListLayout.cjs.js.map +1 -0
  19. package/dist/components/layout/list-layout/NeonListLayout.es.js +99 -0
  20. package/dist/components/layout/list-layout/NeonListLayout.es.js.map +1 -0
  21. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js +2 -0
  22. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js.map +1 -0
  23. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js +58 -0
  24. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js.map +1 -0
  25. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.cjs.js +1 -1
  26. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.cjs.js.map +1 -1
  27. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.es.js +21 -12
  28. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.es.js.map +1 -1
  29. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js +1 -1
  30. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js.map +1 -1
  31. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js +33 -29
  32. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js.map +1 -1
  33. package/dist/components/presentation/empty-state/NeonEmptyState.cjs.js +2 -0
  34. package/dist/components/presentation/empty-state/NeonEmptyState.cjs.js.map +1 -0
  35. package/dist/components/presentation/empty-state/NeonEmptyState.es.js +62 -0
  36. package/dist/components/presentation/empty-state/NeonEmptyState.es.js.map +1 -0
  37. package/dist/components/presentation/empty-state/NeonEmptyState.vue.cjs.js +2 -0
  38. package/dist/components/presentation/empty-state/NeonEmptyState.vue.cjs.js.map +1 -0
  39. package/dist/components/presentation/empty-state/NeonEmptyState.vue.es.js +54 -0
  40. package/dist/components/presentation/empty-state/NeonEmptyState.vue.es.js.map +1 -0
  41. package/dist/model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle.cjs.js +2 -0
  42. package/dist/model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle.cjs.js.map +1 -0
  43. package/dist/model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle.es.js +5 -0
  44. package/dist/model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle.es.js.map +1 -0
  45. package/dist/model/presentation/empty-state/NeonEmptyStateType.cjs.js +2 -0
  46. package/dist/model/presentation/empty-state/NeonEmptyStateType.cjs.js.map +1 -0
  47. package/dist/model/presentation/empty-state/NeonEmptyStateType.es.js +5 -0
  48. package/dist/model/presentation/empty-state/NeonEmptyStateType.es.js.map +1 -0
  49. package/dist/neon.cjs.js +1 -1
  50. package/dist/neon.es.js +233 -225
  51. package/dist/neon.es.js.map +1 -1
  52. package/dist/src/components/layout/card-list/NeonCardList.d.ts +128 -7
  53. package/dist/src/components/layout/drawer/NeonDrawer.d.ts +1 -1
  54. package/dist/src/components/layout/list-layout/NeonListLayout.d.ts +2764 -0
  55. package/dist/src/components/layout/list-layout/NeonListLayout.vue.d.ts +2 -0
  56. package/dist/src/components/navigation/breadcrumbs/NeonBreadcrumbs.d.ts +18 -0
  57. package/dist/src/components/presentation/empty-state/NeonEmptyState.d.ts +613 -0
  58. package/dist/src/components/presentation/empty-state/NeonEmptyState.vue.d.ts +2 -0
  59. package/dist/src/components/presentation/header/NeonHeader.d.ts +12 -1
  60. package/dist/src/model/navigation/breadcrumbs/NeonBreadcrumbLink.d.ts +2 -2
  61. package/dist/src/model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle.d.ts +4 -0
  62. package/dist/src/model/presentation/empty-state/NeonEmptyStateType.d.ts +9 -0
  63. package/dist/src/model/user-input/button/NeonButtonModel.d.ts +19 -0
  64. package/dist/src/neon.d.ts +5 -0
  65. package/package.json +1 -1
  66. package/src/sass/components/_breadcrumbs.scss +45 -0
  67. package/src/sass/components/_card-list.scss +19 -0
  68. package/src/sass/components/_empty-state.scss +47 -0
  69. package/src/sass/components/_header.scss +2 -0
  70. package/src/sass/components/_list-layout.scss +37 -0
  71. package/src/sass/components/_page-container.scss +1 -0
  72. package/src/sass/components/components.scss +2 -0
  73. package/src/sass/core/_transitions.scss +15 -0
  74. package/src/sass/global/base-html.scss +0 -4
  75. package/src/sass/includes/_dependencies.scss +2 -0
  76. package/src/sass/theme.scss +8 -0
  77. package/src/sass/variables-global.scss +7 -0
  78. package/dist/components/feedback/alert/container/NeonDialogContainer.cjs2.js +0 -2
  79. package/dist/components/feedback/alert/container/NeonDialogContainer.cjs2.js.map +0 -1
  80. package/dist/components/feedback/alert/container/NeonDialogContainer.es2.js +0 -25
  81. package/dist/components/feedback/alert/container/NeonDialogContainer.es2.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("vue"),t=require("../../../utils/common/event/NeonEventBus.cjs.js"),o=require("../../../model/feedback/alert/NeonAlertLevel.cjs.js"),s=require("../../../utils/feedback/alert/NeonAlertService.cjs.js"),D=require("./container/NeonAlertContainer.vue.cjs.js"),C=require("./container/NeonToastContainer.vue.cjs.js"),i=require("../../../utils/feedback/toast/NeonToastService.cjs.js"),a=require("../../../model/feedback/alert/NeonAlertPlacement.cjs.js"),u=require("../../../model/common/position/NeonVerticalPosition.cjs.js"),_=require("./container/NeonDialogContainer.cjs2.js"),V=require("../../../utils/feedback/dialog/NeonDialogService.cjs.js"),M=l.defineComponent({name:"NeonAlert",components:{NeonAlertContainer:D,NeonToastContainer:C,NeonDialogContainer:_},props:{dismissible:{type:Boolean,default:!0},duration:{type:Number,default:2500}},setup(L){const N=l.ref([]),f=l.ref([]),A=l.ref([]),E=l.ref([]),m=l.ref([]),d=l.ref([]),B=l.ref({question:"",title:"",open:!1}),c=l.ref(1),w=e=>{switch(e.placement||a.NeonAlertPlacement.TopRight){case a.NeonAlertPlacement.TopLeft:N.value=N.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.TopRight:f.value=f.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.BottomLeft:A.value=A.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.BottomRight:E.value=E.value.filter(n=>n.id!==e.id);break}},T=(e,n)=>{const v=c.value;c.value=c.value+1;const r={dismissible:L.dismissible,...n,level:e,id:v};switch(n.placement||a.NeonAlertPlacement.TopRight){case a.NeonAlertPlacement.TopLeft:N.value.unshift(r);break;case a.NeonAlertPlacement.TopRight:f.value.unshift(r);break;case a.NeonAlertPlacement.BottomLeft:A.value.push(r);break;case a.NeonAlertPlacement.BottomRight:E.value.push(r);break}const S=n.duration===void 0?L.duration:n.duration;S>0&&!n.primaryAction&&setTimeout(()=>w(r),S)},x=e=>{switch(e.placement||u.NeonVerticalPosition.Top){case u.NeonVerticalPosition.Top:m.value=m.value.filter(n=>n.id!==e.id);break;case u.NeonVerticalPosition.Bottom:d.value=d.value.filter(n=>n.id!==e.id);break}},g=(e,n)=>{const v=c.value;c.value=c.value+1;const r={dismissible:L.dismissible,...n,level:e,id:v};switch(n.placement||u.NeonVerticalPosition.Top){case u.NeonVerticalPosition.Top:m.value.unshift(r);break;case u.NeonVerticalPosition.Bottom:d.value.push(r);break}const S=n.duration===void 0?L.duration:n.duration;S>0&&setTimeout(()=>x(r),S)},p=e=>{T(o.NeonAlertLevel.Info,e)},y=e=>{T(o.NeonAlertLevel.Success,e)},K=e=>{T(o.NeonAlertLevel.Warn,e)},b=e=>{T(o.NeonAlertLevel.Error,e)},h=e=>{g(o.NeonAlertLevel.Info,e)},P=e=>{g(o.NeonAlertLevel.Success,e)},k=e=>{g(o.NeonAlertLevel.Warn,e)},q=e=>{g(o.NeonAlertLevel.Error,e)},I=e=>{[m.value,d.value].forEach(n=>{const v=n.findIndex(r=>r.key===e);v>=0&&n.splice(v,1)})},R=e=>{[f.value,E.value,N.value,A.value].forEach(n=>{const v=n.findIndex(r=>r.key===e);v>=0&&n.splice(v,1)})},W=e=>{B.value={...e,open:!0}};return l.onMounted(()=>{t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Info),p),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Success),y),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Warn),K),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Error),b),t.NeonEventBus.on(s.NeonAlertService.removeEventKey,R),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Info),h),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Success),P),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Warn),k),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Error),q),t.NeonEventBus.on(i.NeonToastService.removeEventKey,I),t.NeonEventBus.on(V.NeonDialogService.generateEventKey(),W)}),l.onUnmounted(()=>{t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Info),p),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Success),y),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Warn),K),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Error),b),t.NeonEventBus.off(s.NeonAlertService.removeEventKey,R),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Info),h),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Success),P),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Warn),k),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Error),q),t.NeonEventBus.off(i.NeonToastService.removeEventKey,I),t.NeonEventBus.off(V.NeonDialogService.generateEventKey(),W)}),{topLeft:N,topRight:f,bottomLeft:A,bottomRight:E,top:m,bottom:d,dialog:B}}});module.exports=M;
1
+ "use strict";const l=require("vue"),t=require("../../../utils/common/event/NeonEventBus.cjs.js"),o=require("../../../model/feedback/alert/NeonAlertLevel.cjs.js"),s=require("../../../utils/feedback/alert/NeonAlertService.cjs.js"),D=require("./container/NeonAlertContainer.vue.cjs.js"),C=require("./container/NeonToastContainer.vue.cjs.js"),i=require("../../../utils/feedback/toast/NeonToastService.cjs.js"),a=require("../../../model/feedback/alert/NeonAlertPlacement.cjs.js"),u=require("../../../model/common/position/NeonVerticalPosition.cjs.js"),_=require("./container/NeonDialogContainer.vue.cjs.js"),V=require("../../../utils/feedback/dialog/NeonDialogService.cjs.js"),M=l.defineComponent({name:"NeonAlert",components:{NeonAlertContainer:D,NeonToastContainer:C,NeonDialogContainer:_},props:{dismissible:{type:Boolean,default:!0},duration:{type:Number,default:2500}},setup(L){const N=l.ref([]),f=l.ref([]),A=l.ref([]),E=l.ref([]),m=l.ref([]),d=l.ref([]),B=l.ref({question:"",title:"",open:!1}),c=l.ref(1),w=e=>{switch(e.placement||a.NeonAlertPlacement.TopRight){case a.NeonAlertPlacement.TopLeft:N.value=N.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.TopRight:f.value=f.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.BottomLeft:A.value=A.value.filter(n=>n.id!==e.id);break;case a.NeonAlertPlacement.BottomRight:E.value=E.value.filter(n=>n.id!==e.id);break}},T=(e,n)=>{const v=c.value;c.value=c.value+1;const r={dismissible:L.dismissible,...n,level:e,id:v};switch(n.placement||a.NeonAlertPlacement.TopRight){case a.NeonAlertPlacement.TopLeft:N.value.unshift(r);break;case a.NeonAlertPlacement.TopRight:f.value.unshift(r);break;case a.NeonAlertPlacement.BottomLeft:A.value.push(r);break;case a.NeonAlertPlacement.BottomRight:E.value.push(r);break}const S=n.duration===void 0?L.duration:n.duration;S>0&&!n.primaryAction&&setTimeout(()=>w(r),S)},x=e=>{switch(e.placement||u.NeonVerticalPosition.Top){case u.NeonVerticalPosition.Top:m.value=m.value.filter(n=>n.id!==e.id);break;case u.NeonVerticalPosition.Bottom:d.value=d.value.filter(n=>n.id!==e.id);break}},g=(e,n)=>{const v=c.value;c.value=c.value+1;const r={dismissible:L.dismissible,...n,level:e,id:v};switch(n.placement||u.NeonVerticalPosition.Top){case u.NeonVerticalPosition.Top:m.value.unshift(r);break;case u.NeonVerticalPosition.Bottom:d.value.push(r);break}const S=n.duration===void 0?L.duration:n.duration;S>0&&setTimeout(()=>x(r),S)},p=e=>{T(o.NeonAlertLevel.Info,e)},y=e=>{T(o.NeonAlertLevel.Success,e)},K=e=>{T(o.NeonAlertLevel.Warn,e)},b=e=>{T(o.NeonAlertLevel.Error,e)},h=e=>{g(o.NeonAlertLevel.Info,e)},P=e=>{g(o.NeonAlertLevel.Success,e)},k=e=>{g(o.NeonAlertLevel.Warn,e)},q=e=>{g(o.NeonAlertLevel.Error,e)},I=e=>{[m.value,d.value].forEach(n=>{const v=n.findIndex(r=>r.key===e);v>=0&&n.splice(v,1)})},R=e=>{[f.value,E.value,N.value,A.value].forEach(n=>{const v=n.findIndex(r=>r.key===e);v>=0&&n.splice(v,1)})},W=e=>{B.value={...e,open:!0}};return l.onMounted(()=>{t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Info),p),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Success),y),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Warn),K),t.NeonEventBus.on(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Error),b),t.NeonEventBus.on(s.NeonAlertService.removeEventKey,R),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Info),h),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Success),P),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Warn),k),t.NeonEventBus.on(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Error),q),t.NeonEventBus.on(i.NeonToastService.removeEventKey,I),t.NeonEventBus.on(V.NeonDialogService.generateEventKey(),W)}),l.onUnmounted(()=>{t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Info),p),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Success),y),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Warn),K),t.NeonEventBus.off(s.NeonAlertService.generateEventKey(o.NeonAlertLevel.Error),b),t.NeonEventBus.off(s.NeonAlertService.removeEventKey,R),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Info),h),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Success),P),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Warn),k),t.NeonEventBus.off(i.NeonToastService.generateEventKey(o.NeonAlertLevel.Error),q),t.NeonEventBus.off(i.NeonToastService.removeEventKey,I),t.NeonEventBus.off(V.NeonDialogService.generateEventKey(),W)}),{topLeft:N,topRight:f,bottomLeft:A,bottomRight:E,top:m,bottom:d,dialog:B}}});module.exports=M;
2
2
  //# sourceMappingURL=NeonAlert.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonAlert.cjs.js","sources":["../../../../src/components/feedback/alert/NeonAlert.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref } from 'vue';\nimport { NeonEventBus } from '@/utils/common/event/NeonEventBus';\nimport type { NeonAlertMessage } from '@/model/feedback/alert/NeonAlertMessage';\nimport { NeonAlertLevel } from '@/model/feedback/alert/NeonAlertLevel';\nimport { NeonAlertService } from '@/utils/feedback/alert/NeonAlertService';\nimport NeonAlertContainer from './container/NeonAlertContainer.vue';\nimport NeonToastContainer from './container/NeonToastContainer.vue';\nimport type { NeonAlertModel } from '@/model/feedback/alert/NeonAlertModel';\nimport type { NeonToastModel } from '@/model/feedback/toast/NeonToastModel';\nimport type { NeonToastMessage } from '@/model/feedback/toast/NeonToastMessage';\nimport { NeonToastService } from '@/utils/feedback/toast/NeonToastService';\nimport { NeonAlertPlacement } from '@/model/feedback/alert/NeonAlertPlacement';\nimport { NeonVerticalPosition } from '@/model/common/position/NeonVerticalPosition';\nimport NeonDialogContainer from '@/components/feedback/alert/container/NeonDialogContainer';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\n\n/**\n * NeonAlert is a component for presenting temporary notifications to the user. Place the component once inside your app\n * and use <strong>NeonAlertService</strong> to send events to the component.\n */\nexport default defineComponent({\n name: 'NeonAlert',\n components: {\n NeonAlertContainer,\n NeonToastContainer,\n NeonDialogContainer,\n },\n props: {\n /**\n * Whether alert messages are dismissible by clicking on them. This can also be set per alert message.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Duration to display messages before removing them. This can also be set per alert message. Set the duration to 0 to\n * disable the duration timer, NOTE: this requires the user to dismiss the alert by clicking on it.\n */\n duration: { type: Number, default: 2500 },\n },\n setup(props) {\n // alerts\n const topLeft = ref<Array<NeonAlertModel>>([]);\n const topRight = ref<Array<NeonAlertModel>>([]);\n const bottomLeft = ref<Array<NeonAlertModel>>([]);\n const bottomRight = ref<Array<NeonAlertModel>>([]);\n // toasts\n const top = ref<Array<NeonToastModel>>([]);\n const bottom = ref<Array<NeonToastModel>>([]);\n\n // dialogs\n const dialog = ref<NeonDialogMessage>({\n question: '',\n title: '',\n open: false,\n });\n\n const internalId = ref(1);\n\n const removeAlert = (message: NeonAlertModel) => {\n switch (message.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value = topLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value = topRight.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value = bottomLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value = bottomRight.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueAlert = (level: NeonAlertLevel, alert: NeonAlertMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonAlertModel = {\n dismissible: props.dismissible,\n ...alert,\n level,\n id,\n };\n\n switch (alert.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value.unshift(message);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value.unshift(message);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value.push(message);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value.push(message);\n break;\n }\n\n const duration = alert.duration === undefined ? props.duration : alert.duration;\n if (duration > 0 && !alert.primaryAction) {\n setTimeout(() => removeAlert(message), duration);\n }\n };\n\n const removeToast = (message: NeonToastModel) => {\n switch (message.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value = top.value.filter((m) => m.id !== message.id);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value = bottom.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueToast = (level: NeonAlertLevel, toast: NeonToastMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonToastModel = {\n dismissible: props.dismissible,\n ...toast,\n level,\n id,\n };\n\n switch (toast.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value.unshift(message);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value.push(message);\n break;\n }\n\n const duration = toast.duration === undefined ? props.duration : toast.duration;\n if (duration > 0) {\n setTimeout(() => removeToast(message), duration);\n }\n };\n\n const onInfoAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Info, alert);\n };\n\n const onSuccessAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Success, alert);\n };\n\n const onWarnAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Warn, alert);\n };\n\n const onErrorAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Error, alert);\n };\n\n const onInfoToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Info, toast);\n };\n\n const onSuccessToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Success, toast);\n };\n\n const onWarnToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Warn, toast);\n };\n\n const onErrorToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Error, toast);\n };\n\n const onRemoveToast = (key: string) => {\n [top.value, bottom.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onRemoveAlert = (key: string) => {\n [topRight.value, bottomRight.value, topLeft.value, bottomLeft.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onShowDialog = (message: NeonDialogMessage) => {\n dialog.value = {\n ...message,\n open: true,\n };\n };\n\n onMounted(() => {\n // alerts\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.on(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.on(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.on(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n onUnmounted(() => {\n // alerts\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.off(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.off(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.off(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n return {\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n top,\n bottom,\n dialog,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonAlertContainer","NeonToastContainer","NeonDialogContainer","props","topLeft","ref","topRight","bottomLeft","bottomRight","top","bottom","dialog","internalId","removeAlert","message","NeonAlertPlacement","m","enqueueAlert","level","alert","id","duration","removeToast","NeonVerticalPosition","enqueueToast","toast","onInfoAlert","NeonAlertLevel","onSuccessAlert","onWarnAlert","onErrorAlert","onInfoToast","onSuccessToast","onWarnToast","onErrorToast","onRemoveToast","key","list","msgIndex","onRemoveAlert","onShowDialog","onMounted","NeonEventBus","NeonAlertService","NeonToastService","NeonDialogService","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"NeonAlert.cjs.js","sources":["../../../../src/components/feedback/alert/NeonAlert.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref } from 'vue';\nimport { NeonEventBus } from '@/utils/common/event/NeonEventBus';\nimport type { NeonAlertMessage } from '@/model/feedback/alert/NeonAlertMessage';\nimport { NeonAlertLevel } from '@/model/feedback/alert/NeonAlertLevel';\nimport { NeonAlertService } from '@/utils/feedback/alert/NeonAlertService';\nimport NeonAlertContainer from './container/NeonAlertContainer.vue';\nimport NeonToastContainer from './container/NeonToastContainer.vue';\nimport type { NeonAlertModel } from '@/model/feedback/alert/NeonAlertModel';\nimport type { NeonToastModel } from '@/model/feedback/toast/NeonToastModel';\nimport type { NeonToastMessage } from '@/model/feedback/toast/NeonToastMessage';\nimport { NeonToastService } from '@/utils/feedback/toast/NeonToastService';\nimport { NeonAlertPlacement } from '@/model/feedback/alert/NeonAlertPlacement';\nimport { NeonVerticalPosition } from '@/model/common/position/NeonVerticalPosition';\nimport NeonDialogContainer from '@/components/feedback/alert/container/NeonDialogContainer.vue';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\n\n/**\n * NeonAlert is a component for presenting temporary notifications to the user. Place the component once inside your app\n * and use <strong>NeonAlertService</strong> to send events to the component.\n */\nexport default defineComponent({\n name: 'NeonAlert',\n components: {\n NeonAlertContainer,\n NeonToastContainer,\n NeonDialogContainer,\n },\n props: {\n /**\n * Whether alert messages are dismissible by clicking on them. This can also be set per alert message.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Duration to display messages before removing them. This can also be set per alert message. Set the duration to 0 to\n * disable the duration timer, NOTE: this requires the user to dismiss the alert by clicking on it.\n */\n duration: { type: Number, default: 2500 },\n },\n setup(props) {\n // alerts\n const topLeft = ref<Array<NeonAlertModel>>([]);\n const topRight = ref<Array<NeonAlertModel>>([]);\n const bottomLeft = ref<Array<NeonAlertModel>>([]);\n const bottomRight = ref<Array<NeonAlertModel>>([]);\n // toasts\n const top = ref<Array<NeonToastModel>>([]);\n const bottom = ref<Array<NeonToastModel>>([]);\n\n // dialogs\n const dialog = ref<NeonDialogMessage>({\n question: '',\n title: '',\n open: false,\n });\n\n const internalId = ref(1);\n\n const removeAlert = (message: NeonAlertModel) => {\n switch (message.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value = topLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value = topRight.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value = bottomLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value = bottomRight.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueAlert = (level: NeonAlertLevel, alert: NeonAlertMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonAlertModel = {\n dismissible: props.dismissible,\n ...alert,\n level,\n id,\n };\n\n switch (alert.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value.unshift(message);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value.unshift(message);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value.push(message);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value.push(message);\n break;\n }\n\n const duration = alert.duration === undefined ? props.duration : alert.duration;\n if (duration > 0 && !alert.primaryAction) {\n setTimeout(() => removeAlert(message), duration);\n }\n };\n\n const removeToast = (message: NeonToastModel) => {\n switch (message.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value = top.value.filter((m) => m.id !== message.id);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value = bottom.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueToast = (level: NeonAlertLevel, toast: NeonToastMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonToastModel = {\n dismissible: props.dismissible,\n ...toast,\n level,\n id,\n };\n\n switch (toast.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value.unshift(message);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value.push(message);\n break;\n }\n\n const duration = toast.duration === undefined ? props.duration : toast.duration;\n if (duration > 0) {\n setTimeout(() => removeToast(message), duration);\n }\n };\n\n const onInfoAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Info, alert);\n };\n\n const onSuccessAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Success, alert);\n };\n\n const onWarnAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Warn, alert);\n };\n\n const onErrorAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Error, alert);\n };\n\n const onInfoToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Info, toast);\n };\n\n const onSuccessToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Success, toast);\n };\n\n const onWarnToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Warn, toast);\n };\n\n const onErrorToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Error, toast);\n };\n\n const onRemoveToast = (key: string) => {\n [top.value, bottom.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onRemoveAlert = (key: string) => {\n [topRight.value, bottomRight.value, topLeft.value, bottomLeft.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onShowDialog = (message: NeonDialogMessage) => {\n dialog.value = {\n ...message,\n open: true,\n };\n };\n\n onMounted(() => {\n // alerts\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.on(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.on(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.on(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n onUnmounted(() => {\n // alerts\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.off(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.off(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.off(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n return {\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n top,\n bottom,\n dialog,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonAlertContainer","NeonToastContainer","NeonDialogContainer","props","topLeft","ref","topRight","bottomLeft","bottomRight","top","bottom","dialog","internalId","removeAlert","message","NeonAlertPlacement","m","enqueueAlert","level","alert","id","duration","removeToast","NeonVerticalPosition","enqueueToast","toast","onInfoAlert","NeonAlertLevel","onSuccessAlert","onWarnAlert","onErrorAlert","onInfoToast","onSuccessToast","onWarnToast","onErrorToast","onRemoveToast","key","list","msgIndex","onRemoveAlert","onShowDialog","onMounted","NeonEventBus","NeonAlertService","NeonToastService","NeonDialogService","onUnmounted"],"mappings":"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"}
@@ -7,7 +7,7 @@ import V from "./container/NeonToastContainer.vue.es.js";
7
7
  import { NeonToastService as i } from "../../../utils/feedback/toast/NeonToastService.es.js";
8
8
  import { NeonAlertPlacement as s } from "../../../model/feedback/alert/NeonAlertPlacement.es.js";
9
9
  import { NeonVerticalPosition as l } from "../../../model/common/position/NeonVerticalPosition.es.js";
10
- import j from "./container/NeonDialogContainer.es2.js";
10
+ import j from "./container/NeonDialogContainer.vue.es.js";
11
11
  import { NeonDialogService as C } from "../../../utils/feedback/dialog/NeonDialogService.es.js";
12
12
  const ee = P({
13
13
  name: "NeonAlert",
@@ -1 +1 @@
1
- {"version":3,"file":"NeonAlert.es.js","sources":["../../../../src/components/feedback/alert/NeonAlert.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref } from 'vue';\nimport { NeonEventBus } from '@/utils/common/event/NeonEventBus';\nimport type { NeonAlertMessage } from '@/model/feedback/alert/NeonAlertMessage';\nimport { NeonAlertLevel } from '@/model/feedback/alert/NeonAlertLevel';\nimport { NeonAlertService } from '@/utils/feedback/alert/NeonAlertService';\nimport NeonAlertContainer from './container/NeonAlertContainer.vue';\nimport NeonToastContainer from './container/NeonToastContainer.vue';\nimport type { NeonAlertModel } from '@/model/feedback/alert/NeonAlertModel';\nimport type { NeonToastModel } from '@/model/feedback/toast/NeonToastModel';\nimport type { NeonToastMessage } from '@/model/feedback/toast/NeonToastMessage';\nimport { NeonToastService } from '@/utils/feedback/toast/NeonToastService';\nimport { NeonAlertPlacement } from '@/model/feedback/alert/NeonAlertPlacement';\nimport { NeonVerticalPosition } from '@/model/common/position/NeonVerticalPosition';\nimport NeonDialogContainer from '@/components/feedback/alert/container/NeonDialogContainer';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\n\n/**\n * NeonAlert is a component for presenting temporary notifications to the user. Place the component once inside your app\n * and use <strong>NeonAlertService</strong> to send events to the component.\n */\nexport default defineComponent({\n name: 'NeonAlert',\n components: {\n NeonAlertContainer,\n NeonToastContainer,\n NeonDialogContainer,\n },\n props: {\n /**\n * Whether alert messages are dismissible by clicking on them. This can also be set per alert message.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Duration to display messages before removing them. This can also be set per alert message. Set the duration to 0 to\n * disable the duration timer, NOTE: this requires the user to dismiss the alert by clicking on it.\n */\n duration: { type: Number, default: 2500 },\n },\n setup(props) {\n // alerts\n const topLeft = ref<Array<NeonAlertModel>>([]);\n const topRight = ref<Array<NeonAlertModel>>([]);\n const bottomLeft = ref<Array<NeonAlertModel>>([]);\n const bottomRight = ref<Array<NeonAlertModel>>([]);\n // toasts\n const top = ref<Array<NeonToastModel>>([]);\n const bottom = ref<Array<NeonToastModel>>([]);\n\n // dialogs\n const dialog = ref<NeonDialogMessage>({\n question: '',\n title: '',\n open: false,\n });\n\n const internalId = ref(1);\n\n const removeAlert = (message: NeonAlertModel) => {\n switch (message.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value = topLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value = topRight.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value = bottomLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value = bottomRight.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueAlert = (level: NeonAlertLevel, alert: NeonAlertMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonAlertModel = {\n dismissible: props.dismissible,\n ...alert,\n level,\n id,\n };\n\n switch (alert.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value.unshift(message);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value.unshift(message);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value.push(message);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value.push(message);\n break;\n }\n\n const duration = alert.duration === undefined ? props.duration : alert.duration;\n if (duration > 0 && !alert.primaryAction) {\n setTimeout(() => removeAlert(message), duration);\n }\n };\n\n const removeToast = (message: NeonToastModel) => {\n switch (message.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value = top.value.filter((m) => m.id !== message.id);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value = bottom.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueToast = (level: NeonAlertLevel, toast: NeonToastMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonToastModel = {\n dismissible: props.dismissible,\n ...toast,\n level,\n id,\n };\n\n switch (toast.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value.unshift(message);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value.push(message);\n break;\n }\n\n const duration = toast.duration === undefined ? props.duration : toast.duration;\n if (duration > 0) {\n setTimeout(() => removeToast(message), duration);\n }\n };\n\n const onInfoAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Info, alert);\n };\n\n const onSuccessAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Success, alert);\n };\n\n const onWarnAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Warn, alert);\n };\n\n const onErrorAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Error, alert);\n };\n\n const onInfoToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Info, toast);\n };\n\n const onSuccessToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Success, toast);\n };\n\n const onWarnToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Warn, toast);\n };\n\n const onErrorToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Error, toast);\n };\n\n const onRemoveToast = (key: string) => {\n [top.value, bottom.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onRemoveAlert = (key: string) => {\n [topRight.value, bottomRight.value, topLeft.value, bottomLeft.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onShowDialog = (message: NeonDialogMessage) => {\n dialog.value = {\n ...message,\n open: true,\n };\n };\n\n onMounted(() => {\n // alerts\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.on(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.on(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.on(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n onUnmounted(() => {\n // alerts\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.off(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.off(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.off(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n return {\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n top,\n bottom,\n dialog,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonAlertContainer","NeonToastContainer","NeonDialogContainer","props","topLeft","ref","topRight","bottomLeft","bottomRight","top","bottom","dialog","internalId","removeAlert","message","NeonAlertPlacement","m","enqueueAlert","level","alert","id","duration","removeToast","NeonVerticalPosition","enqueueToast","toast","onInfoAlert","NeonAlertLevel","onSuccessAlert","onWarnAlert","onErrorAlert","onInfoToast","onSuccessToast","onWarnToast","onErrorToast","onRemoveToast","key","list","msgIndex","onRemoveAlert","onShowDialog","onMounted","NeonEventBus","NeonAlertService","NeonToastService","NeonDialogService","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"NeonAlert.es.js","sources":["../../../../src/components/feedback/alert/NeonAlert.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref } from 'vue';\nimport { NeonEventBus } from '@/utils/common/event/NeonEventBus';\nimport type { NeonAlertMessage } from '@/model/feedback/alert/NeonAlertMessage';\nimport { NeonAlertLevel } from '@/model/feedback/alert/NeonAlertLevel';\nimport { NeonAlertService } from '@/utils/feedback/alert/NeonAlertService';\nimport NeonAlertContainer from './container/NeonAlertContainer.vue';\nimport NeonToastContainer from './container/NeonToastContainer.vue';\nimport type { NeonAlertModel } from '@/model/feedback/alert/NeonAlertModel';\nimport type { NeonToastModel } from '@/model/feedback/toast/NeonToastModel';\nimport type { NeonToastMessage } from '@/model/feedback/toast/NeonToastMessage';\nimport { NeonToastService } from '@/utils/feedback/toast/NeonToastService';\nimport { NeonAlertPlacement } from '@/model/feedback/alert/NeonAlertPlacement';\nimport { NeonVerticalPosition } from '@/model/common/position/NeonVerticalPosition';\nimport NeonDialogContainer from '@/components/feedback/alert/container/NeonDialogContainer.vue';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\n\n/**\n * NeonAlert is a component for presenting temporary notifications to the user. Place the component once inside your app\n * and use <strong>NeonAlertService</strong> to send events to the component.\n */\nexport default defineComponent({\n name: 'NeonAlert',\n components: {\n NeonAlertContainer,\n NeonToastContainer,\n NeonDialogContainer,\n },\n props: {\n /**\n * Whether alert messages are dismissible by clicking on them. This can also be set per alert message.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Duration to display messages before removing them. This can also be set per alert message. Set the duration to 0 to\n * disable the duration timer, NOTE: this requires the user to dismiss the alert by clicking on it.\n */\n duration: { type: Number, default: 2500 },\n },\n setup(props) {\n // alerts\n const topLeft = ref<Array<NeonAlertModel>>([]);\n const topRight = ref<Array<NeonAlertModel>>([]);\n const bottomLeft = ref<Array<NeonAlertModel>>([]);\n const bottomRight = ref<Array<NeonAlertModel>>([]);\n // toasts\n const top = ref<Array<NeonToastModel>>([]);\n const bottom = ref<Array<NeonToastModel>>([]);\n\n // dialogs\n const dialog = ref<NeonDialogMessage>({\n question: '',\n title: '',\n open: false,\n });\n\n const internalId = ref(1);\n\n const removeAlert = (message: NeonAlertModel) => {\n switch (message.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value = topLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value = topRight.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value = bottomLeft.value.filter((m) => m.id !== message.id);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value = bottomRight.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueAlert = (level: NeonAlertLevel, alert: NeonAlertMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonAlertModel = {\n dismissible: props.dismissible,\n ...alert,\n level,\n id,\n };\n\n switch (alert.placement || NeonAlertPlacement.TopRight) {\n case NeonAlertPlacement.TopLeft:\n topLeft.value.unshift(message);\n break;\n case NeonAlertPlacement.TopRight:\n topRight.value.unshift(message);\n break;\n case NeonAlertPlacement.BottomLeft:\n bottomLeft.value.push(message);\n break;\n case NeonAlertPlacement.BottomRight:\n bottomRight.value.push(message);\n break;\n }\n\n const duration = alert.duration === undefined ? props.duration : alert.duration;\n if (duration > 0 && !alert.primaryAction) {\n setTimeout(() => removeAlert(message), duration);\n }\n };\n\n const removeToast = (message: NeonToastModel) => {\n switch (message.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value = top.value.filter((m) => m.id !== message.id);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value = bottom.value.filter((m) => m.id !== message.id);\n break;\n }\n };\n\n const enqueueToast = (level: NeonAlertLevel, toast: NeonToastMessage) => {\n const id = internalId.value;\n internalId.value = internalId.value + 1;\n const message: NeonToastModel = {\n dismissible: props.dismissible,\n ...toast,\n level,\n id,\n };\n\n switch (toast.placement || NeonVerticalPosition.Top) {\n case NeonVerticalPosition.Top:\n top.value.unshift(message);\n break;\n case NeonVerticalPosition.Bottom:\n bottom.value.push(message);\n break;\n }\n\n const duration = toast.duration === undefined ? props.duration : toast.duration;\n if (duration > 0) {\n setTimeout(() => removeToast(message), duration);\n }\n };\n\n const onInfoAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Info, alert);\n };\n\n const onSuccessAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Success, alert);\n };\n\n const onWarnAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Warn, alert);\n };\n\n const onErrorAlert = (alert: NeonAlertMessage) => {\n enqueueAlert(NeonAlertLevel.Error, alert);\n };\n\n const onInfoToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Info, toast);\n };\n\n const onSuccessToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Success, toast);\n };\n\n const onWarnToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Warn, toast);\n };\n\n const onErrorToast = (toast: NeonToastMessage) => {\n enqueueToast(NeonAlertLevel.Error, toast);\n };\n\n const onRemoveToast = (key: string) => {\n [top.value, bottom.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onRemoveAlert = (key: string) => {\n [topRight.value, bottomRight.value, topLeft.value, bottomLeft.value].forEach((list) => {\n const msgIndex = list.findIndex((m) => m.key === key);\n if (msgIndex >= 0) {\n list.splice(msgIndex, 1);\n }\n });\n };\n\n const onShowDialog = (message: NeonDialogMessage) => {\n dialog.value = {\n ...message,\n open: true,\n };\n };\n\n onMounted(() => {\n // alerts\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.on(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.on(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.on(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.on(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.on(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n onUnmounted(() => {\n // alerts\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Info), onInfoAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Success), onSuccessAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Warn), onWarnAlert);\n NeonEventBus.off(NeonAlertService.generateEventKey(NeonAlertLevel.Error), onErrorAlert);\n NeonEventBus.off(NeonAlertService.removeEventKey, onRemoveAlert);\n // toast\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Info), onInfoToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Success), onSuccessToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Warn), onWarnToast);\n NeonEventBus.off(NeonToastService.generateEventKey(NeonAlertLevel.Error), onErrorToast);\n NeonEventBus.off(NeonToastService.removeEventKey, onRemoveToast);\n // dialog\n NeonEventBus.off(NeonDialogService.generateEventKey(), onShowDialog);\n });\n\n return {\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n top,\n bottom,\n dialog,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonAlertContainer","NeonToastContainer","NeonDialogContainer","props","topLeft","ref","topRight","bottomLeft","bottomRight","top","bottom","dialog","internalId","removeAlert","message","NeonAlertPlacement","m","enqueueAlert","level","alert","id","duration","removeToast","NeonVerticalPosition","enqueueToast","toast","onInfoAlert","NeonAlertLevel","onSuccessAlert","onWarnAlert","onErrorAlert","onInfoToast","onSuccessToast","onWarnToast","onErrorToast","onRemoveToast","key","list","msgIndex","onRemoveAlert","onShowDialog","onMounted","NeonEventBus","NeonAlertService","NeonToastService","NeonDialogService","onUnmounted"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("./NeonSplashLoader.cjs.js"),e=require("vue"),l=require("../../../_virtual/_plugin-vue_export-helper.cjs.js");function s(o,t,c,i,p,d){const n=e.resolveComponent("neon-icon");return e.openBlock(),e.createBlock(e.Transition,{name:"neon-fade-transition",mode:"out-in"},{default:e.withCtx(()=>[o.ready?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["neon-splash-loader",[`neon-splash-loader--${o.size}`,{"neon-splash-loader--fullscreen":o.fullscreen,"neon-splash-loader--with-overlay":o.overlay}]])},[e.createVNode(n,{name:"loading",color:o.color,class:"neon-splash-loader__loading-icon"},null,8,["color"])],2)):e.createCommentVNode("",!0)]),_:1})}const a=l(r,[["render",s]]);module.exports=a;
1
+ "use strict";const r=require("./NeonSplashLoader.cjs.js"),e=require("vue"),s=require("../../../_virtual/_plugin-vue_export-helper.cjs.js");function l(o,t,c,i,p,d){const n=e.resolveComponent("neon-icon");return e.openBlock(),e.createBlock(e.Transition,{mode:"out-in",name:"neon-splash-transition"},{default:e.withCtx(()=>[o.ready?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([[`neon-splash-loader--${o.size}`,{"neon-splash-loader--fullscreen":o.fullscreen,"neon-splash-loader--with-overlay":o.overlay}],"neon-splash-loader"])},[e.createVNode(n,{color:o.color,class:"neon-splash-loader__loading-icon",name:"loading"},null,8,["color"])],2)):e.createCommentVNode("",!0)]),_:1})}const a=s(r,[["render",l]]);module.exports=a;
2
2
  //# sourceMappingURL=NeonSplashLoader.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonSplashLoader.vue.cjs.js","sources":["../../../../src/components/feedback/splash-loader/NeonSplashLoader.vue"],"sourcesContent":["<template>\n <transition name=\"neon-fade-transition\" mode=\"out-in\">\n <div\n v-if=\"ready\"\n class=\"neon-splash-loader\"\n :class=\"[\n `neon-splash-loader--${size}`,\n { 'neon-splash-loader--fullscreen': fullscreen, 'neon-splash-loader--with-overlay': overlay },\n ]\"\n >\n <neon-icon name=\"loading\" :color=\"color\" class=\"neon-splash-loader__loading-icon\" />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" src=\"./NeonSplashLoader.ts\"></script>\n"],"names":["_createBlock","_Transition","_ctx","_createElementBlock","_createVNode","_component_neon_icon"],"mappings":"gOACEA,EAAAA,YAWaC,aAAA,CAXD,KAAK,uBAAuB,KAAK,6BAC3C,IASM,CAREC,EAAA,qBADRC,EAAAA,mBASM,MAAA,OAPJ,wBAAM,qBAAoB,wBACeD,EAAA,IAAI,GAAgD,CAAA,iCAAAA,EAAA,8CAAgDA,EAAA,OAAO,OAKpJE,EAAAA,YAAoFC,EAAA,CAAzE,KAAK,UAAW,MAAOH,EAAA,MAAO,MAAM"}
1
+ {"version":3,"file":"NeonSplashLoader.vue.cjs.js","sources":["../../../../src/components/feedback/splash-loader/NeonSplashLoader.vue"],"sourcesContent":["<template>\n <transition mode=\"out-in\" name=\"neon-splash-transition\">\n <div\n v-if=\"ready\"\n :class=\"[\n `neon-splash-loader--${size}`,\n { 'neon-splash-loader--fullscreen': fullscreen, 'neon-splash-loader--with-overlay': overlay },\n ]\"\n class=\"neon-splash-loader\"\n >\n <neon-icon :color=\"color\" class=\"neon-splash-loader__loading-icon\" name=\"loading\" />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" src=\"./NeonSplashLoader.ts\"></script>\n"],"names":["_createBlock","_Transition","_ctx","_createElementBlock","_normalizeClass","_createVNode","_component_neon_icon"],"mappings":"gOACEA,EAAAA,YAWaC,aAAA,CAXD,KAAK,SAAS,KAAK,6CAC7B,IASM,CAREC,EAAA,qBADRC,EAAAA,mBASM,MAAA,OAPH,MAAKC,EAAAA,eAAA,CAAA,wBAAmCF,EAAA,IAAI,GAAgD,CAAA,iCAAAA,EAAA,8CAAgDA,EAAA,OAAO,GAI9I,oBAAoB,CAAA,IAE1BG,EAAAA,YAAoFC,EAAA,CAAxE,MAAOJ,EAAA,MAAO,MAAM,mCAAmC,KAAK"}
@@ -1,26 +1,26 @@
1
1
  import r from "./NeonSplashLoader.es.js";
2
- import { resolveComponent as a, openBlock as o, createBlock as l, Transition as s, withCtx as t, createElementBlock as c, normalizeClass as i, createVNode as d, createCommentVNode as p } from "vue";
2
+ import { resolveComponent as a, openBlock as e, createBlock as l, Transition as s, withCtx as t, createElementBlock as c, normalizeClass as i, createVNode as p, createCommentVNode as d } from "vue";
3
3
  import m from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
- function f(e, u, h, _, $, k) {
4
+ function f(o, h, u, _, $, k) {
5
5
  const n = a("neon-icon");
6
- return o(), l(s, {
7
- name: "neon-fade-transition",
8
- mode: "out-in"
6
+ return e(), l(s, {
7
+ mode: "out-in",
8
+ name: "neon-splash-transition"
9
9
  }, {
10
10
  default: t(() => [
11
- e.ready ? (o(), c("div", {
11
+ o.ready ? (e(), c("div", {
12
12
  key: 0,
13
- class: i(["neon-splash-loader", [
14
- `neon-splash-loader--${e.size}`,
15
- { "neon-splash-loader--fullscreen": e.fullscreen, "neon-splash-loader--with-overlay": e.overlay }
16
- ]])
13
+ class: i([[
14
+ `neon-splash-loader--${o.size}`,
15
+ { "neon-splash-loader--fullscreen": o.fullscreen, "neon-splash-loader--with-overlay": o.overlay }
16
+ ], "neon-splash-loader"])
17
17
  }, [
18
- d(n, {
19
- name: "loading",
20
- color: e.color,
21
- class: "neon-splash-loader__loading-icon"
18
+ p(n, {
19
+ color: o.color,
20
+ class: "neon-splash-loader__loading-icon",
21
+ name: "loading"
22
22
  }, null, 8, ["color"])
23
- ], 2)) : p("", !0)
23
+ ], 2)) : d("", !0)
24
24
  ]),
25
25
  _: 1
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NeonSplashLoader.vue.es.js","sources":["../../../../src/components/feedback/splash-loader/NeonSplashLoader.vue"],"sourcesContent":["<template>\n <transition name=\"neon-fade-transition\" mode=\"out-in\">\n <div\n v-if=\"ready\"\n class=\"neon-splash-loader\"\n :class=\"[\n `neon-splash-loader--${size}`,\n { 'neon-splash-loader--fullscreen': fullscreen, 'neon-splash-loader--with-overlay': overlay },\n ]\"\n >\n <neon-icon name=\"loading\" :color=\"color\" class=\"neon-splash-loader__loading-icon\" />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" src=\"./NeonSplashLoader.ts\"></script>\n"],"names":["_createBlock","_Transition","_ctx","_createElementBlock","_createVNode","_component_neon_icon"],"mappings":";;;;;cACEA,EAWaC,GAAA;AAAA,IAXD,MAAK;AAAA,IAAuB,MAAK;AAAA;eAC3C,MASM;AAAA,MAREC,EAAA,cADRC,EASM,OAAA;AAAA;QAPJ,UAAM,sBAAoB;AAAA,iCACeD,EAAA,IAAI;AAAA,UAAgD,EAAA,kCAAAA,EAAA,gDAAgDA,EAAA,QAAO;AAAA;;QAKpJE,EAAoFC,GAAA;AAAA,UAAzE,MAAK;AAAA,UAAW,OAAOH,EAAA;AAAA,UAAO,OAAM;AAAA;;;;;;;"}
1
+ {"version":3,"file":"NeonSplashLoader.vue.es.js","sources":["../../../../src/components/feedback/splash-loader/NeonSplashLoader.vue"],"sourcesContent":["<template>\n <transition mode=\"out-in\" name=\"neon-splash-transition\">\n <div\n v-if=\"ready\"\n :class=\"[\n `neon-splash-loader--${size}`,\n { 'neon-splash-loader--fullscreen': fullscreen, 'neon-splash-loader--with-overlay': overlay },\n ]\"\n class=\"neon-splash-loader\"\n >\n <neon-icon :color=\"color\" class=\"neon-splash-loader__loading-icon\" name=\"loading\" />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" src=\"./NeonSplashLoader.ts\"></script>\n"],"names":["_createBlock","_Transition","_ctx","_createElementBlock","_normalizeClass","_createVNode","_component_neon_icon"],"mappings":";;;;;cACEA,EAWaC,GAAA;AAAA,IAXD,MAAK;AAAA,IAAS,MAAK;AAAA;eAC7B,MASM;AAAA,MAREC,EAAA,cADRC,EASM,OAAA;AAAA;QAPH,OAAKC,EAAA,CAAA;AAAA,iCAAmCF,EAAA,IAAI;AAAA,UAAgD,EAAA,kCAAAA,EAAA,gDAAgDA,EAAA,QAAO;AAAA,WAI9I,oBAAoB,CAAA;AAAA;QAE1BG,EAAoFC,GAAA;AAAA,UAAxE,OAAOJ,EAAA;AAAA,UAAO,OAAM;AAAA,UAAmC,MAAK;AAAA;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("vue"),s=require("../../user-input/button/NeonButton.vue.cjs.js"),d=require("../inline/NeonInline.vue.cjs.js"),m=require("../../navigation/link/NeonLink.vue.cjs.js"),N=require("../../navigation/pagination/NeonPagination.vue.cjs.js"),f=require("../stack/NeonStack.vue.cjs.js"),b=require("../../../model/user-input/button/NeonButtonStyle.cjs.js"),q=require("../../../model/common/size/NeonSize.cjs.js"),S=require("../../../model/common/color/NeonFunctionalColor.cjs.js"),O=require("../../../utils/common/number/NeonNumberUtils.cjs.js"),g=require("./selectable-card/NeonSelectableCard.vue.cjs.js"),y=o.defineComponent({name:"NeonCardList",components:{NeonSelectableCard:g,NeonPagination:N,NeonButton:s,NeonInline:d,NeonLink:m,NeonStack:f},props:{items:{type:Array,required:!0},color:{type:String,default:null},selectable:{type:Boolean,default:!1},loadOnDemand:{type:Object},pagination:{type:Object}},emits:["show-more","toggleSelected"],setup(e,{emit:r,slots:a}){const i=o.computed(()=>{if(!e.pagination&&e.loadOnDemand)return e.loadOnDemand.ofLabel??"of"}),l=o.computed(()=>{var n;if(!e.pagination)return((n=e.loadOnDemand)==null?void 0:n.showMoreLabel)??"Show more"}),u=o.computed(()=>{var n;if(!e.pagination)return((n=e.loadOnDemand)==null?void 0:n.endOfResultsLabel)??"End of results"}),c=o.computed(()=>{var n,t;return((n=e.loadOnDemand)==null?void 0:n.total)??((t=e.pagination)==null?void 0:t.total)??0});return{emit:r,n:O.NeonNumberUtils.formatNumber,NeonButtonStyle:b.NeonButtonStyle,NeonFunctionalColor:S.NeonFunctionalColor,NeonSize:q.NeonSize,ofLabel:i,showMoreLabel:l,endOfResultsLabel:u,total:c,slots:a}}});module.exports=y;
1
+ "use strict";const o=require("vue"),s=require("../../user-input/button/NeonButton.vue.cjs.js"),d=require("../inline/NeonInline.vue.cjs.js"),m=require("../../navigation/link/NeonLink.vue.cjs.js"),N=require("../../navigation/pagination/NeonPagination.vue.cjs.js"),f=require("../stack/NeonStack.vue.cjs.js"),b=require("../../../model/user-input/button/NeonButtonStyle.cjs.js"),q=require("../../../model/common/size/NeonSize.cjs.js"),S=require("../../../model/common/color/NeonFunctionalColor.cjs.js"),g=require("../../../utils/common/number/NeonNumberUtils.cjs.js"),y=require("./selectable-card/NeonSelectableCard.vue.cjs.js"),O=require("../../feedback/splash-loader/NeonSplashLoader.vue.cjs.js"),L=o.defineComponent({name:"NeonCardList",components:{NeonSelectableCard:y,NeonPagination:N,NeonButton:s,NeonInline:d,NeonLink:m,NeonSplashLoader:O,NeonStack:f},props:{items:{type:Array,required:!0},color:{type:String,default:null},selectable:{type:Boolean,default:!1},loadOnDemand:{type:Object},pagination:{type:Object},loading:{type:Boolean}},emits:["show-more","toggle-selected"],setup(e,{emit:r,slots:a}){const i=o.computed(()=>{if(!e.pagination&&e.loadOnDemand)return e.loadOnDemand.ofLabel??"of"}),l=o.computed(()=>{var n;if(!e.pagination)return((n=e.loadOnDemand)==null?void 0:n.showMoreLabel)??"Show more"}),u=o.computed(()=>{var n;if(!e.pagination)return((n=e.loadOnDemand)==null?void 0:n.endOfResultsLabel)??"End of results"}),c=o.computed(()=>{var n,t;return((n=e.loadOnDemand)==null?void 0:n.total)??((t=e.pagination)==null?void 0:t.total)??0});return{emit:r,n:g.NeonNumberUtils.formatNumber,NeonButtonStyle:b.NeonButtonStyle,NeonFunctionalColor:S.NeonFunctionalColor,NeonSize:q.NeonSize,ofLabel:i,showMoreLabel:l,endOfResultsLabel:u,total:c,slots:a}}});module.exports=L;
2
2
  //# sourceMappingURL=NeonCardList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonCardList.cjs.js","sources":["../../../../src/components/layout/card-list/NeonCardList.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonInline from '@/components/layout/inline/NeonInline.vue';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonPagination from '@/components/navigation/pagination/NeonPagination.vue';\nimport NeonStack from '@/components/layout/stack/NeonStack.vue';\nimport { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';\nimport { NeonSize } from '@/model/common/size/NeonSize';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\nimport type { NeonCardListModel } from '@/model/layout/card-list/NeonCardListModel';\nimport { NeonNumberUtils } from '@/utils/common/number/NeonNumberUtils';\nimport type { NeonLoadOnDemandModel } from '@/model/layout/card-list/NeonLoadOnDemandModel';\nimport type { NeonPaginationModel } from '@/model/navigation/pagination/NeonPaginationModel';\nimport type { NeonIdentifiable } from '@/model/common/entity/NeonIdentifiable';\nimport type { NeonSelectable } from '@/model/common/entity/NeonSelectable';\nimport NeonSelectableCard from './selectable-card/NeonSelectableCard.vue';\n\n/**\n * TODO: consider refactoring since it's no longer just a layout component when selectable.\n * Represent lists of objects as cards. This is intended to be a more responsive replacement for tables. This component\n * will display a list of items as cards with a count (x of y) and a <em>Show more</em> button to load more results.\n * There is also a slot for adding filtering or other content above the list. A slot is provided with card model & index\n * parameters for customising how to display the model for each card.\n */\nexport default defineComponent({\n name: 'NeonCardList',\n components: {\n NeonSelectableCard,\n NeonPagination,\n NeonButton,\n NeonInline,\n NeonLink,\n NeonStack,\n },\n props: {\n /**\n * Items to display as cards. Each item should be a NeonCardListModel.\n */\n items: {\n type: Array as () => Array<NeonCardListModel<NeonIdentifiable | (NeonIdentifiable & NeonSelectable)>>,\n required: true,\n },\n /**\n * Specify a selection/hover color for the cards.\n */\n color: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * Make cards selectable.\n */\n selectable: { type: Boolean, default: false },\n /**\n * Model for configuring the on-demand loading layout.\n */\n loadOnDemand: { type: Object as () => NeonLoadOnDemandModel },\n /**\n * Model for configuring pagination, either pagination or loadOnDemand should be provided.\n */\n pagination: { type: Object as () => NeonPaginationModel },\n },\n emits: [\n /**\n * Emitted when the 'Show more' button is clicked in \"on demand\" mode.\n * @type {void}\n */\n 'show-more',\n /**\n * Emitted when in selectable mode and the selected state of a card is toggled.\n * @type {string, boolean} - the id of the card which is toggled & the new selected state.\n */\n 'toggleSelected',\n ],\n setup(props, { emit, slots }) {\n const ofLabel = computed(() => {\n if (!props.pagination && props.loadOnDemand) {\n return props.loadOnDemand.ofLabel ?? 'of';\n }\n\n return undefined;\n });\n\n const showMoreLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.showMoreLabel ?? 'Show more';\n }\n\n return undefined;\n });\n\n const endOfResultsLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.endOfResultsLabel ?? 'End of results';\n }\n\n return undefined;\n });\n\n const total = computed(() => props.loadOnDemand?.total ?? props.pagination?.total ?? 0);\n\n return {\n emit,\n n: NeonNumberUtils.formatNumber,\n NeonButtonStyle,\n NeonFunctionalColor,\n NeonSize,\n ofLabel,\n showMoreLabel,\n endOfResultsLabel,\n total,\n slots,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonSelectableCard","NeonPagination","NeonButton","NeonInline","NeonLink","NeonStack","props","emit","slots","ofLabel","computed","showMoreLabel","_a","endOfResultsLabel","total","_b","NeonNumberUtils","NeonButtonStyle","NeonFunctionalColor","NeonSize"],"mappings":"gnBAwBAA,EAAeC,kBAAgB,CAC7B,KAAM,eACN,WAAY,CACV,mBAAAC,EACA,eAAAC,EACA,WAAAC,EACA,WAAAC,EACA,SAAAC,EACA,UAAAC,CAAA,EAEF,MAAO,CAIL,MAAO,CACL,KAAM,MACN,SAAU,EAAA,EAKZ,MAAO,CAAE,KAAM,OAAqC,QAAS,IAAA,EAI7D,WAAY,CAAE,KAAM,QAAS,QAAS,EAAA,EAItC,aAAc,CAAE,KAAM,MAAA,EAItB,WAAY,CAAE,KAAM,MAAA,CAAoC,EAE1D,MAAO,CAKL,YAKA,gBAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,EAAM,MAAAC,GAAS,CAC5B,MAAMC,EAAUC,EAAAA,SAAS,IAAM,CAC7B,GAAI,CAACJ,EAAM,YAAcA,EAAM,aAC7B,OAAOA,EAAM,aAAa,SAAW,IAIzC,CAAC,EAEKK,EAAgBD,EAAAA,SAAS,IAAM,OACnC,GAAI,CAACJ,EAAM,WACT,QAAOM,EAAAN,EAAM,eAAN,YAAAM,EAAoB,gBAAiB,WAIhD,CAAC,EAEKC,EAAoBH,EAAAA,SAAS,IAAM,OACvC,GAAI,CAACJ,EAAM,WACT,QAAOM,EAAAN,EAAM,eAAN,YAAAM,EAAoB,oBAAqB,gBAIpD,CAAC,EAEKE,EAAQJ,WAAS,IAAA,SAAM,QAAAE,EAAAN,EAAM,eAAN,YAAAM,EAAoB,UAASG,EAAAT,EAAM,aAAN,YAAAS,EAAkB,QAAS,EAAC,EAEtF,MAAO,CACL,KAAAR,EACA,EAAGS,EAAAA,gBAAgB,aAAA,gBACnBC,EAAAA,gBAAA,oBACAC,EAAAA,oBAAA,SACAC,EAAAA,SACA,QAAAV,EACA,cAAAE,EACA,kBAAAE,EACA,MAAAC,EACA,MAAAN,CAAA,CAEJ,CACF,CAAC"}
1
+ {"version":3,"file":"NeonCardList.cjs.js","sources":["../../../../src/components/layout/card-list/NeonCardList.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonInline from '@/components/layout/inline/NeonInline.vue';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonPagination from '@/components/navigation/pagination/NeonPagination.vue';\nimport NeonStack from '@/components/layout/stack/NeonStack.vue';\nimport { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';\nimport { NeonSize } from '@/model/common/size/NeonSize';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\nimport type { NeonCardListModel } from '@/model/layout/card-list/NeonCardListModel';\nimport { NeonNumberUtils } from '@/utils/common/number/NeonNumberUtils';\nimport type { NeonLoadOnDemandModel } from '@/model/layout/card-list/NeonLoadOnDemandModel';\nimport type { NeonPaginationModel } from '@/model/navigation/pagination/NeonPaginationModel';\nimport type { NeonIdentifiable } from '@/model/common/entity/NeonIdentifiable';\nimport type { NeonSelectable } from '@/model/common/entity/NeonSelectable';\nimport NeonSelectableCard from './selectable-card/NeonSelectableCard.vue';\nimport NeonSplashLoader from '@/components/feedback/splash-loader/NeonSplashLoader.vue';\n\n/**\n * TODO: consider refactoring since it's no longer just a layout component when selectable.\n * Represent lists of objects as cards. This is intended to be a more responsive replacement for tables. This component\n * will display a list of items as cards with a count (x of y) and a <em>Show more</em> button to load more results.\n * There is also a slot for adding filtering or other content above the list. A slot is provided with card model & index\n * parameters for customising how to display the model for each card.\n */\nexport default defineComponent({\n name: 'NeonCardList',\n components: {\n NeonSelectableCard,\n NeonPagination,\n NeonButton,\n NeonInline,\n NeonLink,\n NeonSplashLoader,\n NeonStack,\n },\n props: {\n /**\n * Items to display as cards. Each item should be a NeonCardListModel.\n */\n items: {\n type: Array as () => Array<NeonCardListModel<NeonIdentifiable | (NeonIdentifiable & NeonSelectable)>>,\n required: true,\n },\n /**\n * * Specify a selection, hover & pagination accent color for the cards.\n */\n color: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * Make cards selectable.\n */\n selectable: { type: Boolean, default: false },\n /**\n * Model for configuring the on-demand loading layout.\n */\n loadOnDemand: { type: Object as () => NeonLoadOnDemandModel },\n /**\n * Model for configuring pagination, either pagination or loadOnDemand should be provided.\n */\n pagination: { type: Object as () => NeonPaginationModel },\n /**\n * Show splash loader when loading new items.\n */\n loading: { type: Boolean },\n },\n emits: [\n /**\n * Emitted when the 'Show more' button is clicked in \"on demand\" mode.\n * @type {void}\n */\n 'show-more',\n /**\n * Emitted when in selectable mode and the selected state of a card is toggled.\n * @type {string, boolean} - the id of the card which is toggled & the new selected state.\n */\n 'toggle-selected',\n ],\n setup(props, { emit, slots }) {\n const ofLabel = computed(() => {\n if (!props.pagination && props.loadOnDemand) {\n return props.loadOnDemand.ofLabel ?? 'of';\n }\n\n return undefined;\n });\n\n const showMoreLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.showMoreLabel ?? 'Show more';\n }\n\n return undefined;\n });\n\n const endOfResultsLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.endOfResultsLabel ?? 'End of results';\n }\n\n return undefined;\n });\n\n const total = computed(() => props.loadOnDemand?.total ?? props.pagination?.total ?? 0);\n\n return {\n emit,\n n: NeonNumberUtils.formatNumber,\n NeonButtonStyle,\n NeonFunctionalColor,\n NeonSize,\n ofLabel,\n showMoreLabel,\n endOfResultsLabel,\n total,\n slots,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonSelectableCard","NeonPagination","NeonButton","NeonInline","NeonLink","NeonSplashLoader","NeonStack","props","emit","slots","ofLabel","computed","showMoreLabel","_a","endOfResultsLabel","total","_b","NeonNumberUtils","NeonButtonStyle","NeonFunctionalColor","NeonSize"],"mappings":"srBAyBAA,EAAeC,kBAAgB,CAC7B,KAAM,eACN,WAAY,CACV,mBAAAC,EACA,eAAAC,EACA,WAAAC,EACA,WAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,UAAAC,CAAA,EAEF,MAAO,CAIL,MAAO,CACL,KAAM,MACN,SAAU,EAAA,EAKZ,MAAO,CAAE,KAAM,OAAqC,QAAS,IAAA,EAI7D,WAAY,CAAE,KAAM,QAAS,QAAS,EAAA,EAItC,aAAc,CAAE,KAAM,MAAA,EAItB,WAAY,CAAE,KAAM,MAAA,EAIpB,QAAS,CAAE,KAAM,OAAA,CAAQ,EAE3B,MAAO,CAKL,YAKA,iBAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,EAAM,MAAAC,GAAS,CAC5B,MAAMC,EAAUC,EAAAA,SAAS,IAAM,CAC7B,GAAI,CAACJ,EAAM,YAAcA,EAAM,aAC7B,OAAOA,EAAM,aAAa,SAAW,IAIzC,CAAC,EAEKK,EAAgBD,EAAAA,SAAS,IAAM,OACnC,GAAI,CAACJ,EAAM,WACT,QAAOM,EAAAN,EAAM,eAAN,YAAAM,EAAoB,gBAAiB,WAIhD,CAAC,EAEKC,EAAoBH,EAAAA,SAAS,IAAM,OACvC,GAAI,CAACJ,EAAM,WACT,QAAOM,EAAAN,EAAM,eAAN,YAAAM,EAAoB,oBAAqB,gBAIpD,CAAC,EAEKE,EAAQJ,WAAS,IAAA,SAAM,QAAAE,EAAAN,EAAM,eAAN,YAAAM,EAAoB,UAASG,EAAAT,EAAM,aAAN,YAAAS,EAAkB,QAAS,EAAC,EAEtF,MAAO,CACL,KAAAR,EACA,EAAGS,EAAAA,gBAAgB,aAAA,gBACnBC,EAAAA,gBAAA,oBACAC,EAAAA,oBAAA,SACAC,EAAAA,SACA,QAAAV,EACA,cAAAE,EACA,kBAAAE,EACA,MAAAC,EACA,MAAAN,CAAA,CAEJ,CACF,CAAC"}
@@ -2,22 +2,24 @@ import { defineComponent as f, computed as t } from "vue";
2
2
  import u from "../../user-input/button/NeonButton.vue.es.js";
3
3
  import s from "../inline/NeonInline.vue.es.js";
4
4
  import c from "../../navigation/link/NeonLink.vue.es.js";
5
- import N from "../../navigation/pagination/NeonPagination.vue.es.js";
6
- import b from "../stack/NeonStack.vue.es.js";
7
- import { NeonButtonStyle as p } from "../../../model/user-input/button/NeonButtonStyle.es.js";
8
- import { NeonSize as O } from "../../../model/common/size/NeonSize.es.js";
9
- import { NeonFunctionalColor as g } from "../../../model/common/color/NeonFunctionalColor.es.js";
5
+ import p from "../../navigation/pagination/NeonPagination.vue.es.js";
6
+ import N from "../stack/NeonStack.vue.es.js";
7
+ import { NeonButtonStyle as b } from "../../../model/user-input/button/NeonButtonStyle.es.js";
8
+ import { NeonSize as g } from "../../../model/common/size/NeonSize.es.js";
9
+ import { NeonFunctionalColor as O } from "../../../model/common/color/NeonFunctionalColor.es.js";
10
10
  import { NeonNumberUtils as L } from "../../../utils/common/number/NeonNumberUtils.es.js";
11
11
  import y from "./selectable-card/NeonSelectableCard.vue.es.js";
12
- const _ = f({
12
+ import S from "../../feedback/splash-loader/NeonSplashLoader.vue.es.js";
13
+ const x = f({
13
14
  name: "NeonCardList",
14
15
  components: {
15
16
  NeonSelectableCard: y,
16
- NeonPagination: N,
17
+ NeonPagination: p,
17
18
  NeonButton: u,
18
19
  NeonInline: s,
19
20
  NeonLink: c,
20
- NeonStack: b
21
+ NeonSplashLoader: S,
22
+ NeonStack: N
21
23
  },
22
24
  props: {
23
25
  /**
@@ -28,7 +30,7 @@ const _ = f({
28
30
  required: !0
29
31
  },
30
32
  /**
31
- * Specify a selection/hover color for the cards.
33
+ * * Specify a selection, hover & pagination accent color for the cards.
32
34
  */
33
35
  color: { type: String, default: null },
34
36
  /**
@@ -42,7 +44,11 @@ const _ = f({
42
44
  /**
43
45
  * Model for configuring pagination, either pagination or loadOnDemand should be provided.
44
46
  */
45
- pagination: { type: Object }
47
+ pagination: { type: Object },
48
+ /**
49
+ * Show splash loader when loading new items.
50
+ */
51
+ loading: { type: Boolean }
46
52
  },
47
53
  emits: [
48
54
  /**
@@ -54,30 +60,30 @@ const _ = f({
54
60
  * Emitted when in selectable mode and the selected state of a card is toggled.
55
61
  * @type {string, boolean} - the id of the card which is toggled & the new selected state.
56
62
  */
57
- "toggleSelected"
63
+ "toggle-selected"
58
64
  ],
59
- setup(e, { emit: a, slots: r }) {
65
+ setup(o, { emit: a, slots: r }) {
60
66
  const i = t(() => {
61
- if (!e.pagination && e.loadOnDemand)
62
- return e.loadOnDemand.ofLabel ?? "of";
67
+ if (!o.pagination && o.loadOnDemand)
68
+ return o.loadOnDemand.ofLabel ?? "of";
63
69
  }), m = t(() => {
64
- var o;
65
- if (!e.pagination)
66
- return ((o = e.loadOnDemand) == null ? void 0 : o.showMoreLabel) ?? "Show more";
70
+ var e;
71
+ if (!o.pagination)
72
+ return ((e = o.loadOnDemand) == null ? void 0 : e.showMoreLabel) ?? "Show more";
67
73
  }), l = t(() => {
68
- var o;
69
- if (!e.pagination)
70
- return ((o = e.loadOnDemand) == null ? void 0 : o.endOfResultsLabel) ?? "End of results";
74
+ var e;
75
+ if (!o.pagination)
76
+ return ((e = o.loadOnDemand) == null ? void 0 : e.endOfResultsLabel) ?? "End of results";
71
77
  }), d = t(() => {
72
- var o, n;
73
- return ((o = e.loadOnDemand) == null ? void 0 : o.total) ?? ((n = e.pagination) == null ? void 0 : n.total) ?? 0;
78
+ var e, n;
79
+ return ((e = o.loadOnDemand) == null ? void 0 : e.total) ?? ((n = o.pagination) == null ? void 0 : n.total) ?? 0;
74
80
  });
75
81
  return {
76
82
  emit: a,
77
83
  n: L.formatNumber,
78
- NeonButtonStyle: p,
79
- NeonFunctionalColor: g,
80
- NeonSize: O,
84
+ NeonButtonStyle: b,
85
+ NeonFunctionalColor: O,
86
+ NeonSize: g,
81
87
  ofLabel: i,
82
88
  showMoreLabel: m,
83
89
  endOfResultsLabel: l,
@@ -87,6 +93,6 @@ const _ = f({
87
93
  }
88
94
  });
89
95
  export {
90
- _ as default
96
+ x as default
91
97
  };
92
98
  //# sourceMappingURL=NeonCardList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonCardList.es.js","sources":["../../../../src/components/layout/card-list/NeonCardList.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonInline from '@/components/layout/inline/NeonInline.vue';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonPagination from '@/components/navigation/pagination/NeonPagination.vue';\nimport NeonStack from '@/components/layout/stack/NeonStack.vue';\nimport { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';\nimport { NeonSize } from '@/model/common/size/NeonSize';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\nimport type { NeonCardListModel } from '@/model/layout/card-list/NeonCardListModel';\nimport { NeonNumberUtils } from '@/utils/common/number/NeonNumberUtils';\nimport type { NeonLoadOnDemandModel } from '@/model/layout/card-list/NeonLoadOnDemandModel';\nimport type { NeonPaginationModel } from '@/model/navigation/pagination/NeonPaginationModel';\nimport type { NeonIdentifiable } from '@/model/common/entity/NeonIdentifiable';\nimport type { NeonSelectable } from '@/model/common/entity/NeonSelectable';\nimport NeonSelectableCard from './selectable-card/NeonSelectableCard.vue';\n\n/**\n * TODO: consider refactoring since it's no longer just a layout component when selectable.\n * Represent lists of objects as cards. This is intended to be a more responsive replacement for tables. This component\n * will display a list of items as cards with a count (x of y) and a <em>Show more</em> button to load more results.\n * There is also a slot for adding filtering or other content above the list. A slot is provided with card model & index\n * parameters for customising how to display the model for each card.\n */\nexport default defineComponent({\n name: 'NeonCardList',\n components: {\n NeonSelectableCard,\n NeonPagination,\n NeonButton,\n NeonInline,\n NeonLink,\n NeonStack,\n },\n props: {\n /**\n * Items to display as cards. Each item should be a NeonCardListModel.\n */\n items: {\n type: Array as () => Array<NeonCardListModel<NeonIdentifiable | (NeonIdentifiable & NeonSelectable)>>,\n required: true,\n },\n /**\n * Specify a selection/hover color for the cards.\n */\n color: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * Make cards selectable.\n */\n selectable: { type: Boolean, default: false },\n /**\n * Model for configuring the on-demand loading layout.\n */\n loadOnDemand: { type: Object as () => NeonLoadOnDemandModel },\n /**\n * Model for configuring pagination, either pagination or loadOnDemand should be provided.\n */\n pagination: { type: Object as () => NeonPaginationModel },\n },\n emits: [\n /**\n * Emitted when the 'Show more' button is clicked in \"on demand\" mode.\n * @type {void}\n */\n 'show-more',\n /**\n * Emitted when in selectable mode and the selected state of a card is toggled.\n * @type {string, boolean} - the id of the card which is toggled & the new selected state.\n */\n 'toggleSelected',\n ],\n setup(props, { emit, slots }) {\n const ofLabel = computed(() => {\n if (!props.pagination && props.loadOnDemand) {\n return props.loadOnDemand.ofLabel ?? 'of';\n }\n\n return undefined;\n });\n\n const showMoreLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.showMoreLabel ?? 'Show more';\n }\n\n return undefined;\n });\n\n const endOfResultsLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.endOfResultsLabel ?? 'End of results';\n }\n\n return undefined;\n });\n\n const total = computed(() => props.loadOnDemand?.total ?? props.pagination?.total ?? 0);\n\n return {\n emit,\n n: NeonNumberUtils.formatNumber,\n NeonButtonStyle,\n NeonFunctionalColor,\n NeonSize,\n ofLabel,\n showMoreLabel,\n endOfResultsLabel,\n total,\n slots,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonSelectableCard","NeonPagination","NeonButton","NeonInline","NeonLink","NeonStack","props","emit","slots","ofLabel","computed","showMoreLabel","_a","endOfResultsLabel","total","_b","NeonNumberUtils","NeonButtonStyle","NeonFunctionalColor","NeonSize"],"mappings":";;;;;;;;;;;AAwBA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA,IAKZ,OAAO,EAAE,MAAM,QAAqC,SAAS,KAAA;AAAA;AAAA;AAAA;AAAA,IAI7D,YAAY,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAItC,cAAc,EAAE,MAAM,OAAA;AAAA;AAAA;AAAA;AAAA,IAItB,YAAY,EAAE,MAAM,OAAA;AAAA,EAAoC;AAAA,EAE1D,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,EAAA;AAAA,EAEF,MAAMC,GAAO,EAAE,MAAAC,GAAM,OAAAC,KAAS;AAC5B,UAAMC,IAAUC,EAAS,MAAM;AAC7B,UAAI,CAACJ,EAAM,cAAcA,EAAM;AAC7B,eAAOA,EAAM,aAAa,WAAW;AAAA,IAIzC,CAAC,GAEKK,IAAgBD,EAAS,MAAM;;AACnC,UAAI,CAACJ,EAAM;AACT,iBAAOM,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,kBAAiB;AAAA,IAIhD,CAAC,GAEKC,IAAoBH,EAAS,MAAM;;AACvC,UAAI,CAACJ,EAAM;AACT,iBAAOM,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,sBAAqB;AAAA,IAIpD,CAAC,GAEKE,IAAQJ,EAAS,MAAA;;AAAM,eAAAE,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,YAASG,IAAAT,EAAM,eAAN,gBAAAS,EAAkB,UAAS;AAAA,KAAC;AAEtF,WAAO;AAAA,MACL,MAAAR;AAAA,MACA,GAAGS,EAAgB;AAAA,MACnB,iBAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAV;AAAA,MACA,eAAAE;AAAA,MACA,mBAAAE;AAAA,MACA,OAAAC;AAAA,MACA,OAAAN;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"}
1
+ {"version":3,"file":"NeonCardList.es.js","sources":["../../../../src/components/layout/card-list/NeonCardList.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonInline from '@/components/layout/inline/NeonInline.vue';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonPagination from '@/components/navigation/pagination/NeonPagination.vue';\nimport NeonStack from '@/components/layout/stack/NeonStack.vue';\nimport { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';\nimport { NeonSize } from '@/model/common/size/NeonSize';\nimport { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';\nimport type { NeonCardListModel } from '@/model/layout/card-list/NeonCardListModel';\nimport { NeonNumberUtils } from '@/utils/common/number/NeonNumberUtils';\nimport type { NeonLoadOnDemandModel } from '@/model/layout/card-list/NeonLoadOnDemandModel';\nimport type { NeonPaginationModel } from '@/model/navigation/pagination/NeonPaginationModel';\nimport type { NeonIdentifiable } from '@/model/common/entity/NeonIdentifiable';\nimport type { NeonSelectable } from '@/model/common/entity/NeonSelectable';\nimport NeonSelectableCard from './selectable-card/NeonSelectableCard.vue';\nimport NeonSplashLoader from '@/components/feedback/splash-loader/NeonSplashLoader.vue';\n\n/**\n * TODO: consider refactoring since it's no longer just a layout component when selectable.\n * Represent lists of objects as cards. This is intended to be a more responsive replacement for tables. This component\n * will display a list of items as cards with a count (x of y) and a <em>Show more</em> button to load more results.\n * There is also a slot for adding filtering or other content above the list. A slot is provided with card model & index\n * parameters for customising how to display the model for each card.\n */\nexport default defineComponent({\n name: 'NeonCardList',\n components: {\n NeonSelectableCard,\n NeonPagination,\n NeonButton,\n NeonInline,\n NeonLink,\n NeonSplashLoader,\n NeonStack,\n },\n props: {\n /**\n * Items to display as cards. Each item should be a NeonCardListModel.\n */\n items: {\n type: Array as () => Array<NeonCardListModel<NeonIdentifiable | (NeonIdentifiable & NeonSelectable)>>,\n required: true,\n },\n /**\n * * Specify a selection, hover & pagination accent color for the cards.\n */\n color: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * Make cards selectable.\n */\n selectable: { type: Boolean, default: false },\n /**\n * Model for configuring the on-demand loading layout.\n */\n loadOnDemand: { type: Object as () => NeonLoadOnDemandModel },\n /**\n * Model for configuring pagination, either pagination or loadOnDemand should be provided.\n */\n pagination: { type: Object as () => NeonPaginationModel },\n /**\n * Show splash loader when loading new items.\n */\n loading: { type: Boolean },\n },\n emits: [\n /**\n * Emitted when the 'Show more' button is clicked in \"on demand\" mode.\n * @type {void}\n */\n 'show-more',\n /**\n * Emitted when in selectable mode and the selected state of a card is toggled.\n * @type {string, boolean} - the id of the card which is toggled & the new selected state.\n */\n 'toggle-selected',\n ],\n setup(props, { emit, slots }) {\n const ofLabel = computed(() => {\n if (!props.pagination && props.loadOnDemand) {\n return props.loadOnDemand.ofLabel ?? 'of';\n }\n\n return undefined;\n });\n\n const showMoreLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.showMoreLabel ?? 'Show more';\n }\n\n return undefined;\n });\n\n const endOfResultsLabel = computed(() => {\n if (!props.pagination) {\n return props.loadOnDemand?.endOfResultsLabel ?? 'End of results';\n }\n\n return undefined;\n });\n\n const total = computed(() => props.loadOnDemand?.total ?? props.pagination?.total ?? 0);\n\n return {\n emit,\n n: NeonNumberUtils.formatNumber,\n NeonButtonStyle,\n NeonFunctionalColor,\n NeonSize,\n ofLabel,\n showMoreLabel,\n endOfResultsLabel,\n total,\n slots,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonSelectableCard","NeonPagination","NeonButton","NeonInline","NeonLink","NeonSplashLoader","NeonStack","props","emit","slots","ofLabel","computed","showMoreLabel","_a","endOfResultsLabel","total","_b","NeonNumberUtils","NeonButtonStyle","NeonFunctionalColor","NeonSize"],"mappings":";;;;;;;;;;;;AAyBA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA,IAKZ,OAAO,EAAE,MAAM,QAAqC,SAAS,KAAA;AAAA;AAAA;AAAA;AAAA,IAI7D,YAAY,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAItC,cAAc,EAAE,MAAM,OAAA;AAAA;AAAA;AAAA;AAAA,IAItB,YAAY,EAAE,MAAM,OAAA;AAAA;AAAA;AAAA;AAAA,IAIpB,SAAS,EAAE,MAAM,QAAA;AAAA,EAAQ;AAAA,EAE3B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,EAAA;AAAA,EAEF,MAAMC,GAAO,EAAE,MAAAC,GAAM,OAAAC,KAAS;AAC5B,UAAMC,IAAUC,EAAS,MAAM;AAC7B,UAAI,CAACJ,EAAM,cAAcA,EAAM;AAC7B,eAAOA,EAAM,aAAa,WAAW;AAAA,IAIzC,CAAC,GAEKK,IAAgBD,EAAS,MAAM;;AACnC,UAAI,CAACJ,EAAM;AACT,iBAAOM,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,kBAAiB;AAAA,IAIhD,CAAC,GAEKC,IAAoBH,EAAS,MAAM;;AACvC,UAAI,CAACJ,EAAM;AACT,iBAAOM,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,sBAAqB;AAAA,IAIpD,CAAC,GAEKE,IAAQJ,EAAS,MAAA;;AAAM,eAAAE,IAAAN,EAAM,iBAAN,gBAAAM,EAAoB,YAASG,IAAAT,EAAM,eAAN,gBAAAS,EAAkB,UAAS;AAAA,KAAC;AAEtF,WAAO;AAAA,MACL,MAAAR;AAAA,MACA,GAAGS,EAAgB;AAAA,MACnB,iBAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAV;AAAA,MACA,eAAAE;AAAA,MACA,mBAAAE;AAAA,MACA,OAAAC;AAAA,MACA,OAAAN;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const m=require("./NeonCardList.cjs.js"),e=require("vue"),u=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),k={class:"neon-card-list"},_={key:0,class:"neon-card-list__total"},g={class:"neon-card-list__card"},B={key:0,class:"neon-card-list__results-end"};function b(o,a,y,C,h,v){const t=e.resolveComponent("neon-inline"),s=e.resolveComponent("neon-link"),r=e.resolveComponent("neon-selectable-card"),d=e.resolveComponent("neon-stack"),i=e.resolveComponent("neon-button"),c=e.resolveComponent("neon-pagination");return e.openBlock(),e.createElementBlock("div",k,[o.slots.header||o.loadOnDemand?(e.openBlock(),e.createBlock(t,{key:0,class:"neon-card-list__header"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"header"),o.loadOnDemand?(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(o.n(o.items.length))+" "+e.toDisplayString(o.ofLabel)+" "+e.toDisplayString(o.n(o.total)),1)):e.createCommentVNode("",!0)]),_:3})):e.createCommentVNode("",!0),e.createVNode(d,{class:"neon-card-list__cards",gap:"z"},{default:e.withCtx(()=>[e.createVNode(e.TransitionGroup,{mode:"out-in",name:"neon-fade-transition",tag:"div"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,(n,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.href&&!n.disabled?(e.openBlock(),e.createBlock(s,{key:`${n.model.id??l}-link`,class:e.normalizeClass([o.color&&`neon-card-list__link--${o.color}`,"neon-card-list__link"]),href:n.href,"no-style":"","outline-style":"background"},{default:e.withCtx(()=>[e.createElementVNode("div",g,[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))])]),_:2},1032,["class","href"])):o.selectable?(e.openBlock(),e.createBlock(r,{key:`${n.model.id??l}-selectable`,class:e.normalizeClass([{"neon-card-list__card--disabled":n.disabled,"neon-card-list__card--selected":n.selected},"neon-card-list__card neon-card-list__card--selectable"]),disabled:n.disabled,"model-value":!!n.selected,"onUpdate:modelValue":p=>o.emit("toggleSelected",n.model.id,p)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))]),_:2},1032,["class","disabled","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock("div",{key:`${n.model.id??l}-link`,class:e.normalizeClass([{"neon-card-list__card--disabled":n.disabled},"neon-card-list__card"])},[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))],2))],64))),256))]),_:3})]),_:3}),o.loadOnDemand?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[o.items.length===o.total?(e.openBlock(),e.createElementBlock("span",B,e.toDisplayString(o.endOfResultsLabel),1)):(e.openBlock(),e.createBlock(i,{key:1,"button-style":o.NeonButtonStyle.Text,color:o.NeonFunctionalColor.Neutral,label:o.showMoreLabel,size:o.NeonSize.Small,class:"neon-card-list__show-more",onClick:a[0]||(a[0]=n=>o.emit("show-more",n))},null,8,["button-style","color","label","size"]))],64)):o.pagination?(e.openBlock(),e.createBlock(c,{key:2,color:o.color,"display-first-and-last":o.pagination.displayFirstAndLast,page:o.pagination.page,"page-size":o.pagination.pageSize,total:o.pagination.total,"url-template":o.pagination.urlTemplate},null,8,["color","display-first-and-last","page","page-size","total","url-template"])):e.createCommentVNode("",!0)])}const f=u(m,[["render",b]]);module.exports=f;
1
+ "use strict";const u=require("./NeonCardList.cjs.js"),e=require("vue"),k=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),_={class:"neon-card-list"},g={key:0,class:"neon-card-list__total"},B={class:"neon-card-list__card"},b={key:0,class:"neon-card-list__results-end"};function y(o,a,f,h,v,S){const t=e.resolveComponent("neon-inline"),s=e.resolveComponent("neon-link"),r=e.resolveComponent("neon-selectable-card"),d=e.resolveComponent("neon-splash-loader"),c=e.resolveComponent("neon-stack"),i=e.resolveComponent("neon-button"),p=e.resolveComponent("neon-pagination");return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(o.$slots,"filters"),o.slots.header||o.loadOnDemand?(e.openBlock(),e.createBlock(t,{key:0,class:"neon-card-list__header"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"header"),o.loadOnDemand?(e.openBlock(),e.createElementBlock("span",g,e.toDisplayString(o.n(o.items.length))+" "+e.toDisplayString(o.ofLabel)+" "+e.toDisplayString(o.n(o.total)),1)):e.createCommentVNode("",!0)]),_:3})):e.createCommentVNode("",!0),e.createVNode(c,{class:"neon-card-list__cards",gap:"z"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,(n,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.href&&!n.disabled?(e.openBlock(),e.createBlock(s,{key:`${n.model.id??l}-link`,class:e.normalizeClass([o.color&&`neon-card-list__link--${o.color}`,"neon-card-list__link"]),href:n.href,"no-style":"","outline-style":"background"},{default:e.withCtx(()=>[e.createElementVNode("div",B,[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))])]),_:2},1032,["class","href"])):o.selectable?(e.openBlock(),e.createBlock(r,{key:`${n.model.id??l}-selectable`,class:e.normalizeClass([{"neon-card-list__card--disabled":n.disabled,"neon-card-list__card--selected":n.selected},"neon-card-list__card neon-card-list__card--selectable"]),disabled:n.disabled,"model-value":!!n.selected,"onUpdate:modelValue":m=>o.emit("toggle-selected",n.model.id,m)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))]),_:2},1032,["class","disabled","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock("div",{key:`${n.model.id??l}-link`,class:e.normalizeClass([{"neon-card-list__card--disabled":n.disabled},"neon-card-list__card"])},[e.renderSlot(o.$slots,"card",e.mergeProps({ref_for:!0},{model:n.model,index:l}))],2))],64))),256)),o.loading?(e.openBlock(),e.createBlock(d,{key:0,color:o.color},null,8,["color"])):e.createCommentVNode("",!0)]),_:3}),o.loadOnDemand?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[o.items.length===o.total?(e.openBlock(),e.createElementBlock("span",b,e.toDisplayString(o.endOfResultsLabel),1)):(e.openBlock(),e.createBlock(i,{key:1,"button-style":o.NeonButtonStyle.Text,color:o.NeonFunctionalColor.Neutral,label:o.showMoreLabel,size:o.NeonSize.Small,class:"neon-card-list__show-more",onClick:a[0]||(a[0]=n=>o.emit("show-more",n))},null,8,["button-style","color","label","size"]))],64)):o.pagination?(e.openBlock(),e.createBlock(p,{key:2,color:o.color,"display-first-and-last":o.pagination.displayFirstAndLast,page:o.pagination.page,"page-size":o.pagination.pageSize,total:o.pagination.total,"url-template":o.pagination.urlTemplate},null,8,["color","display-first-and-last","page","page-size","total","url-template"])):e.createCommentVNode("",!0)])}const C=k(u,[["render",y]]);module.exports=C;
2
2
  //# sourceMappingURL=NeonCardList.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonCardList.vue.cjs.js","sources":["../../../../src/components/layout/card-list/NeonCardList.vue"],"sourcesContent":["<template>\n <div class=\"neon-card-list\">\n <neon-inline v-if=\"slots.header || loadOnDemand\" class=\"neon-card-list__header\">\n <!-- @slot slot for providing filters or titles for the card list aligned next to the result count -->\n <slot name=\"header\"></slot>\n <span v-if=\"loadOnDemand\" class=\"neon-card-list__total\">{{ n(items.length) }} {{ ofLabel }} {{ n(total) }}</span>\n </neon-inline>\n <neon-stack class=\"neon-card-list__cards\" gap=\"z\">\n <transition-group mode=\"out-in\" name=\"neon-fade-transition\" tag=\"div\">\n <template v-for=\"(item, index) in items\">\n <neon-link\n v-if=\"item.href && !item.disabled\"\n :key=\"`${item.model.id ?? index}-link`\"\n :class=\"color && `neon-card-list__link--${color}`\"\n :href=\"item.href\"\n class=\"neon-card-list__link\"\n no-style\n outline-style=\"background\"\n >\n <div class=\"neon-card-list__card\">\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: item.model, index: index }\"></slot>\n </div>\n </neon-link>\n <neon-selectable-card\n v-else-if=\"selectable\"\n :key=\"`${item.model.id ?? index}-selectable`\"\n :class=\"{\n 'neon-card-list__card--disabled': item.disabled,\n 'neon-card-list__card--selected': item.selected,\n }\"\n :disabled=\"item.disabled\"\n :model-value=\"!!item.selected\"\n class=\"neon-card-list__card neon-card-list__card--selectable\"\n @update:model-value=\"emit('toggleSelected', item.model.id, $event)\"\n >\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: item.model, index: index }\"></slot>\n </neon-selectable-card>\n <div\n v-else\n :key=\"`${item.model.id ?? index}-link`\"\n :class=\"{ 'neon-card-list__card--disabled': item.disabled }\"\n class=\"neon-card-list__card\"\n >\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: item.model, index: index }\"></slot>\n </div>\n </template>\n </transition-group>\n </neon-stack>\n <template v-if=\"loadOnDemand\">\n <span v-if=\"items.length === total\" class=\"neon-card-list__results-end\">{{ endOfResultsLabel }}</span>\n <neon-button\n v-else\n :button-style=\"NeonButtonStyle.Text\"\n :color=\"NeonFunctionalColor.Neutral\"\n :label=\"showMoreLabel\"\n :size=\"NeonSize.Small\"\n class=\"neon-card-list__show-more\"\n @click=\"emit('show-more', $event)\"\n />\n </template>\n <neon-pagination\n v-else-if=\"pagination\"\n :color=\"color\"\n :display-first-and-last=\"pagination.displayFirstAndLast\"\n :page=\"pagination.page\"\n :page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n :url-template=\"pagination.urlTemplate\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonCardList.ts\"></script>\n"],"names":["_hoisted_1","_hoisted_3","_openBlock","_createElementBlock","_ctx","_createBlock","_component_neon_inline","_renderSlot","_hoisted_2","_toDisplayString","_createVNode","_component_neon_stack","_TransitionGroup","_Fragment","_renderList","item","index","_component_neon_link","_normalizeClass","_createElementVNode","_mergeProps","_component_neon_selectable_card","$event","_hoisted_4","_component_neon_button","_cache","_component_neon_pagination"],"mappings":"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"}
1
+ {"version":3,"file":"NeonCardList.vue.cjs.js","sources":["../../../../src/components/layout/card-list/NeonCardList.vue"],"sourcesContent":["<template>\n <div class=\"neon-card-list\">\n <!-- @slot slot for providing a filter bar component -->\n <slot name=\"filters\"></slot>\n <neon-inline v-if=\"slots.header || loadOnDemand\" class=\"neon-card-list__header\">\n <!-- @slot slot for providing titles for the card list aligned next to the result count -->\n <slot name=\"header\"></slot>\n <span v-if=\"loadOnDemand\" class=\"neon-card-list__total\">{{ n(items.length) }} {{ ofLabel }} {{ n(total) }}</span>\n </neon-inline>\n <neon-stack class=\"neon-card-list__cards\" gap=\"z\">\n <template v-for=\"(item, index) in items\">\n <neon-link\n v-if=\"item.href && !item.disabled\"\n :key=\"`${item.model.id ?? index}-link`\"\n :class=\"color && `neon-card-list__link--${color}`\"\n :href=\"item.href\"\n class=\"neon-card-list__link\"\n no-style\n outline-style=\"background\"\n >\n <div class=\"neon-card-list__card\">\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: item.model, index: index }\"></slot>\n </div>\n </neon-link>\n <neon-selectable-card\n v-else-if=\"selectable\"\n :key=\"`${item.model.id ?? index}-selectable`\"\n :class=\"{\n 'neon-card-list__card--disabled': item.disabled,\n 'neon-card-list__card--selected': item.selected,\n }\"\n :disabled=\"item.disabled\"\n :model-value=\"!!item.selected\"\n class=\"neon-card-list__card neon-card-list__card--selectable\"\n @update:model-value=\"emit('toggle-selected', item.model.id, $event)\"\n >\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: item.model, index: index }\"></slot>\n </neon-selectable-card>\n <div\n v-else\n :key=\"`${item.model.id ?? index}-link`\"\n :class=\"{ 'neon-card-list__card--disabled': item.disabled }\"\n class=\"neon-card-list__card\"\n >\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: item.model, index: index }\"></slot>\n </div>\n </template>\n <neon-splash-loader v-if=\"loading\" :color=\"color\" />\n </neon-stack>\n <template v-if=\"loadOnDemand\">\n <span v-if=\"items.length === total\" class=\"neon-card-list__results-end\">{{ endOfResultsLabel }}</span>\n <neon-button\n v-else\n :button-style=\"NeonButtonStyle.Text\"\n :color=\"NeonFunctionalColor.Neutral\"\n :label=\"showMoreLabel\"\n :size=\"NeonSize.Small\"\n class=\"neon-card-list__show-more\"\n @click=\"emit('show-more', $event)\"\n />\n </template>\n <neon-pagination\n v-else-if=\"pagination\"\n :color=\"color\"\n :display-first-and-last=\"pagination.displayFirstAndLast\"\n :page=\"pagination.page\"\n :page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n :url-template=\"pagination.urlTemplate\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonCardList.ts\"></script>\n"],"names":["_hoisted_1","_hoisted_3","_openBlock","_createElementBlock","_renderSlot","_ctx","_createBlock","_component_neon_inline","_hoisted_2","_toDisplayString","_createVNode","_component_neon_stack","_Fragment","_renderList","item","index","_component_neon_link","_normalizeClass","_createElementVNode","_mergeProps","_component_neon_selectable_card","$event","_component_neon_splash_loader","_hoisted_4","_component_neon_button","_cache","_component_neon_pagination"],"mappings":"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"}