@aotearoan/neon 23.3.0 → 23.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/common/utils/NeonClosableUtils.cjs.js +1 -1
  2. package/dist/common/utils/NeonClosableUtils.cjs.js.map +1 -1
  3. package/dist/common/utils/NeonClosableUtils.es.js +1 -1
  4. package/dist/common/utils/NeonClosableUtils.es.js.map +1 -1
  5. package/dist/components/layout/modal/NeonModal.cjs.js +1 -1
  6. package/dist/components/layout/modal/NeonModal.cjs.js.map +1 -1
  7. package/dist/components/layout/modal/NeonModal.es.js +26 -20
  8. package/dist/components/layout/modal/NeonModal.es.js.map +1 -1
  9. package/dist/components/layout/modal/NeonModal.vue.cjs.js +1 -1
  10. package/dist/components/layout/modal/NeonModal.vue.cjs.js.map +1 -1
  11. package/dist/components/layout/modal/NeonModal.vue.es.js +9 -9
  12. package/dist/components/layout/modal/NeonModal.vue.es.js.map +1 -1
  13. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js +1 -1
  14. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js.map +1 -1
  15. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js +15 -15
  16. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js.map +1 -1
  17. package/dist/src/common/models/NeonCarouselImage.d.ts +4 -0
  18. package/dist/src/components/feedback/dialog/NeonDialog.d.ts +11 -6
  19. package/dist/src/components/layout/modal/NeonModal.d.ts +38 -16
  20. package/package.json +1 -1
  21. package/src/sass/components/_field-group.scss +8 -1
  22. package/src/sass/components/_input-indicator.scss +2 -0
  23. package/src/sass/components/_modal.scss +73 -53
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var o=(s,e,t)=>e in s?n(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>o(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class a{constructor(e,t){i(this,"target");i(this,"closeCallback");i(this,"_open",!1);this.target=e,this.closeCallback=t,document.addEventListener("keydown",this.escapeKeyListener.bind(this),{passive:!0}),document.addEventListener("mousedown",this.handleOutsideClick.bind(this),{passive:!0}),document.addEventListener("touchstart",this.handleOutsideClick.bind(this),{passive:!0})}open(){this._open=!0,document.body.classList.add("neon-closable--open")}destroy(){document.removeEventListener("keydown",this.escapeKeyListener.bind(this)),document.removeEventListener("mousedown",this.handleOutsideClick.bind(this)),document.removeEventListener("touchstart",this.handleOutsideClick.bind(this))}escapeKeyListener(e){e.key==="Escape"&&this.close()}close(){this.closeCallback(),this._open&&(document.body.classList.remove("neon-closable--open"),this._open=!1)}handleOutsideClick(e){const t=e.target&&e.target;return t&&!this.target.contains(t)&&this.close(),!0}}exports.NeonClosableUtils=a;
1
+ "use strict";var n=Object.defineProperty;var o=(s,e,t)=>e in s?n(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>o(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class a{constructor(e,t){i(this,"target");i(this,"closeCallback");i(this,"_open",!1);this.target=e,this.closeCallback=t,document.addEventListener("keydown",this.escapeKeyListener.bind(this),{passive:!0}),document.addEventListener("mousedown",this.handleOutsideClick.bind(this),{passive:!0}),document.addEventListener("touchstart",this.handleOutsideClick.bind(this),{passive:!0})}open(){this._open=!0,document.body.classList.add("neon-closable--open")}destroy(){this.close(),document.removeEventListener("keydown",this.escapeKeyListener.bind(this)),document.removeEventListener("mousedown",this.handleOutsideClick.bind(this)),document.removeEventListener("touchstart",this.handleOutsideClick.bind(this))}escapeKeyListener(e){e.key==="Escape"&&this.close()}close(){this.closeCallback(),this._open&&(document.body.classList.remove("neon-closable--open"),this._open=!1)}handleOutsideClick(e){const t=e.target&&e.target;return t&&!this.target.contains(t)&&this.close(),!0}}exports.NeonClosableUtils=a;
2
2
  //# sourceMappingURL=NeonClosableUtils.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonClosableUtils.cjs.js","sources":["../../../src/common/utils/NeonClosableUtils.ts"],"sourcesContent":["/**\n * Utility class for assisting with closing events for popup containers like modals, dropdowns, selects & drawers.\n * Detects click & touch events outside the popup element as well as escape key triggers.\n */\nexport class NeonClosableUtils {\n private readonly target: HTMLElement;\n private readonly closeCallback: () => void;\n private _open = false;\n\n /**\n * Initialise utility to listen to keyboard, mouse & touch events.\n *\n * @param target The popup <em>closable</em> element.\n * @param closeCallback Callback function triggered when an event fires that should close the target\n * element.\n */\n public constructor(target: HTMLElement, closeCallback: () => void) {\n this.target = target;\n this.closeCallback = closeCallback;\n document.addEventListener('keydown', this.escapeKeyListener.bind(this), { passive: true });\n document.addEventListener('mousedown', this.handleOutsideClick.bind(this), { passive: true });\n document.addEventListener('touchstart', this.handleOutsideClick.bind(this), { passive: true });\n }\n\n /**\n * Inform the class that the target is now open. This adds the global <em>neon-closable--open</em> class to the\n * document body to prevent page scrolling while a popup is open.\n */\n public open() {\n this._open = true;\n document.body.classList.add('neon-closable--open');\n }\n\n /**\n * Destroy the listeners. Call this in the parent component's onUnmounted method.\n */\n public destroy() {\n document.removeEventListener('keydown', this.escapeKeyListener.bind(this));\n document.removeEventListener('mousedown', this.handleOutsideClick.bind(this));\n document.removeEventListener('touchstart', this.handleOutsideClick.bind(this));\n }\n\n escapeKeyListener(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n /**\n * Handle closing of the target element. This triggers the closeCallback & removes the global\n * <em>neon-closable--open</em> class from the document body.\n */\n public close() {\n this.closeCallback();\n\n if (this._open) {\n document.body.classList.remove('neon-closable--open');\n this._open = false;\n }\n }\n\n private handleOutsideClick(event: MouseEvent | TouchEvent) {\n const target = event.target && (event.target as Element);\n if (target && !this.target.contains(target)) {\n this.close();\n }\n return true;\n }\n}\n"],"names":["NeonClosableUtils","target","closeCallback","__publicField","event"],"mappings":"oPAIO,MAAMA,CAAkB,CAYtB,YAAYC,EAAqBC,EAA2B,CAXlDC,EAAA,eACAA,EAAA,sBACTA,EAAA,aAAQ,IAUd,KAAK,OAASF,EACd,KAAK,cAAgBC,EACrB,SAAS,iBAAiB,UAAW,KAAK,kBAAkB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,EACzF,SAAS,iBAAiB,YAAa,KAAK,mBAAmB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,EAC5F,SAAS,iBAAiB,aAAc,KAAK,mBAAmB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,CAC/F,CAMO,MAAO,CACZ,KAAK,MAAQ,GACb,SAAS,KAAK,UAAU,IAAI,qBAAqB,CACnD,CAKO,SAAU,CACf,SAAS,oBAAoB,UAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC,EACzE,SAAS,oBAAoB,YAAa,KAAK,mBAAmB,KAAK,IAAI,CAAC,EAC5E,SAAS,oBAAoB,aAAc,KAAK,mBAAmB,KAAK,IAAI,CAAC,CAC/E,CAEA,kBAAkBE,EAAsB,CAClCA,EAAM,MAAQ,UAChB,KAAK,MAAA,CAET,CAMO,OAAQ,CACb,KAAK,cAAA,EAED,KAAK,QACP,SAAS,KAAK,UAAU,OAAO,qBAAqB,EACpD,KAAK,MAAQ,GAEjB,CAEQ,mBAAmBA,EAAgC,CACzD,MAAMH,EAASG,EAAM,QAAWA,EAAM,OACtC,OAAIH,GAAU,CAAC,KAAK,OAAO,SAASA,CAAM,GACxC,KAAK,MAAA,EAEA,EACT,CACF"}
1
+ {"version":3,"file":"NeonClosableUtils.cjs.js","sources":["../../../src/common/utils/NeonClosableUtils.ts"],"sourcesContent":["/**\n * Utility class for assisting with closing events for popup containers like modals, dropdowns, selects & drawers.\n * Detects click & touch events outside the popup element as well as escape key triggers.\n */\nexport class NeonClosableUtils {\n private readonly target: HTMLElement;\n private readonly closeCallback: () => void;\n private _open = false;\n\n /**\n * Initialise utility to listen to keyboard, mouse & touch events.\n *\n * @param target The popup <em>closable</em> element.\n * @param closeCallback Callback function triggered when an event fires that should close the target\n * element.\n */\n public constructor(target: HTMLElement, closeCallback: () => void) {\n this.target = target;\n this.closeCallback = closeCallback;\n document.addEventListener('keydown', this.escapeKeyListener.bind(this), { passive: true });\n document.addEventListener('mousedown', this.handleOutsideClick.bind(this), { passive: true });\n document.addEventListener('touchstart', this.handleOutsideClick.bind(this), { passive: true });\n }\n\n /**\n * Inform the class that the target is now open. This adds the global <em>neon-closable--open</em> class to the\n * document body to prevent page scrolling while a popup is open.\n */\n public open() {\n this._open = true;\n document.body.classList.add('neon-closable--open');\n }\n\n /**\n * Destroy the listeners. Call this in the parent component's onUnmounted method.\n */\n public destroy() {\n this.close();\n document.removeEventListener('keydown', this.escapeKeyListener.bind(this));\n document.removeEventListener('mousedown', this.handleOutsideClick.bind(this));\n document.removeEventListener('touchstart', this.handleOutsideClick.bind(this));\n }\n\n escapeKeyListener(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n /**\n * Handle closing of the target element. This triggers the closeCallback & removes the global\n * <em>neon-closable--open</em> class from the document body.\n */\n public close() {\n this.closeCallback();\n\n if (this._open) {\n document.body.classList.remove('neon-closable--open');\n this._open = false;\n }\n }\n\n private handleOutsideClick(event: MouseEvent | TouchEvent) {\n const target = event.target && (event.target as Element);\n if (target && !this.target.contains(target)) {\n this.close();\n }\n return true;\n }\n}\n"],"names":["NeonClosableUtils","target","closeCallback","__publicField","event"],"mappings":"oPAIO,MAAMA,CAAkB,CAYtB,YAAYC,EAAqBC,EAA2B,CAXlDC,EAAA,eACAA,EAAA,sBACTA,EAAA,aAAQ,IAUd,KAAK,OAASF,EACd,KAAK,cAAgBC,EACrB,SAAS,iBAAiB,UAAW,KAAK,kBAAkB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,EACzF,SAAS,iBAAiB,YAAa,KAAK,mBAAmB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,EAC5F,SAAS,iBAAiB,aAAc,KAAK,mBAAmB,KAAK,IAAI,EAAG,CAAE,QAAS,GAAM,CAC/F,CAMO,MAAO,CACZ,KAAK,MAAQ,GACb,SAAS,KAAK,UAAU,IAAI,qBAAqB,CACnD,CAKO,SAAU,CACf,KAAK,MAAA,EACL,SAAS,oBAAoB,UAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC,EACzE,SAAS,oBAAoB,YAAa,KAAK,mBAAmB,KAAK,IAAI,CAAC,EAC5E,SAAS,oBAAoB,aAAc,KAAK,mBAAmB,KAAK,IAAI,CAAC,CAC/E,CAEA,kBAAkBE,EAAsB,CAClCA,EAAM,MAAQ,UAChB,KAAK,MAAA,CAET,CAMO,OAAQ,CACb,KAAK,cAAA,EAED,KAAK,QACP,SAAS,KAAK,UAAU,OAAO,qBAAqB,EACpD,KAAK,MAAQ,GAEjB,CAEQ,mBAAmBA,EAAgC,CACzD,MAAMH,EAASG,EAAM,QAAWA,EAAM,OACtC,OAAIH,GAAU,CAAC,KAAK,OAAO,SAASA,CAAM,GACxC,KAAK,MAAA,EAEA,EACT,CACF"}
@@ -26,7 +26,7 @@ class d {
26
26
  * Destroy the listeners. Call this in the parent component's onUnmounted method.
27
27
  */
28
28
  destroy() {
29
- document.removeEventListener("keydown", this.escapeKeyListener.bind(this)), document.removeEventListener("mousedown", this.handleOutsideClick.bind(this)), document.removeEventListener("touchstart", this.handleOutsideClick.bind(this));
29
+ this.close(), document.removeEventListener("keydown", this.escapeKeyListener.bind(this)), document.removeEventListener("mousedown", this.handleOutsideClick.bind(this)), document.removeEventListener("touchstart", this.handleOutsideClick.bind(this));
30
30
  }
31
31
  escapeKeyListener(e) {
32
32
  e.key === "Escape" && this.close();
@@ -1 +1 @@
1
- {"version":3,"file":"NeonClosableUtils.es.js","sources":["../../../src/common/utils/NeonClosableUtils.ts"],"sourcesContent":["/**\n * Utility class for assisting with closing events for popup containers like modals, dropdowns, selects & drawers.\n * Detects click & touch events outside the popup element as well as escape key triggers.\n */\nexport class NeonClosableUtils {\n private readonly target: HTMLElement;\n private readonly closeCallback: () => void;\n private _open = false;\n\n /**\n * Initialise utility to listen to keyboard, mouse & touch events.\n *\n * @param target The popup <em>closable</em> element.\n * @param closeCallback Callback function triggered when an event fires that should close the target\n * element.\n */\n public constructor(target: HTMLElement, closeCallback: () => void) {\n this.target = target;\n this.closeCallback = closeCallback;\n document.addEventListener('keydown', this.escapeKeyListener.bind(this), { passive: true });\n document.addEventListener('mousedown', this.handleOutsideClick.bind(this), { passive: true });\n document.addEventListener('touchstart', this.handleOutsideClick.bind(this), { passive: true });\n }\n\n /**\n * Inform the class that the target is now open. This adds the global <em>neon-closable--open</em> class to the\n * document body to prevent page scrolling while a popup is open.\n */\n public open() {\n this._open = true;\n document.body.classList.add('neon-closable--open');\n }\n\n /**\n * Destroy the listeners. Call this in the parent component's onUnmounted method.\n */\n public destroy() {\n document.removeEventListener('keydown', this.escapeKeyListener.bind(this));\n document.removeEventListener('mousedown', this.handleOutsideClick.bind(this));\n document.removeEventListener('touchstart', this.handleOutsideClick.bind(this));\n }\n\n escapeKeyListener(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n /**\n * Handle closing of the target element. This triggers the closeCallback & removes the global\n * <em>neon-closable--open</em> class from the document body.\n */\n public close() {\n this.closeCallback();\n\n if (this._open) {\n document.body.classList.remove('neon-closable--open');\n this._open = false;\n }\n }\n\n private handleOutsideClick(event: MouseEvent | TouchEvent) {\n const target = event.target && (event.target as Element);\n if (target && !this.target.contains(target)) {\n this.close();\n }\n return true;\n }\n}\n"],"names":["NeonClosableUtils","target","closeCallback","__publicField","event"],"mappings":";;;AAIO,MAAMA,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYtB,YAAYC,GAAqBC,GAA2B;AAXlD,IAAAC,EAAA;AACA,IAAAA,EAAA;AACT,IAAAA,EAAA,eAAQ;AAUd,SAAK,SAASF,GACd,KAAK,gBAAgBC,GACrB,SAAS,iBAAiB,WAAW,KAAK,kBAAkB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM,GACzF,SAAS,iBAAiB,aAAa,KAAK,mBAAmB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM,GAC5F,SAAS,iBAAiB,cAAc,KAAK,mBAAmB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM;AAAA,EAC/F;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,OAAO;AACZ,SAAK,QAAQ,IACb,SAAS,KAAK,UAAU,IAAI,qBAAqB;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKO,UAAU;AACf,aAAS,oBAAoB,WAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC,GACzE,SAAS,oBAAoB,aAAa,KAAK,mBAAmB,KAAK,IAAI,CAAC,GAC5E,SAAS,oBAAoB,cAAc,KAAK,mBAAmB,KAAK,IAAI,CAAC;AAAA,EAC/E;AAAA,EAEA,kBAAkBE,GAAsB;AACtC,IAAIA,EAAM,QAAQ,YAChB,KAAK,MAAA;AAAA,EAET;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,QAAQ;AACb,SAAK,cAAA,GAED,KAAK,UACP,SAAS,KAAK,UAAU,OAAO,qBAAqB,GACpD,KAAK,QAAQ;AAAA,EAEjB;AAAA,EAEQ,mBAAmBA,GAAgC;AACzD,UAAMH,IAASG,EAAM,UAAWA,EAAM;AACtC,WAAIH,KAAU,CAAC,KAAK,OAAO,SAASA,CAAM,KACxC,KAAK,MAAA,GAEA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"NeonClosableUtils.es.js","sources":["../../../src/common/utils/NeonClosableUtils.ts"],"sourcesContent":["/**\n * Utility class for assisting with closing events for popup containers like modals, dropdowns, selects & drawers.\n * Detects click & touch events outside the popup element as well as escape key triggers.\n */\nexport class NeonClosableUtils {\n private readonly target: HTMLElement;\n private readonly closeCallback: () => void;\n private _open = false;\n\n /**\n * Initialise utility to listen to keyboard, mouse & touch events.\n *\n * @param target The popup <em>closable</em> element.\n * @param closeCallback Callback function triggered when an event fires that should close the target\n * element.\n */\n public constructor(target: HTMLElement, closeCallback: () => void) {\n this.target = target;\n this.closeCallback = closeCallback;\n document.addEventListener('keydown', this.escapeKeyListener.bind(this), { passive: true });\n document.addEventListener('mousedown', this.handleOutsideClick.bind(this), { passive: true });\n document.addEventListener('touchstart', this.handleOutsideClick.bind(this), { passive: true });\n }\n\n /**\n * Inform the class that the target is now open. This adds the global <em>neon-closable--open</em> class to the\n * document body to prevent page scrolling while a popup is open.\n */\n public open() {\n this._open = true;\n document.body.classList.add('neon-closable--open');\n }\n\n /**\n * Destroy the listeners. Call this in the parent component's onUnmounted method.\n */\n public destroy() {\n this.close();\n document.removeEventListener('keydown', this.escapeKeyListener.bind(this));\n document.removeEventListener('mousedown', this.handleOutsideClick.bind(this));\n document.removeEventListener('touchstart', this.handleOutsideClick.bind(this));\n }\n\n escapeKeyListener(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n /**\n * Handle closing of the target element. This triggers the closeCallback & removes the global\n * <em>neon-closable--open</em> class from the document body.\n */\n public close() {\n this.closeCallback();\n\n if (this._open) {\n document.body.classList.remove('neon-closable--open');\n this._open = false;\n }\n }\n\n private handleOutsideClick(event: MouseEvent | TouchEvent) {\n const target = event.target && (event.target as Element);\n if (target && !this.target.contains(target)) {\n this.close();\n }\n return true;\n }\n}\n"],"names":["NeonClosableUtils","target","closeCallback","__publicField","event"],"mappings":";;;AAIO,MAAMA,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYtB,YAAYC,GAAqBC,GAA2B;AAXlD,IAAAC,EAAA;AACA,IAAAA,EAAA;AACT,IAAAA,EAAA,eAAQ;AAUd,SAAK,SAASF,GACd,KAAK,gBAAgBC,GACrB,SAAS,iBAAiB,WAAW,KAAK,kBAAkB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM,GACzF,SAAS,iBAAiB,aAAa,KAAK,mBAAmB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM,GAC5F,SAAS,iBAAiB,cAAc,KAAK,mBAAmB,KAAK,IAAI,GAAG,EAAE,SAAS,IAAM;AAAA,EAC/F;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,OAAO;AACZ,SAAK,QAAQ,IACb,SAAS,KAAK,UAAU,IAAI,qBAAqB;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKO,UAAU;AACf,SAAK,MAAA,GACL,SAAS,oBAAoB,WAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC,GACzE,SAAS,oBAAoB,aAAa,KAAK,mBAAmB,KAAK,IAAI,CAAC,GAC5E,SAAS,oBAAoB,cAAc,KAAK,mBAAmB,KAAK,IAAI,CAAC;AAAA,EAC/E;AAAA,EAEA,kBAAkBE,GAAsB;AACtC,IAAIA,EAAM,QAAQ,YAChB,KAAK,MAAA;AAAA,EAET;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,QAAQ;AACb,SAAK,cAAA,GAED,KAAK,UACP,SAAS,KAAK,UAAU,OAAO,qBAAqB,GACpD,KAAK,QAAQ;AAAA,EAEjB;AAAA,EAEQ,mBAAmBA,GAAgC;AACzD,UAAMH,IAASG,EAAM,UAAWA,EAAM;AACtC,WAAIH,KAAU,CAAC,KAAK,OAAO,SAASA,CAAM,KACxC,KAAK,MAAA,GAEA;AAAA,EACT;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),r=require("../../../common/utils/NeonClosableUtils.cjs.js"),c=require("../../user-input/button/NeonButton.vue.cjs.js"),d=e.defineComponent({name:"NeonDrawer",components:{NeonButton:c},props:{open:{type:Boolean,required:!0},dismissible:{type:Boolean,default:!0},opaque:{type:Boolean,default:!1},showTopNav:{type:Boolean,default:!1}},emits:["close"],setup(o,{emit:a}){const l=e.ref(null),s=e.ref(null),i=()=>{a("close")},t=()=>{o.open&&o.dismissible&&i()};return e.onMounted(()=>{o.dismissible&&(s.value=l.value&&new r.NeonClosableUtils(l.value,t)||null)}),e.onUnmounted(()=>{var n;(n=s.value)==null||n.destroy()}),e.watch(()=>o.open,n=>{var u;n&&((u=s.value)==null||u.open())},{immediate:!0}),{modal:l,close:t}}});module.exports=d;
1
+ "use strict";const e=require("vue"),c=require("../../../common/utils/NeonClosableUtils.cjs.js"),d=require("../../user-input/button/NeonButton.vue.cjs.js"),p=require("../../../common/enums/NeonResponsive.cjs.js"),f=e.defineComponent({name:"NeonDrawer",components:{NeonButton:d},props:{open:{type:Boolean,required:!0},dismissible:{type:Boolean,default:!0},opaque:{type:Boolean,default:!1},showTopNav:{type:Boolean,default:!1},breakpoint:{type:String,default:p.NeonResponsive.Mobile}},emits:["close"],setup(o,{emit:a}){const l=e.ref(null),n=e.ref(null),r=()=>{a("close")},t=()=>{o.open&&o.dismissible&&r()};return e.onMounted(()=>{o.dismissible&&(n.value=l.value&&new c.NeonClosableUtils(l.value,t)||null)}),e.onUnmounted(()=>{var s;(s=n.value)==null||s.destroy()}),e.watch(()=>o.open,s=>{var i,u;s?(i=n.value)==null||i.open():(u=n.value)==null||u.close()},{immediate:!0}),{modal:l,close:t}}});module.exports=f;
2
2
  //# sourceMappingURL=NeonModal.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonModal.cjs.js","sources":["../../../../src/components/layout/modal/NeonModal.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\n\n/**\n * A modal dialog component. This will be rendered above the content of the main window and can either be dismissed by the user or configured to require user interaction before dismissal.\n */\nexport default defineComponent({\n name: 'NeonDrawer',\n components: {\n NeonButton,\n },\n props: {\n /**\n * Whether the modal is currently open.\n */\n open: { type: Boolean, required: true },\n /**\n * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Increase the opacity so that the page behind the modal is no longer visible\n */\n opaque: { type: Boolean, default: false },\n /**\n * Keep the top nav visible when the modal is open\n */\n showTopNav: { type: Boolean, default: false },\n },\n emits: [\n /**\n * Emitted when the modal is closed.\n * @type {void}\n */\n 'close',\n ],\n setup(props, { emit }) {\n const modal = ref(null);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('close');\n };\n\n const close = () => {\n if (props.open && props.dismissible) {\n onClose();\n }\n };\n\n onMounted(() => {\n if (props.dismissible) {\n closableUtils.value = (modal.value && new NeonClosableUtils(modal.value, close)) || null;\n }\n });\n\n onUnmounted(() => {\n closableUtils.value?.destroy();\n });\n\n watch(\n () => props.open,\n (value) => {\n if (value) {\n closableUtils.value?.open();\n }\n },\n { immediate: true },\n );\n\n return {\n modal,\n close,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","props","emit","modal","ref","closableUtils","onClose","close","onMounted","NeonClosableUtils","onUnmounted","_a","watch","value"],"mappings":"2JAOAA,EAAeC,kBAAgB,CAC7B,KAAM,aACN,WAAY,CACV,WAAAC,CAAA,EAEF,MAAO,CAIL,KAAM,CAAE,KAAM,QAAS,SAAU,EAAA,EAIjC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAA,EAIvC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAA,EAIlC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAA,CAAM,EAE9C,MAAO,CAKL,OAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CACrB,MAAMC,EAAQC,EAAAA,IAAI,IAAI,EAChBC,EAAgBD,EAAAA,IAA8B,IAAI,EAElDE,EAAU,IAAM,CACpBJ,EAAK,OAAO,CACd,EAEMK,EAAQ,IAAM,CACdN,EAAM,MAAQA,EAAM,aACtBK,EAAA,CAEJ,EAEAE,OAAAA,EAAAA,UAAU,IAAM,CACVP,EAAM,cACRI,EAAc,MAASF,EAAM,OAAS,IAAIM,EAAAA,kBAAkBN,EAAM,MAAOI,CAAK,GAAM,KAExF,CAAC,EAEDG,EAAAA,YAAY,IAAM,QAChBC,EAAAN,EAAc,QAAd,MAAAM,EAAqB,SACvB,CAAC,EAEDC,EAAAA,MACE,IAAMX,EAAM,KACXY,GAAU,OACLA,KACFF,EAAAN,EAAc,QAAd,MAAAM,EAAqB,OAEzB,EACA,CAAE,UAAW,EAAA,CAAK,EAGb,CACL,MAAAR,EACA,MAAAI,CAAA,CAEJ,CACF,CAAC"}
1
+ {"version":3,"file":"NeonModal.cjs.js","sources":["../../../../src/components/layout/modal/NeonModal.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport { NeonResponsive } from '@/common/enums/NeonResponsive';\n\n/**\n * A modal dialog component. This will be rendered above the content of the main window and can either be dismissed by the user or configured to require user interaction before dismissal.\n */\nexport default defineComponent({\n name: 'NeonDrawer',\n components: {\n NeonButton,\n },\n props: {\n /**\n * Whether the modal is currently open.\n */\n open: { type: Boolean, required: true },\n /**\n * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Increase the opacity so that the page behind the modal is no longer visible\n */\n opaque: { type: Boolean, default: false },\n /**\n * Keep the top nav visible when the modal is open\n */\n showTopNav: { type: Boolean, default: false },\n /**\n * Responsive breakpoint below which point the modal becomes fullscreen.\n * Supports NeonResponsive.Mobile & NeonResponsive.MobileLarge.\n */\n breakpoint: { type: String as () => NeonResponsive, default: NeonResponsive.Mobile },\n },\n emits: [\n /**\n * Emitted when the modal is closed.\n * @type {void}\n */\n 'close',\n ],\n setup(props, { emit }) {\n const modal = ref(null);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('close');\n };\n\n const close = () => {\n if (props.open && props.dismissible) {\n onClose();\n }\n };\n\n onMounted(() => {\n if (props.dismissible) {\n closableUtils.value = (modal.value && new NeonClosableUtils(modal.value, close)) || null;\n }\n });\n\n onUnmounted(() => {\n closableUtils.value?.destroy();\n });\n\n watch(\n () => props.open,\n (value) => {\n if (value) {\n closableUtils.value?.open();\n } else {\n closableUtils.value?.close();\n }\n },\n { immediate: true },\n );\n\n return {\n modal,\n close,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonResponsive","props","emit","modal","ref","closableUtils","onClose","close","onMounted","NeonClosableUtils","onUnmounted","_a","watch","value","_b"],"mappings":"oNAQAA,EAAeC,kBAAgB,CAC7B,KAAM,aACN,WAAY,CACV,WAAAC,CAAA,EAEF,MAAO,CAIL,KAAM,CAAE,KAAM,QAAS,SAAU,EAAA,EAIjC,YAAa,CAAE,KAAM,QAAS,QAAS,EAAA,EAIvC,OAAQ,CAAE,KAAM,QAAS,QAAS,EAAA,EAIlC,WAAY,CAAE,KAAM,QAAS,QAAS,EAAA,EAKtC,WAAY,CAAE,KAAM,OAAgC,QAASC,EAAAA,eAAe,MAAA,CAAO,EAErF,MAAO,CAKL,OAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CACrB,MAAMC,EAAQC,EAAAA,IAAI,IAAI,EAChBC,EAAgBD,EAAAA,IAA8B,IAAI,EAElDE,EAAU,IAAM,CACpBJ,EAAK,OAAO,CACd,EAEMK,EAAQ,IAAM,CACdN,EAAM,MAAQA,EAAM,aACtBK,EAAA,CAEJ,EAEAE,OAAAA,EAAAA,UAAU,IAAM,CACVP,EAAM,cACRI,EAAc,MAASF,EAAM,OAAS,IAAIM,EAAAA,kBAAkBN,EAAM,MAAOI,CAAK,GAAM,KAExF,CAAC,EAEDG,EAAAA,YAAY,IAAM,QAChBC,EAAAN,EAAc,QAAd,MAAAM,EAAqB,SACvB,CAAC,EAEDC,EAAAA,MACE,IAAMX,EAAM,KACXY,GAAU,SACLA,GACFF,EAAAN,EAAc,QAAd,MAAAM,EAAqB,QAErBG,EAAAT,EAAc,QAAd,MAAAS,EAAqB,OAEzB,EACA,CAAE,UAAW,EAAA,CAAK,EAGb,CACL,MAAAX,EACA,MAAAI,CAAA,CAEJ,CACF,CAAC"}
@@ -1,10 +1,11 @@
1
- import { defineComponent as m, ref as a, onMounted as r, onUnmounted as f, watch as d } from "vue";
2
- import { NeonClosableUtils as p } from "../../../common/utils/NeonClosableUtils.es.js";
3
- import c from "../../user-input/button/NeonButton.vue.es.js";
4
- const B = m({
1
+ import { defineComponent as r, ref as i, onMounted as f, onUnmounted as p, watch as d } from "vue";
2
+ import { NeonClosableUtils as c } from "../../../common/utils/NeonClosableUtils.es.js";
3
+ import v from "../../user-input/button/NeonButton.vue.es.js";
4
+ import { NeonResponsive as b } from "../../../common/enums/NeonResponsive.es.js";
5
+ const C = r({
5
6
  name: "NeonDrawer",
6
7
  components: {
7
- NeonButton: c
8
+ NeonButton: v
8
9
  },
9
10
  props: {
10
11
  /**
@@ -22,7 +23,12 @@ const B = m({
22
23
  /**
23
24
  * Keep the top nav visible when the modal is open
24
25
  */
25
- showTopNav: { type: Boolean, default: !1 }
26
+ showTopNav: { type: Boolean, default: !1 },
27
+ /**
28
+ * Responsive breakpoint below which point the modal becomes fullscreen.
29
+ * Supports NeonResponsive.Mobile & NeonResponsive.MobileLarge.
30
+ */
31
+ breakpoint: { type: String, default: b.Mobile }
26
32
  },
27
33
  emits: [
28
34
  /**
@@ -31,31 +37,31 @@ const B = m({
31
37
  */
32
38
  "close"
33
39
  ],
34
- setup(e, { emit: i }) {
35
- const l = a(null), n = a(null), u = () => {
36
- i("close");
40
+ setup(e, { emit: u }) {
41
+ const n = i(null), o = i(null), m = () => {
42
+ u("close");
37
43
  }, t = () => {
38
- e.open && e.dismissible && u();
44
+ e.open && e.dismissible && m();
39
45
  };
40
- return r(() => {
41
- e.dismissible && (n.value = l.value && new p(l.value, t) || null);
42
- }), f(() => {
43
- var o;
44
- (o = n.value) == null || o.destroy();
46
+ return f(() => {
47
+ e.dismissible && (o.value = n.value && new c(n.value, t) || null);
48
+ }), p(() => {
49
+ var l;
50
+ (l = o.value) == null || l.destroy();
45
51
  }), d(
46
52
  () => e.open,
47
- (o) => {
48
- var s;
49
- o && ((s = n.value) == null || s.open());
53
+ (l) => {
54
+ var s, a;
55
+ l ? (s = o.value) == null || s.open() : (a = o.value) == null || a.close();
50
56
  },
51
57
  { immediate: !0 }
52
58
  ), {
53
- modal: l,
59
+ modal: n,
54
60
  close: t
55
61
  };
56
62
  }
57
63
  });
58
64
  export {
59
- B as default
65
+ C as default
60
66
  };
61
67
  //# sourceMappingURL=NeonModal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonModal.es.js","sources":["../../../../src/components/layout/modal/NeonModal.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\n\n/**\n * A modal dialog component. This will be rendered above the content of the main window and can either be dismissed by the user or configured to require user interaction before dismissal.\n */\nexport default defineComponent({\n name: 'NeonDrawer',\n components: {\n NeonButton,\n },\n props: {\n /**\n * Whether the modal is currently open.\n */\n open: { type: Boolean, required: true },\n /**\n * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Increase the opacity so that the page behind the modal is no longer visible\n */\n opaque: { type: Boolean, default: false },\n /**\n * Keep the top nav visible when the modal is open\n */\n showTopNav: { type: Boolean, default: false },\n },\n emits: [\n /**\n * Emitted when the modal is closed.\n * @type {void}\n */\n 'close',\n ],\n setup(props, { emit }) {\n const modal = ref(null);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('close');\n };\n\n const close = () => {\n if (props.open && props.dismissible) {\n onClose();\n }\n };\n\n onMounted(() => {\n if (props.dismissible) {\n closableUtils.value = (modal.value && new NeonClosableUtils(modal.value, close)) || null;\n }\n });\n\n onUnmounted(() => {\n closableUtils.value?.destroy();\n });\n\n watch(\n () => props.open,\n (value) => {\n if (value) {\n closableUtils.value?.open();\n }\n },\n { immediate: true },\n );\n\n return {\n modal,\n close,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","props","emit","modal","ref","closableUtils","onClose","close","onMounted","NeonClosableUtils","onUnmounted","_a","watch","value"],"mappings":";;;AAOA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM,EAAE,MAAM,SAAS,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA,IAIjC,aAAa,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAIvC,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAIlC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,EAAM;AAAA,EAE9C,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA,EAAA;AAAA,EAEF,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACrB,UAAMC,IAAQC,EAAI,IAAI,GAChBC,IAAgBD,EAA8B,IAAI,GAElDE,IAAU,MAAM;AACpB,MAAAJ,EAAK,OAAO;AAAA,IACd,GAEMK,IAAQ,MAAM;AAClB,MAAIN,EAAM,QAAQA,EAAM,eACtBK,EAAA;AAAA,IAEJ;AAEA,WAAAE,EAAU,MAAM;AACd,MAAIP,EAAM,gBACRI,EAAc,QAASF,EAAM,SAAS,IAAIM,EAAkBN,EAAM,OAAOI,CAAK,KAAM;AAAA,IAExF,CAAC,GAEDG,EAAY,MAAM;;AAChB,OAAAC,IAAAN,EAAc,UAAd,QAAAM,EAAqB;AAAA,IACvB,CAAC,GAEDC;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,CAACY,MAAU;;AACT,QAAIA,OACFF,IAAAN,EAAc,UAAd,QAAAM,EAAqB;AAAA,MAEzB;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,GAGb;AAAA,MACL,OAAAR;AAAA,MACA,OAAAI;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"}
1
+ {"version":3,"file":"NeonModal.es.js","sources":["../../../../src/components/layout/modal/NeonModal.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport { NeonResponsive } from '@/common/enums/NeonResponsive';\n\n/**\n * A modal dialog component. This will be rendered above the content of the main window and can either be dismissed by the user or configured to require user interaction before dismissal.\n */\nexport default defineComponent({\n name: 'NeonDrawer',\n components: {\n NeonButton,\n },\n props: {\n /**\n * Whether the modal is currently open.\n */\n open: { type: Boolean, required: true },\n /**\n * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.\n */\n dismissible: { type: Boolean, default: true },\n /**\n * Increase the opacity so that the page behind the modal is no longer visible\n */\n opaque: { type: Boolean, default: false },\n /**\n * Keep the top nav visible when the modal is open\n */\n showTopNav: { type: Boolean, default: false },\n /**\n * Responsive breakpoint below which point the modal becomes fullscreen.\n * Supports NeonResponsive.Mobile & NeonResponsive.MobileLarge.\n */\n breakpoint: { type: String as () => NeonResponsive, default: NeonResponsive.Mobile },\n },\n emits: [\n /**\n * Emitted when the modal is closed.\n * @type {void}\n */\n 'close',\n ],\n setup(props, { emit }) {\n const modal = ref(null);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('close');\n };\n\n const close = () => {\n if (props.open && props.dismissible) {\n onClose();\n }\n };\n\n onMounted(() => {\n if (props.dismissible) {\n closableUtils.value = (modal.value && new NeonClosableUtils(modal.value, close)) || null;\n }\n });\n\n onUnmounted(() => {\n closableUtils.value?.destroy();\n });\n\n watch(\n () => props.open,\n (value) => {\n if (value) {\n closableUtils.value?.open();\n } else {\n closableUtils.value?.close();\n }\n },\n { immediate: true },\n );\n\n return {\n modal,\n close,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonButton","NeonResponsive","props","emit","modal","ref","closableUtils","onClose","close","onMounted","NeonClosableUtils","onUnmounted","_a","watch","value","_b"],"mappings":";;;;AAQA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM,EAAE,MAAM,SAAS,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA,IAIjC,aAAa,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAIvC,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA,IAIlC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKtC,YAAY,EAAE,MAAM,QAAgC,SAASC,EAAe,OAAA;AAAA,EAAO;AAAA,EAErF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA,EAAA;AAAA,EAEF,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACrB,UAAMC,IAAQC,EAAI,IAAI,GAChBC,IAAgBD,EAA8B,IAAI,GAElDE,IAAU,MAAM;AACpB,MAAAJ,EAAK,OAAO;AAAA,IACd,GAEMK,IAAQ,MAAM;AAClB,MAAIN,EAAM,QAAQA,EAAM,eACtBK,EAAA;AAAA,IAEJ;AAEA,WAAAE,EAAU,MAAM;AACd,MAAIP,EAAM,gBACRI,EAAc,QAASF,EAAM,SAAS,IAAIM,EAAkBN,EAAM,OAAOI,CAAK,KAAM;AAAA,IAExF,CAAC,GAEDG,EAAY,MAAM;;AAChB,OAAAC,IAAAN,EAAc,UAAd,QAAAM,EAAqB;AAAA,IACvB,CAAC,GAEDC;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,CAACY,MAAU;;AACT,QAAIA,KACFF,IAAAN,EAAc,UAAd,QAAAM,EAAqB,UAErBG,IAAAT,EAAc,UAAd,QAAAS,EAAqB;AAAA,MAEzB;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,GAGb;AAAA,MACL,OAAAX;AAAA,MACA,OAAAI;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("./NeonModal.cjs.js"),e=require("vue"),t=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),r={ref:"modal",class:"neon-modal__container"};function s(o,c,i,d,u,_){const n=e.resolveComponent("neon-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"neon-modal--open":o.open},"neon-modal"]),role:"dialog"},[e.createElementVNode("div",r,[e.renderSlot(o.$slots,"default"),o.dismissible?(e.openBlock(),e.createBlock(n,{key:0,circular:!0,transparent:!0,"button-style":"text",class:"neon-modal__close",color:"low-contrast",icon:"times",size:"s",tabindex:"0",onClick:o.close},null,8,["onClick"])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",{class:e.normalizeClass([{"neon-modal__overlay--opaque":o.opaque,"neon-modal__overlay--show-top-nav":o.showTopNav},"neon-modal__overlay"])},null,2)],2)}const a=t(l,[["render",s]]);module.exports=a;
1
+ "use strict";const l=require("./NeonModal.cjs.js"),e=require("vue"),t=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),r={ref:"modal",class:"neon-modal__container"};function a(o,c,i,d,u,p){const n=e.resolveComponent("neon-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[{"neon-modal--open":o.open},`neon-modal--breakpoint-${o.breakpoint}`],"neon-modal"]),role:"dialog"},[e.createElementVNode("div",r,[e.renderSlot(o.$slots,"default"),o.dismissible?(e.openBlock(),e.createBlock(n,{key:0,circular:!0,transparent:!0,"button-style":"text",class:"neon-modal__close",color:"low-contrast",icon:"times",size:"s",tabindex:"0",onClick:o.close},null,8,["onClick"])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",{class:e.normalizeClass([{"neon-modal__overlay--opaque":o.opaque,"neon-modal__overlay--show-top-nav":o.showTopNav},"neon-modal__overlay"])},null,2)],2)}const s=t(l,[["render",a]]);module.exports=s;
2
2
  //# sourceMappingURL=NeonModal.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonModal.vue.cjs.js","sources":["../../../../src/components/layout/modal/NeonModal.vue"],"sourcesContent":["<template>\n <div :class=\"{ 'neon-modal--open': open }\" class=\"neon-modal\" role=\"dialog\">\n <div ref=\"modal\" class=\"neon-modal__container\">\n <!-- @slot modal contents -->\n <slot></slot>\n <neon-button\n v-if=\"dismissible\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-modal__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"close\"\n />\n </div>\n <div\n :class=\"{ 'neon-modal__overlay--opaque': opaque, 'neon-modal__overlay--show-top-nav': showTopNav }\"\n class=\"neon-modal__overlay\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonModal.ts\"></script>\n"],"names":["_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_hoisted_1","_renderSlot","_createBlock","_component_neon_button"],"mappings":"uIAES,IAAI,QAAQ,MAAM,gHADzBA,EAAAA,mBAqBM,MAAA,CArBA,MAAKC,EAAAA,eAAA,CAAA,CAAA,mBAAwBC,EAAA,IAAI,EAAU,YAAY,CAAA,EAAC,KAAK,WACjEC,EAAAA,mBAeM,MAfNC,EAeM,CAbJC,aAAaH,EAAA,OAAA,SAAA,EAELA,EAAA,2BADRI,EAAAA,YAWEC,EAAA,OATC,SAAU,GACV,YAAa,GACd,eAAa,OACb,MAAM,oBACN,MAAM,eACN,KAAK,QACL,KAAK,IACL,SAAS,IACR,QAAOL,EAAA,8DAGZC,EAAAA,mBAGO,MAAA,CAFJ,MAAKF,EAAAA,eAAA,CAAA,CAAA,8BAAmCC,EAAA,OAAM,oCAAuCA,EAAA,UAAU,EAC1F,qBAAqB,CAAA"}
1
+ {"version":3,"file":"NeonModal.vue.cjs.js","sources":["../../../../src/components/layout/modal/NeonModal.vue"],"sourcesContent":["<template>\n <div :class=\"[{ 'neon-modal--open': open }, `neon-modal--breakpoint-${breakpoint}`]\" class=\"neon-modal\" role=\"dialog\">\n <div ref=\"modal\" class=\"neon-modal__container\">\n <!-- @slot modal contents -->\n <slot></slot>\n <neon-button\n v-if=\"dismissible\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-modal__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"close\"\n />\n </div>\n <div\n :class=\"{ 'neon-modal__overlay--opaque': opaque, 'neon-modal__overlay--show-top-nav': showTopNav }\"\n class=\"neon-modal__overlay\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonModal.ts\"></script>\n"],"names":["_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_hoisted_1","_renderSlot","_createBlock","_component_neon_button"],"mappings":"uIAES,IAAI,QAAQ,MAAM,gHADzBA,EAAAA,mBAqBM,MAAA,CArBA,MAAKC,EAAAA,eAAA,CAAA,CAAA,CAAA,mBAAyBC,EAAA,IAAI,EAAA,0BAA8BA,EAAA,UAAU,IAAW,YAAY,CAAA,EAAC,KAAK,WAC3GC,EAAAA,mBAeM,MAfNC,EAeM,CAbJC,aAAaH,EAAA,OAAA,SAAA,EAELA,EAAA,2BADRI,EAAAA,YAWEC,EAAA,OATC,SAAU,GACV,YAAa,GACd,eAAa,OACb,MAAM,oBACN,MAAM,eACN,KAAK,QACL,KAAK,IACL,SAAS,IACR,QAAOL,EAAA,8DAGZC,EAAAA,mBAGO,MAAA,CAFJ,MAAKF,EAAAA,eAAA,CAAA,CAAA,8BAAmCC,EAAA,OAAM,oCAAuCA,EAAA,UAAU,EAC1F,qBAAqB,CAAA"}
@@ -1,19 +1,19 @@
1
- import a from "./NeonModal.es.js";
2
- import { resolveComponent as r, openBlock as e, createElementBlock as s, normalizeClass as n, createElementVNode as l, renderSlot as c, createBlock as d, createCommentVNode as m } from "vue";
3
- import i from "../../../_virtual/_plugin-vue_export-helper.es.js";
1
+ import t from "./NeonModal.es.js";
2
+ import { resolveComponent as r, openBlock as e, createElementBlock as s, normalizeClass as n, createElementVNode as l, renderSlot as c, createBlock as d, createCommentVNode as i } from "vue";
3
+ import m from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
4
  const p = {
5
5
  ref: "modal",
6
6
  class: "neon-modal__container"
7
7
  };
8
- function _(o, u, f, v, k, b) {
9
- const t = r("neon-button");
8
+ function u(o, _, f, v, k, b) {
9
+ const a = r("neon-button");
10
10
  return e(), s("div", {
11
- class: n([{ "neon-modal--open": o.open }, "neon-modal"]),
11
+ class: n([[{ "neon-modal--open": o.open }, `neon-modal--breakpoint-${o.breakpoint}`], "neon-modal"]),
12
12
  role: "dialog"
13
13
  }, [
14
14
  l("div", p, [
15
15
  c(o.$slots, "default"),
16
- o.dismissible ? (e(), d(t, {
16
+ o.dismissible ? (e(), d(a, {
17
17
  key: 0,
18
18
  circular: !0,
19
19
  transparent: !0,
@@ -24,14 +24,14 @@ function _(o, u, f, v, k, b) {
24
24
  size: "s",
25
25
  tabindex: "0",
26
26
  onClick: o.close
27
- }, null, 8, ["onClick"])) : m("", !0)
27
+ }, null, 8, ["onClick"])) : i("", !0)
28
28
  ], 512),
29
29
  l("div", {
30
30
  class: n([{ "neon-modal__overlay--opaque": o.opaque, "neon-modal__overlay--show-top-nav": o.showTopNav }, "neon-modal__overlay"])
31
31
  }, null, 2)
32
32
  ], 2);
33
33
  }
34
- const h = /* @__PURE__ */ i(a, [["render", _]]);
34
+ const h = /* @__PURE__ */ m(t, [["render", u]]);
35
35
  export {
36
36
  h as default
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NeonModal.vue.es.js","sources":["../../../../src/components/layout/modal/NeonModal.vue"],"sourcesContent":["<template>\n <div :class=\"{ 'neon-modal--open': open }\" class=\"neon-modal\" role=\"dialog\">\n <div ref=\"modal\" class=\"neon-modal__container\">\n <!-- @slot modal contents -->\n <slot></slot>\n <neon-button\n v-if=\"dismissible\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-modal__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"close\"\n />\n </div>\n <div\n :class=\"{ 'neon-modal__overlay--opaque': opaque, 'neon-modal__overlay--show-top-nav': showTopNav }\"\n class=\"neon-modal__overlay\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonModal.ts\"></script>\n"],"names":["_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_hoisted_1","_renderSlot","_createBlock","_component_neon_button"],"mappings":";;;;EAES,KAAI;AAAA,EAAQ,OAAM;;;;cADzBA,EAqBM,OAAA;AAAA,IArBA,OAAKC,EAAA,CAAA,EAAA,oBAAwBC,EAAA,KAAI,GAAU,YAAY,CAAA;AAAA,IAAC,MAAK;AAAA;IACjEC,EAeM,OAfNC,GAeM;AAAA,MAbJC,EAAaH,EAAA,QAAA,SAAA;AAAA,MAELA,EAAA,oBADRI,EAWEC,GAAA;AAAA;QATC,UAAU;AAAA,QACV,aAAa;AAAA,QACd,gBAAa;AAAA,QACb,OAAM;AAAA,QACN,OAAM;AAAA,QACN,MAAK;AAAA,QACL,MAAK;AAAA,QACL,UAAS;AAAA,QACR,SAAOL,EAAA;AAAA;;IAGZC,EAGO,OAAA;AAAA,MAFJ,OAAKF,EAAA,CAAA,EAAA,+BAAmCC,EAAA,QAAM,qCAAuCA,EAAA,WAAU,GAC1F,qBAAqB,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"NeonModal.vue.es.js","sources":["../../../../src/components/layout/modal/NeonModal.vue"],"sourcesContent":["<template>\n <div :class=\"[{ 'neon-modal--open': open }, `neon-modal--breakpoint-${breakpoint}`]\" class=\"neon-modal\" role=\"dialog\">\n <div ref=\"modal\" class=\"neon-modal__container\">\n <!-- @slot modal contents -->\n <slot></slot>\n <neon-button\n v-if=\"dismissible\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-modal__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"close\"\n />\n </div>\n <div\n :class=\"{ 'neon-modal__overlay--opaque': opaque, 'neon-modal__overlay--show-top-nav': showTopNav }\"\n class=\"neon-modal__overlay\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonModal.ts\"></script>\n"],"names":["_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_hoisted_1","_renderSlot","_createBlock","_component_neon_button"],"mappings":";;;;EAES,KAAI;AAAA,EAAQ,OAAM;;;;cADzBA,EAqBM,OAAA;AAAA,IArBA,OAAKC,EAAA,CAAA,CAAA,EAAA,oBAAyBC,EAAA,KAAI,GAAA,0BAA8BA,EAAA,UAAU,KAAW,YAAY,CAAA;AAAA,IAAC,MAAK;AAAA;IAC3GC,EAeM,OAfNC,GAeM;AAAA,MAbJC,EAAaH,EAAA,QAAA,SAAA;AAAA,MAELA,EAAA,oBADRI,EAWEC,GAAA;AAAA;QATC,UAAU;AAAA,QACV,aAAa;AAAA,QACd,gBAAa;AAAA,QACb,OAAM;AAAA,QACN,OAAM;AAAA,QACN,MAAK;AAAA,QACL,MAAK;AAAA,QACL,UAAS;AAAA,QACR,SAAOL,EAAA;AAAA;;IAGZC,EAGO,OAAA;AAAA,MAFJ,OAAKF,EAAA,CAAA,EAAA,+BAAmCC,EAAA,QAAM,qCAAuCA,EAAA,WAAU,GAC1F,qBAAqB,CAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const u=require("./NeonImageCarousel.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-image-carousel-wrapper"},m={class:"neon-image-carousel__container",tabindex:"-1"},p={ref:"carouselItems",class:"no-style neon-image-carousel__items"},g=["alt","src"],k={key:0,class:"neon-image-carousel__item-title"},v={class:"neon-image-carousel__nav",tabindex:"-1"},C=["onClickCapture"],_={key:0,class:"neon-image-carousel__label",tabindex:"-1"};function b(n,o,w,E,f,h){const l=e.resolveComponent("neon-button"),r=e.resolveComponent("neon-link"),i=e.resolveComponent("neon-stack");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel--initialised":n.initialised,"neon-image-carousel--expanded":n.isExpanded},"neon-image-carousel"]),tabindex:"0",onKeydown:[o[2]||(o[2]=e.withKeys(e.withModifiers((...t)=>n.previous&&n.previous(...t),["stop","prevent"]),["left"])),o[3]||(o[3]=e.withKeys(e.withModifiers((...t)=>n.next&&n.next(...t),["stop","prevent"]),["right"])),o[4]||(o[4]=e.withKeys(t=>n.isExpanded&&n.toggleExpanded(),["esc"]))]},[e.createElementVNode("div",m,[n.isExpanded?(e.openBlock(),e.createBlock(l,{key:0,title:n.closeLabel,"button-style":"text",class:"neon-image-carousel__close",color:"low-contrast",icon:"close",size:"l",transparent:"",onClick:o[0]||(o[0]=t=>n.isExpanded&&n.toggleExpanded())},null,8,["title"])):e.createCommentVNode("",!0),e.createVNode(l,{disabled:n.currentImage===0,title:n.previousLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__previous",color:"neutral",icon:"arrow-left-1",size:"l",onClickCapture:e.withModifiers(n.previous,["stop"])},null,8,["disabled","title","onClickCapture"]),e.createElementVNode("ul",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createElementBlock("li",{key:t.src,ref_for:!0,ref:"carouselItem",class:e.normalizeClass([{"neon-image-carousel__item--active":s===n.currentImage},"neon-image-carousel__item"])},[e.createElementVNode("img",{alt:t.alt,src:t.src,class:"neon-image-carousel__image",onClick:o[1]||(o[1]=e.withModifiers(a=>!n.isExpanded&&n.toggleExpanded(),["stop"]))},null,8,g),n.isExpanded?(e.openBlock(),e.createElementBlock("p",k,e.toDisplayString(t.alt),1)):e.createCommentVNode("",!0)],2))),128))],512),e.createVNode(l,{disabled:n.currentImage===n.images.length-1,title:n.nextLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__next",color:"neutral",icon:"arrow-right-1",size:"l",onClickCapture:e.withModifiers(n.next,["stop"])},null,8,["disabled","title","onClickCapture"])]),e.createVNode(i,{class:"neon-image-carousel__nav-container",gap:"s"},{default:e.withCtx(()=>[e.createElementVNode("div",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createBlock(r,{key:s,"aria-label":`Display image ${s+1}`,class:"neon-image-carousel__nav-item-link","no-style":"","outline-style":"none",role:"button",tabindex:"0",onKeydownCapture:[e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["enter"]),e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["space"])]},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel__nav-item--active":s===n.currentImage},"neon-image-carousel__nav-item"]),tabindex:"-1",onClickCapture:e.withModifiers(a=>n.scrollTo(s),["stop"])},[...o[5]||(o[5]=[e.createElementVNode("div",{class:"neon-image-carousel__nav-item-indicator"},null,-1)])],42,C)]),_:2},1032,["aria-label","onKeydownCapture"]))),128))]),n.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(n.imageCountLabel||`${n.images.length} ${n.images.length===1?"image":"images"}`),1))]),_:1})],34)])}const y=c(u,[["render",b]]);module.exports=y;
1
+ "use strict";const u=require("./NeonImageCarousel.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-image-carousel-wrapper"},m={class:"neon-image-carousel__container",tabindex:"-1"},p={ref:"carouselItems",class:"no-style neon-image-carousel__items"},g=["alt","src"],k={key:0,class:"neon-image-carousel__item-title"},v={class:"neon-image-carousel__nav",tabindex:"-1"},C=["onClickCapture"],_={key:0,class:"neon-image-carousel__label",tabindex:"-1"};function b(n,o,w,E,f,h){const l=e.resolveComponent("neon-button"),i=e.resolveComponent("neon-link"),r=e.resolveComponent("neon-stack");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel--initialised":n.initialised,"neon-image-carousel--expanded":n.isExpanded},"neon-image-carousel"]),tabindex:"0",onKeydown:[o[2]||(o[2]=e.withKeys(e.withModifiers((...t)=>n.previous&&n.previous(...t),["stop","prevent"]),["left"])),o[3]||(o[3]=e.withKeys(e.withModifiers((...t)=>n.next&&n.next(...t),["stop","prevent"]),["right"])),o[4]||(o[4]=e.withKeys(t=>n.isExpanded&&n.toggleExpanded(),["esc"]))]},[e.createElementVNode("div",m,[n.isExpanded?(e.openBlock(),e.createBlock(l,{key:0,title:n.closeLabel,"button-style":"text",class:"neon-image-carousel__close",color:"low-contrast",icon:"close",size:"l",transparent:"",onClick:o[0]||(o[0]=t=>n.isExpanded&&n.toggleExpanded())},null,8,["title"])):e.createCommentVNode("",!0),e.createVNode(l,{disabled:n.currentImage===0,title:n.previousLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__previous",color:"neutral",icon:"arrow-left-1",size:"l",onClickCapture:e.withModifiers(n.previous,["stop"])},null,8,["disabled","title","onClickCapture"]),e.createElementVNode("ul",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createElementBlock("li",{key:t.src,ref_for:!0,ref:"carouselItem",class:e.normalizeClass([{"neon-image-carousel__item--active":s===n.currentImage},"neon-image-carousel__item"])},[e.createElementVNode("img",{alt:t.alt,src:t.src,class:"neon-image-carousel__image",onClick:o[1]||(o[1]=e.withModifiers(a=>!n.isExpanded&&n.toggleExpanded(),["stop"]))},null,8,g),n.isExpanded&&t.title?(e.openBlock(),e.createElementBlock("p",k,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],2))),128))],512),e.createVNode(l,{disabled:n.currentImage===n.images.length-1,title:n.nextLabel,transparent:!0,"button-style":"text",class:"neon-image-carousel__next",color:"neutral",icon:"arrow-right-1",size:"l",onClickCapture:e.withModifiers(n.next,["stop"])},null,8,["disabled","title","onClickCapture"])]),e.createVNode(r,{class:"neon-image-carousel__nav-container",gap:"s"},{default:e.withCtx(()=>[e.createElementVNode("div",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.images,(t,s)=>(e.openBlock(),e.createBlock(i,{key:s,"aria-label":`Display image ${s+1}`,class:"neon-image-carousel__nav-item-link","no-style":"","outline-style":"none",role:"button",tabindex:"0",onKeydownCapture:[e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["enter"]),e.withKeys(e.withModifiers(a=>n.scrollTo(s),["stop","prevent"]),["space"])]},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([{"neon-image-carousel__nav-item--active":s===n.currentImage},"neon-image-carousel__nav-item"]),tabindex:"-1",onClickCapture:e.withModifiers(a=>n.scrollTo(s),["stop"])},[...o[5]||(o[5]=[e.createElementVNode("div",{class:"neon-image-carousel__nav-item-indicator"},null,-1)])],42,C)]),_:2},1032,["aria-label","onKeydownCapture"]))),128))]),n.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(n.imageCountLabel||`${n.images.length} ${n.images.length===1?"image":"images"}`),1))]),_:1})],34)])}const y=c(u,[["render",b]]);module.exports=y;
2
2
  //# sourceMappingURL=NeonImageCarousel.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonImageCarousel.vue.cjs.js","sources":["../../../../src/components/presentation/image-carousel/NeonImageCarousel.vue"],"sourcesContent":["<template>\n <div class=\"neon-image-carousel-wrapper\">\n <div\n :class=\"{\n 'neon-image-carousel--initialised': initialised,\n 'neon-image-carousel--expanded': isExpanded,\n }\"\n class=\"neon-image-carousel\"\n tabindex=\"0\"\n @keydown.stop.prevent.left=\"previous\"\n @keydown.stop.prevent.right=\"next\"\n @keydown.esc=\"isExpanded && toggleExpanded()\"\n >\n <div class=\"neon-image-carousel__container\" tabindex=\"-1\">\n <neon-button\n v-if=\"isExpanded\"\n :title=\"closeLabel\"\n button-style=\"text\"\n class=\"neon-image-carousel__close\"\n color=\"low-contrast\"\n icon=\"close\"\n size=\"l\"\n transparent\n @click=\"isExpanded && toggleExpanded()\"\n />\n <neon-button\n :disabled=\"currentImage === 0\"\n :title=\"previousLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__previous\"\n color=\"neutral\"\n icon=\"arrow-left-1\"\n size=\"l\"\n @click.capture.stop=\"previous\"\n />\n <ul ref=\"carouselItems\" class=\"no-style neon-image-carousel__items\">\n <li\n v-for=\"(image, index) in images\"\n :key=\"image.src\"\n ref=\"carouselItem\"\n :class=\"{ 'neon-image-carousel__item--active': index === currentImage }\"\n class=\"neon-image-carousel__item\"\n >\n <img\n :alt=\"image.alt\"\n :src=\"image.src\"\n class=\"neon-image-carousel__image\"\n @click.stop=\"!isExpanded && toggleExpanded()\"\n />\n <p v-if=\"isExpanded\" class=\"neon-image-carousel__item-title\">{{ image.alt }}</p>\n </li>\n </ul>\n <neon-button\n :disabled=\"currentImage === images.length - 1\"\n :title=\"nextLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__next\"\n color=\"neutral\"\n icon=\"arrow-right-1\"\n size=\"l\"\n @click.capture.stop=\"next\"\n />\n </div>\n <neon-stack class=\"neon-image-carousel__nav-container\" gap=\"s\">\n <div class=\"neon-image-carousel__nav\" tabindex=\"-1\">\n <neon-link\n v-for=\"(_image, index) in images\"\n :key=\"index\"\n :aria-label=\"`Display image ${index + 1}`\"\n class=\"neon-image-carousel__nav-item-link\"\n no-style\n outline-style=\"none\"\n role=\"button\"\n tabindex=\"0\"\n @keydown.stop.prevent.capture.enter=\"scrollTo(index)\"\n @keydown.stop.prevent.capture.space=\"scrollTo(index)\"\n >\n <div\n :class=\"{ 'neon-image-carousel__nav-item--active': index === currentImage }\"\n class=\"neon-image-carousel__nav-item\"\n tabindex=\"-1\"\n @click.capture.stop=\"scrollTo(index)\"\n >\n <div class=\"neon-image-carousel__nav-item-indicator\"></div>\n </div>\n </neon-link>\n </div>\n <span v-if=\"!hideLabel\" class=\"neon-image-carousel__label\" tabindex=\"-1\">\n {{ imageCountLabel || `${images.length} ${images.length === 1 ? 'image' : 'images'}` }}\n </span>\n </neon-stack>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonImageCarousel.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_ctx","args","_cache","_withKeys","$event","_hoisted_2","_createBlock","_component_neon_button","_createVNode","_hoisted_3","_Fragment","_renderList","image","index","_withModifiers","_hoisted_5","_toDisplayString","_component_neon_stack","_hoisted_6","_image","_component_neon_link","_hoisted_8"],"mappings":"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"}
1
+ {"version":3,"file":"NeonImageCarousel.vue.cjs.js","sources":["../../../../src/components/presentation/image-carousel/NeonImageCarousel.vue"],"sourcesContent":["<template>\n <div class=\"neon-image-carousel-wrapper\">\n <div\n :class=\"{\n 'neon-image-carousel--initialised': initialised,\n 'neon-image-carousel--expanded': isExpanded,\n }\"\n class=\"neon-image-carousel\"\n tabindex=\"0\"\n @keydown.stop.prevent.left=\"previous\"\n @keydown.stop.prevent.right=\"next\"\n @keydown.esc=\"isExpanded && toggleExpanded()\"\n >\n <div class=\"neon-image-carousel__container\" tabindex=\"-1\">\n <neon-button\n v-if=\"isExpanded\"\n :title=\"closeLabel\"\n button-style=\"text\"\n class=\"neon-image-carousel__close\"\n color=\"low-contrast\"\n icon=\"close\"\n size=\"l\"\n transparent\n @click=\"isExpanded && toggleExpanded()\"\n />\n <neon-button\n :disabled=\"currentImage === 0\"\n :title=\"previousLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__previous\"\n color=\"neutral\"\n icon=\"arrow-left-1\"\n size=\"l\"\n @click.capture.stop=\"previous\"\n />\n <ul ref=\"carouselItems\" class=\"no-style neon-image-carousel__items\">\n <li\n v-for=\"(image, index) in images\"\n :key=\"image.src\"\n ref=\"carouselItem\"\n :class=\"{ 'neon-image-carousel__item--active': index === currentImage }\"\n class=\"neon-image-carousel__item\"\n >\n <img\n :alt=\"image.alt\"\n :src=\"image.src\"\n class=\"neon-image-carousel__image\"\n @click.stop=\"!isExpanded && toggleExpanded()\"\n />\n <p v-if=\"isExpanded && image.title\" class=\"neon-image-carousel__item-title\">{{ image.title }}</p>\n </li>\n </ul>\n <neon-button\n :disabled=\"currentImage === images.length - 1\"\n :title=\"nextLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__next\"\n color=\"neutral\"\n icon=\"arrow-right-1\"\n size=\"l\"\n @click.capture.stop=\"next\"\n />\n </div>\n <neon-stack class=\"neon-image-carousel__nav-container\" gap=\"s\">\n <div class=\"neon-image-carousel__nav\" tabindex=\"-1\">\n <neon-link\n v-for=\"(_image, index) in images\"\n :key=\"index\"\n :aria-label=\"`Display image ${index + 1}`\"\n class=\"neon-image-carousel__nav-item-link\"\n no-style\n outline-style=\"none\"\n role=\"button\"\n tabindex=\"0\"\n @keydown.stop.prevent.capture.enter=\"scrollTo(index)\"\n @keydown.stop.prevent.capture.space=\"scrollTo(index)\"\n >\n <div\n :class=\"{ 'neon-image-carousel__nav-item--active': index === currentImage }\"\n class=\"neon-image-carousel__nav-item\"\n tabindex=\"-1\"\n @click.capture.stop=\"scrollTo(index)\"\n >\n <div class=\"neon-image-carousel__nav-item-indicator\"></div>\n </div>\n </neon-link>\n </div>\n <span v-if=\"!hideLabel\" class=\"neon-image-carousel__label\" tabindex=\"-1\">\n {{ imageCountLabel || `${images.length} ${images.length === 1 ? 'image' : 'images'}` }}\n </span>\n </neon-stack>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonImageCarousel.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_ctx","args","_cache","_withKeys","$event","_hoisted_2","_createBlock","_component_neon_button","_createVNode","_hoisted_3","_Fragment","_renderList","image","index","_withModifiers","_hoisted_5","_toDisplayString","_component_neon_stack","_hoisted_6","_image","_component_neon_link","_hoisted_8"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import $ from "./NeonImageCarousel.es.js";
2
- import { resolveComponent as m, openBlock as a, createElementBlock as i, createElementVNode as l, withKeys as r, withModifiers as s, normalizeClass as p, createBlock as v, createCommentVNode as c, createVNode as g, Fragment as b, renderList as _, toDisplayString as C, withCtx as k } from "vue";
2
+ import { resolveComponent as m, openBlock as s, createElementBlock as i, createElementVNode as l, withKeys as r, withModifiers as a, normalizeClass as p, createBlock as v, createCommentVNode as c, createVNode as g, Fragment as b, renderList as _, toDisplayString as C, withCtx as k } from "vue";
3
3
  import E from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
4
  const w = { class: "neon-image-carousel-wrapper" }, I = {
5
5
  class: "neon-image-carousel__container",
@@ -20,7 +20,7 @@ const w = { class: "neon-image-carousel-wrapper" }, I = {
20
20
  };
21
21
  function T(e, n, V, D, F, M) {
22
22
  const u = m("neon-button"), f = m("neon-link"), y = m("neon-stack");
23
- return a(), i("div", w, [
23
+ return s(), i("div", w, [
24
24
  l("div", {
25
25
  class: p([{
26
26
  "neon-image-carousel--initialised": e.initialised,
@@ -28,13 +28,13 @@ function T(e, n, V, D, F, M) {
28
28
  }, "neon-image-carousel"]),
29
29
  tabindex: "0",
30
30
  onKeydown: [
31
- n[2] || (n[2] = r(s((...o) => e.previous && e.previous(...o), ["stop", "prevent"]), ["left"])),
32
- n[3] || (n[3] = r(s((...o) => e.next && e.next(...o), ["stop", "prevent"]), ["right"])),
31
+ n[2] || (n[2] = r(a((...o) => e.previous && e.previous(...o), ["stop", "prevent"]), ["left"])),
32
+ n[3] || (n[3] = r(a((...o) => e.next && e.next(...o), ["stop", "prevent"]), ["right"])),
33
33
  n[4] || (n[4] = r((o) => e.isExpanded && e.toggleExpanded(), ["esc"]))
34
34
  ]
35
35
  }, [
36
36
  l("div", I, [
37
- e.isExpanded ? (a(), v(u, {
37
+ e.isExpanded ? (s(), v(u, {
38
38
  key: 0,
39
39
  title: e.closeLabel,
40
40
  "button-style": "text",
@@ -54,10 +54,10 @@ function T(e, n, V, D, F, M) {
54
54
  color: "neutral",
55
55
  icon: "arrow-left-1",
56
56
  size: "l",
57
- onClickCapture: s(e.previous, ["stop"])
57
+ onClickCapture: a(e.previous, ["stop"])
58
58
  }, null, 8, ["disabled", "title", "onClickCapture"]),
59
59
  l("ul", h, [
60
- (a(!0), i(b, null, _(e.images, (o, t) => (a(), i("li", {
60
+ (s(!0), i(b, null, _(e.images, (o, t) => (s(), i("li", {
61
61
  key: o.src,
62
62
  ref_for: !0,
63
63
  ref: "carouselItem",
@@ -67,9 +67,9 @@ function T(e, n, V, D, F, M) {
67
67
  alt: o.alt,
68
68
  src: o.src,
69
69
  class: "neon-image-carousel__image",
70
- onClick: n[1] || (n[1] = s((d) => !e.isExpanded && e.toggleExpanded(), ["stop"]))
70
+ onClick: n[1] || (n[1] = a((d) => !e.isExpanded && e.toggleExpanded(), ["stop"]))
71
71
  }, null, 8, L),
72
- e.isExpanded ? (a(), i("p", z, C(o.alt), 1)) : c("", !0)
72
+ e.isExpanded && o.title ? (s(), i("p", z, C(o.title), 1)) : c("", !0)
73
73
  ], 2))), 128))
74
74
  ], 512),
75
75
  g(u, {
@@ -81,7 +81,7 @@ function T(e, n, V, D, F, M) {
81
81
  color: "neutral",
82
82
  icon: "arrow-right-1",
83
83
  size: "l",
84
- onClickCapture: s(e.next, ["stop"])
84
+ onClickCapture: a(e.next, ["stop"])
85
85
  }, null, 8, ["disabled", "title", "onClickCapture"])
86
86
  ]),
87
87
  g(y, {
@@ -90,7 +90,7 @@ function T(e, n, V, D, F, M) {
90
90
  }, {
91
91
  default: k(() => [
92
92
  l("div", K, [
93
- (a(!0), i(b, null, _(e.images, (o, t) => (a(), v(f, {
93
+ (s(!0), i(b, null, _(e.images, (o, t) => (s(), v(f, {
94
94
  key: t,
95
95
  "aria-label": `Display image ${t + 1}`,
96
96
  class: "neon-image-carousel__nav-item-link",
@@ -99,15 +99,15 @@ function T(e, n, V, D, F, M) {
99
99
  role: "button",
100
100
  tabindex: "0",
101
101
  onKeydownCapture: [
102
- r(s((d) => e.scrollTo(t), ["stop", "prevent"]), ["enter"]),
103
- r(s((d) => e.scrollTo(t), ["stop", "prevent"]), ["space"])
102
+ r(a((d) => e.scrollTo(t), ["stop", "prevent"]), ["enter"]),
103
+ r(a((d) => e.scrollTo(t), ["stop", "prevent"]), ["space"])
104
104
  ]
105
105
  }, {
106
106
  default: k(() => [
107
107
  l("div", {
108
108
  class: p([{ "neon-image-carousel__nav-item--active": t === e.currentImage }, "neon-image-carousel__nav-item"]),
109
109
  tabindex: "-1",
110
- onClickCapture: s((d) => e.scrollTo(t), ["stop"])
110
+ onClickCapture: a((d) => e.scrollTo(t), ["stop"])
111
111
  }, [...n[5] || (n[5] = [
112
112
  l("div", { class: "neon-image-carousel__nav-item-indicator" }, null, -1)
113
113
  ])], 42, N)
@@ -115,7 +115,7 @@ function T(e, n, V, D, F, M) {
115
115
  _: 2
116
116
  }, 1032, ["aria-label", "onKeydownCapture"]))), 128))
117
117
  ]),
118
- e.hideLabel ? c("", !0) : (a(), i("span", B, C(e.imageCountLabel || `${e.images.length} ${e.images.length === 1 ? "image" : "images"}`), 1))
118
+ e.hideLabel ? c("", !0) : (s(), i("span", B, C(e.imageCountLabel || `${e.images.length} ${e.images.length === 1 ? "image" : "images"}`), 1))
119
119
  ]),
120
120
  _: 1
121
121
  })
@@ -1 +1 @@
1
- {"version":3,"file":"NeonImageCarousel.vue.es.js","sources":["../../../../src/components/presentation/image-carousel/NeonImageCarousel.vue"],"sourcesContent":["<template>\n <div class=\"neon-image-carousel-wrapper\">\n <div\n :class=\"{\n 'neon-image-carousel--initialised': initialised,\n 'neon-image-carousel--expanded': isExpanded,\n }\"\n class=\"neon-image-carousel\"\n tabindex=\"0\"\n @keydown.stop.prevent.left=\"previous\"\n @keydown.stop.prevent.right=\"next\"\n @keydown.esc=\"isExpanded && toggleExpanded()\"\n >\n <div class=\"neon-image-carousel__container\" tabindex=\"-1\">\n <neon-button\n v-if=\"isExpanded\"\n :title=\"closeLabel\"\n button-style=\"text\"\n class=\"neon-image-carousel__close\"\n color=\"low-contrast\"\n icon=\"close\"\n size=\"l\"\n transparent\n @click=\"isExpanded && toggleExpanded()\"\n />\n <neon-button\n :disabled=\"currentImage === 0\"\n :title=\"previousLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__previous\"\n color=\"neutral\"\n icon=\"arrow-left-1\"\n size=\"l\"\n @click.capture.stop=\"previous\"\n />\n <ul ref=\"carouselItems\" class=\"no-style neon-image-carousel__items\">\n <li\n v-for=\"(image, index) in images\"\n :key=\"image.src\"\n ref=\"carouselItem\"\n :class=\"{ 'neon-image-carousel__item--active': index === currentImage }\"\n class=\"neon-image-carousel__item\"\n >\n <img\n :alt=\"image.alt\"\n :src=\"image.src\"\n class=\"neon-image-carousel__image\"\n @click.stop=\"!isExpanded && toggleExpanded()\"\n />\n <p v-if=\"isExpanded\" class=\"neon-image-carousel__item-title\">{{ image.alt }}</p>\n </li>\n </ul>\n <neon-button\n :disabled=\"currentImage === images.length - 1\"\n :title=\"nextLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__next\"\n color=\"neutral\"\n icon=\"arrow-right-1\"\n size=\"l\"\n @click.capture.stop=\"next\"\n />\n </div>\n <neon-stack class=\"neon-image-carousel__nav-container\" gap=\"s\">\n <div class=\"neon-image-carousel__nav\" tabindex=\"-1\">\n <neon-link\n v-for=\"(_image, index) in images\"\n :key=\"index\"\n :aria-label=\"`Display image ${index + 1}`\"\n class=\"neon-image-carousel__nav-item-link\"\n no-style\n outline-style=\"none\"\n role=\"button\"\n tabindex=\"0\"\n @keydown.stop.prevent.capture.enter=\"scrollTo(index)\"\n @keydown.stop.prevent.capture.space=\"scrollTo(index)\"\n >\n <div\n :class=\"{ 'neon-image-carousel__nav-item--active': index === currentImage }\"\n class=\"neon-image-carousel__nav-item\"\n tabindex=\"-1\"\n @click.capture.stop=\"scrollTo(index)\"\n >\n <div class=\"neon-image-carousel__nav-item-indicator\"></div>\n </div>\n </neon-link>\n </div>\n <span v-if=\"!hideLabel\" class=\"neon-image-carousel__label\" tabindex=\"-1\">\n {{ imageCountLabel || `${images.length} ${images.length === 1 ? 'image' : 'images'}` }}\n </span>\n </neon-stack>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonImageCarousel.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_ctx","args","_cache","_withKeys","$event","_hoisted_2","_createBlock","_component_neon_button","_createVNode","_hoisted_3","_Fragment","_renderList","image","index","_withModifiers","_hoisted_5","_toDisplayString","_component_neon_stack","_hoisted_6","_image","_component_neon_link","_hoisted_8"],"mappings":"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"}
1
+ {"version":3,"file":"NeonImageCarousel.vue.es.js","sources":["../../../../src/components/presentation/image-carousel/NeonImageCarousel.vue"],"sourcesContent":["<template>\n <div class=\"neon-image-carousel-wrapper\">\n <div\n :class=\"{\n 'neon-image-carousel--initialised': initialised,\n 'neon-image-carousel--expanded': isExpanded,\n }\"\n class=\"neon-image-carousel\"\n tabindex=\"0\"\n @keydown.stop.prevent.left=\"previous\"\n @keydown.stop.prevent.right=\"next\"\n @keydown.esc=\"isExpanded && toggleExpanded()\"\n >\n <div class=\"neon-image-carousel__container\" tabindex=\"-1\">\n <neon-button\n v-if=\"isExpanded\"\n :title=\"closeLabel\"\n button-style=\"text\"\n class=\"neon-image-carousel__close\"\n color=\"low-contrast\"\n icon=\"close\"\n size=\"l\"\n transparent\n @click=\"isExpanded && toggleExpanded()\"\n />\n <neon-button\n :disabled=\"currentImage === 0\"\n :title=\"previousLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__previous\"\n color=\"neutral\"\n icon=\"arrow-left-1\"\n size=\"l\"\n @click.capture.stop=\"previous\"\n />\n <ul ref=\"carouselItems\" class=\"no-style neon-image-carousel__items\">\n <li\n v-for=\"(image, index) in images\"\n :key=\"image.src\"\n ref=\"carouselItem\"\n :class=\"{ 'neon-image-carousel__item--active': index === currentImage }\"\n class=\"neon-image-carousel__item\"\n >\n <img\n :alt=\"image.alt\"\n :src=\"image.src\"\n class=\"neon-image-carousel__image\"\n @click.stop=\"!isExpanded && toggleExpanded()\"\n />\n <p v-if=\"isExpanded && image.title\" class=\"neon-image-carousel__item-title\">{{ image.title }}</p>\n </li>\n </ul>\n <neon-button\n :disabled=\"currentImage === images.length - 1\"\n :title=\"nextLabel\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-image-carousel__next\"\n color=\"neutral\"\n icon=\"arrow-right-1\"\n size=\"l\"\n @click.capture.stop=\"next\"\n />\n </div>\n <neon-stack class=\"neon-image-carousel__nav-container\" gap=\"s\">\n <div class=\"neon-image-carousel__nav\" tabindex=\"-1\">\n <neon-link\n v-for=\"(_image, index) in images\"\n :key=\"index\"\n :aria-label=\"`Display image ${index + 1}`\"\n class=\"neon-image-carousel__nav-item-link\"\n no-style\n outline-style=\"none\"\n role=\"button\"\n tabindex=\"0\"\n @keydown.stop.prevent.capture.enter=\"scrollTo(index)\"\n @keydown.stop.prevent.capture.space=\"scrollTo(index)\"\n >\n <div\n :class=\"{ 'neon-image-carousel__nav-item--active': index === currentImage }\"\n class=\"neon-image-carousel__nav-item\"\n tabindex=\"-1\"\n @click.capture.stop=\"scrollTo(index)\"\n >\n <div class=\"neon-image-carousel__nav-item-indicator\"></div>\n </div>\n </neon-link>\n </div>\n <span v-if=\"!hideLabel\" class=\"neon-image-carousel__label\" tabindex=\"-1\">\n {{ imageCountLabel || `${images.length} ${images.length === 1 ? 'image' : 'images'}` }}\n </span>\n </neon-stack>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonImageCarousel.ts\" />\n"],"names":["_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_ctx","args","_cache","_withKeys","$event","_hoisted_2","_createBlock","_component_neon_button","_createVNode","_hoisted_3","_Fragment","_renderList","image","index","_withModifiers","_hoisted_5","_toDisplayString","_component_neon_stack","_hoisted_6","_image","_component_neon_link","_hoisted_8"],"mappings":"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"}
@@ -11,4 +11,8 @@ export interface NeonCarouselImage {
11
11
  * Alt text to be displayed with the image for accessibility.
12
12
  */
13
13
  alt?: string;
14
+ /**
15
+ * Image title to be displayed with the image.
16
+ */
17
+ title?: string;
14
18
  }
@@ -618,9 +618,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
618
618
  required: true;
619
619
  };
620
620
  dismissible: {
621
- type: BooleanConstructor; /**
622
- * The color of the button for the confirm (positive) action.
623
- */
621
+ type: BooleanConstructor;
624
622
  default: boolean;
625
623
  };
626
624
  opaque: {
@@ -631,6 +629,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
631
629
  type: BooleanConstructor;
632
630
  default: boolean;
633
631
  };
632
+ breakpoint: {
633
+ type: () => import("../../../neon").NeonResponsive;
634
+ default: import("../../../neon").NeonResponsive;
635
+ };
634
636
  }>, {
635
637
  modal: import("vue").Ref<null, null>;
636
638
  close: () => void;
@@ -640,9 +642,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
640
642
  required: true;
641
643
  };
642
644
  dismissible: {
643
- type: BooleanConstructor; /**
644
- * The color of the button for the confirm (positive) action.
645
- */
645
+ type: BooleanConstructor;
646
646
  default: boolean;
647
647
  };
648
648
  opaque: {
@@ -653,10 +653,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
653
653
  type: BooleanConstructor;
654
654
  default: boolean;
655
655
  };
656
+ breakpoint: {
657
+ type: () => import("../../../neon").NeonResponsive;
658
+ default: import("../../../neon").NeonResponsive;
659
+ };
656
660
  }>> & Readonly<{
657
661
  onClose?: ((...args: any[]) => any) | undefined;
658
662
  }>, {
659
663
  dismissible: boolean;
664
+ breakpoint: import("../../../neon").NeonResponsive;
660
665
  opaque: boolean;
661
666
  showTopNav: boolean;
662
667
  }, {}, {
@@ -1,3 +1,4 @@
1
+ import { NeonResponsive } from '@/common/enums/NeonResponsive';
1
2
  /**
2
3
  * A modal dialog component. This will be rendered above the content of the main window and can either be dismissed by the user or configured to require user interaction before dismissal.
3
4
  */
@@ -30,6 +31,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
30
31
  type: BooleanConstructor;
31
32
  default: boolean;
32
33
  };
34
+ /**
35
+ * Responsive breakpoint below which point the modal becomes fullscreen.
36
+ * Supports NeonResponsive.Mobile & NeonResponsive.MobileLarge.
37
+ */
38
+ breakpoint: {
39
+ type: () => NeonResponsive;
40
+ default: NeonResponsive;
41
+ };
33
42
  }>, {
34
43
  modal: import("vue").Ref<null, null>;
35
44
  close: () => void;
@@ -62,10 +71,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
62
71
  type: BooleanConstructor;
63
72
  default: boolean;
64
73
  };
74
+ /**
75
+ * Responsive breakpoint below which point the modal becomes fullscreen.
76
+ * Supports NeonResponsive.Mobile & NeonResponsive.MobileLarge.
77
+ */
78
+ breakpoint: {
79
+ type: () => NeonResponsive;
80
+ default: NeonResponsive;
81
+ };
65
82
  }>> & Readonly<{
66
83
  onClose?: ((...args: any[]) => any) | undefined;
67
84
  }>, {
68
85
  dismissible: boolean;
86
+ breakpoint: NeonResponsive;
69
87
  opaque: boolean;
70
88
  showTopNav: boolean;
71
89
  }, {}, {
@@ -80,8 +98,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
80
98
  };
81
99
  size: {
82
100
  type: () => import("../../../neon").NeonButtonSize;
83
- default: import("../../../neon").NeonButtonSize;
84
- };
101
+ default: import("../../../neon").NeonButtonSize; /**
102
+ * Emitted when the modal is closed.
103
+ * @type {void}
104
+ */
105
+ }; /**
106
+ * Emitted when the modal is closed.
107
+ * @type {void}
108
+ */
85
109
  color: {
86
110
  type: () => import("../../../neon").NeonFunctionalColor;
87
111
  default: import("../../../neon").NeonFunctionalColor;
@@ -179,8 +203,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
179
203
  };
180
204
  size: {
181
205
  type: () => import("../../../neon").NeonButtonSize;
182
- default: import("../../../neon").NeonButtonSize;
183
- };
206
+ default: import("../../../neon").NeonButtonSize; /**
207
+ * Emitted when the modal is closed.
208
+ * @type {void}
209
+ */
210
+ }; /**
211
+ * Emitted when the modal is closed.
212
+ * @type {void}
213
+ */
184
214
  color: {
185
215
  type: () => import("../../../neon").NeonFunctionalColor;
186
216
  default: import("../../../neon").NeonFunctionalColor;
@@ -273,12 +303,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
273
303
  };
274
304
  inverse: {
275
305
  type: BooleanConstructor;
276
- default: boolean; /**
277
- * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.
278
- */
279
- }; /**
280
- * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.
281
- */
306
+ default: boolean;
307
+ };
282
308
  disabled: {
283
309
  type: BooleanConstructor;
284
310
  default: boolean;
@@ -294,12 +320,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
294
320
  };
295
321
  inverse: {
296
322
  type: BooleanConstructor;
297
- default: boolean; /**
298
- * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.
299
- */
300
- }; /**
301
- * Whether the user is allowed to dismiss the modal by clicking outside the modal or pressing escape.
302
- */
323
+ default: boolean;
324
+ };
303
325
  disabled: {
304
326
  type: BooleanConstructor;
305
327
  default: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aotearoan/neon",
3
3
  "description": "Neon is a lightweight design library of Vue 3 components with minimal dependencies.",
4
- "version": "23.3.0",
4
+ "version": "23.3.1",
5
5
  "main": "./dist/neon.cjs.js",
6
6
  "module": "./dist/neon.es.js",
7
7
  "types": "./dist/src/neon.d.ts",
@@ -60,6 +60,10 @@
60
60
  max-width: 100%;
61
61
  }
62
62
  }
63
+
64
+ .neon-button + .neon-button {
65
+ border-left: var(--neon-border-width) var(--neon-border-style) var(--neon-color-inverse);
66
+ }
63
67
  }
64
68
 
65
69
  &.neon-field-group--internal {
@@ -146,8 +150,11 @@
146
150
  }
147
151
 
148
152
  .neon-button {
149
- margin-left: calc(-1 * var(--neon-border-width));
150
153
  z-index: var(--neon-z-index-above);
154
+
155
+ &:not(:first-child) {
156
+ margin-left: calc(-1 * var(--neon-border-width));
157
+ }
151
158
  }
152
159
 
153
160
  .neon-number {
@@ -23,6 +23,8 @@
23
23
  font-weight: var(--neon-font-weight-input-indicator);
24
24
  padding-left: var(--neon-space-12);
25
25
  padding-right: var(--neon-space-12);
26
+ white-space: nowrap;
27
+ line-height: 1;
26
28
  }
27
29
 
28
30
  &--s {
@@ -1,6 +1,57 @@
1
1
  @use '../includes/layout';
2
2
  @use '../includes/responsive';
3
3
 
4
+ @mixin modal-responsive() {
5
+ &.neon-modal--open {
6
+ &:not(.neon-dialog),
7
+ &:not(.neon-dialog) .neon-modal__container {
8
+ @include layout.width(100);
9
+ @include layout.min-height(100);
10
+ @include layout.max-height(100);
11
+
12
+ .neon-card {
13
+ @include layout.min-height(100);
14
+ }
15
+ }
16
+
17
+ &,
18
+ .neon-modal__container {
19
+ .neon-card {
20
+ .neon-card-body {
21
+ flex: 1 1 auto;
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
27
+
28
+ @mixin modal-responsive-larger-than() {
29
+ &,
30
+ .neon-modal__overlay {
31
+ transition: all ease-in-out var(--neon-animation-speed-fast);
32
+ }
33
+
34
+ .neon-modal__container {
35
+ margin-top: -30vh;
36
+ transition: all ease-in-out var(--neon-animation-speed-slow);
37
+
38
+ & > .neon-card {
39
+ margin-left: calc(2 * var(--neon-base-space));
40
+ margin-right: calc(2 * var(--neon-base-space));
41
+ }
42
+ }
43
+
44
+ &.neon-modal--open {
45
+ .neon-modal__container {
46
+ margin-top: -20vh;
47
+ }
48
+ }
49
+
50
+ .neon-modal__close {
51
+ right: var(--neon-space-12);
52
+ }
53
+ }
54
+
4
55
  @mixin modal {
5
56
  .neon-modal {
6
57
  align-items: center;
@@ -26,14 +77,6 @@
26
77
  z-index: var(--neon-z-index-below);
27
78
  pointer-events: none;
28
79
  transition: opacity ease-in-out var(--neon-animation-speed-fast);
29
-
30
- @include responsive.responsive(larger-than-mobile-large) {
31
- transition: all ease-in-out var(--neon-animation-speed-fast);
32
- .neon-card {
33
- margin-top: -30vh;
34
- transition: all ease-in-out var(--neon-animation-speed-slow);
35
- }
36
- }
37
80
  }
38
81
 
39
82
  &,
@@ -45,66 +88,23 @@
45
88
  @include layout.height(100);
46
89
 
47
90
  &--show-top-nav {
48
- @include layout.min-height(100, 'var(--neon-top-nav-height-desktop)');
49
- @include layout.height(100, 'var(--neon-top-nav-height-desktop)');
50
-
51
- @include responsive.responsive(tablet) {
52
- @include layout.min-height(100, 'var(--neon-top-nav-height-tablet)');
53
- @include layout.height(100, 'var(--neon-top-nav-height-tablet)');
54
- }
55
-
56
- @include responsive.responsive(mobile) {
57
- @include layout.min-height(100, 'var(--neon-top-nav-height-mobile)');
58
- @include layout.height(100, 'var(--neon-top-nav-height-mobile)');
59
- }
91
+ @include layout.min-height(100, 'var(--neon-top-nav-height)');
92
+ @include layout.height(100, 'var(--neon-top-nav-height)');
60
93
  }
61
94
  }
62
95
 
63
96
  &.neon-modal--open {
64
97
  opacity: 1;
65
98
 
66
- @include responsive.responsive(larger-than-mobile-large) {
67
- .neon-card {
68
- margin-top: -20vh;
69
- }
70
- }
71
-
72
99
  .neon-modal__container,
73
100
  .neon-modal__overlay {
74
101
  opacity: 1;
75
102
  pointer-events: auto;
76
103
  }
77
104
 
78
- &:not(.neon-dialog),
79
- &:not(.neon-dialog) .neon-modal__container {
80
- @include responsive.responsive(mobile-large) {
81
- @include layout.width(100);
82
- @include layout.min-height(100);
83
-
84
- .neon-card {
85
- @include layout.min-height(100);
86
- }
87
- }
88
- }
89
-
90
105
  &,
91
106
  .neon-modal__container {
92
107
  z-index: var(--neon-z-index-top);
93
-
94
- @include responsive.responsive(mobile-large) {
95
- .neon-card {
96
- .neon-card-body {
97
- flex: 1 1 auto;
98
- }
99
- }
100
- }
101
- }
102
- }
103
-
104
- &__container {
105
- @include responsive.responsive(larger-than-mobile-large) {
106
- padding-left: var(--neon-space-8);
107
- padding-right: var(--neon-space-8);
108
108
  }
109
109
  }
110
110
 
@@ -144,5 +144,25 @@
144
144
  }
145
145
  }
146
146
  }
147
+
148
+ &.neon-modal--breakpoint-mobile {
149
+ @include responsive.responsive(larger-than-mobile) {
150
+ @include modal-responsive-larger-than();
151
+ }
152
+
153
+ @include responsive.responsive(mobile) {
154
+ @include modal-responsive();
155
+ }
156
+ }
157
+
158
+ &.neon-modal--breakpoint-mobile-large {
159
+ @include responsive.responsive(larger-than-mobile-large) {
160
+ @include modal-responsive-larger-than();
161
+ }
162
+
163
+ @include responsive.responsive(mobile-large) {
164
+ @include modal-responsive();
165
+ }
166
+ }
147
167
  }
148
168
  }