@aotearoan/neon 19.0.2 → 21.0.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 (151) hide show
  1. package/dist/common/enums/NeonButtonStyle.cjs.js +1 -1
  2. package/dist/common/enums/NeonButtonStyle.cjs.js.map +1 -1
  3. package/dist/common/enums/NeonButtonStyle.es.js +1 -1
  4. package/dist/common/enums/NeonButtonStyle.es.js.map +1 -1
  5. package/dist/common/enums/NeonDropdownStyle.cjs.js +1 -1
  6. package/dist/common/enums/NeonDropdownStyle.cjs.js.map +1 -1
  7. package/dist/common/enums/NeonDropdownStyle.es.js +2 -2
  8. package/dist/common/enums/NeonDropdownStyle.es.js.map +1 -1
  9. package/dist/common/enums/NeonMode.cjs.js +1 -1
  10. package/dist/common/enums/NeonMode.cjs.js.map +1 -1
  11. package/dist/common/enums/NeonMode.es.js +1 -1
  12. package/dist/common/enums/NeonMode.es.js.map +1 -1
  13. package/dist/common/icons/light-mode-sunny.svg.cjs.js +26 -0
  14. package/dist/common/icons/light-mode-sunny.svg.cjs.js.map +1 -0
  15. package/dist/common/icons/light-mode-sunny.svg.es.js +29 -0
  16. package/dist/common/icons/light-mode-sunny.svg.es.js.map +1 -0
  17. package/dist/common/utils/NeonModeUtils.cjs.js +1 -1
  18. package/dist/common/utils/NeonModeUtils.cjs.js.map +1 -1
  19. package/dist/common/utils/NeonModeUtils.es.js +38 -43
  20. package/dist/common/utils/NeonModeUtils.es.js.map +1 -1
  21. package/dist/common/utils/RegisterIcons.cjs.js +1 -1
  22. package/dist/common/utils/RegisterIcons.cjs.js.map +1 -1
  23. package/dist/common/utils/RegisterIcons.es.js +23 -22
  24. package/dist/common/utils/RegisterIcons.es.js.map +1 -1
  25. package/dist/components/feedback/dialog/NeonDialog.vue.cjs.js +1 -1
  26. package/dist/components/feedback/dialog/NeonDialog.vue.cjs.js.map +1 -1
  27. package/dist/components/feedback/dialog/NeonDialog.vue.es.js +6 -5
  28. package/dist/components/feedback/dialog/NeonDialog.vue.es.js.map +1 -1
  29. package/dist/components/feedback/note/NeonNote.vue.cjs.js +1 -1
  30. package/dist/components/feedback/note/NeonNote.vue.cjs.js.map +1 -1
  31. package/dist/components/feedback/note/NeonNote.vue.es.js +1 -0
  32. package/dist/components/feedback/note/NeonNote.vue.es.js.map +1 -1
  33. package/dist/components/navigation/mobile-menu/NeonMobileMenu.cjs.js +2 -0
  34. package/dist/components/navigation/mobile-menu/NeonMobileMenu.cjs.js.map +1 -0
  35. package/dist/components/navigation/mobile-menu/NeonMobileMenu.es.js +44 -0
  36. package/dist/components/navigation/mobile-menu/NeonMobileMenu.es.js.map +1 -0
  37. package/dist/components/navigation/mobile-menu/NeonMobileMenu.vue.cjs.js +2 -0
  38. package/dist/components/navigation/mobile-menu/NeonMobileMenu.vue.cjs.js.map +1 -0
  39. package/dist/components/navigation/mobile-menu/NeonMobileMenu.vue.es.js +57 -0
  40. package/dist/components/navigation/mobile-menu/NeonMobileMenu.vue.es.js.map +1 -0
  41. package/dist/components/presentation/dropdown/NeonDropdown.cjs.js +1 -1
  42. package/dist/components/presentation/dropdown/NeonDropdown.cjs.js.map +1 -1
  43. package/dist/components/presentation/dropdown/NeonDropdown.es.js +44 -40
  44. package/dist/components/presentation/dropdown/NeonDropdown.es.js.map +1 -1
  45. package/dist/components/presentation/dropdown/NeonDropdown.vue.cjs.js +1 -1
  46. package/dist/components/presentation/dropdown/NeonDropdown.vue.cjs.js.map +1 -1
  47. package/dist/components/presentation/dropdown/NeonDropdown.vue.es.js +9 -9
  48. package/dist/components/presentation/dropdown/NeonDropdown.vue.es.js.map +1 -1
  49. package/dist/components/presentation/icon/NeonIcon.cjs.js.map +1 -1
  50. package/dist/components/presentation/icon/NeonIcon.es.js.map +1 -1
  51. package/dist/components/presentation/tabs/NeonTabs.cjs.js +1 -1
  52. package/dist/components/presentation/tabs/NeonTabs.cjs.js.map +1 -1
  53. package/dist/components/presentation/tabs/NeonTabs.es.js +13 -19
  54. package/dist/components/presentation/tabs/NeonTabs.es.js.map +1 -1
  55. package/dist/components/presentation/tabs/NeonTabs.vue.cjs.js +1 -1
  56. package/dist/components/presentation/tabs/NeonTabs.vue.cjs.js.map +1 -1
  57. package/dist/components/presentation/tabs/NeonTabs.vue.es.js +6 -6
  58. package/dist/components/presentation/tabs/NeonTabs.vue.es.js.map +1 -1
  59. package/dist/components/user-input/button/NeonButton.vue.cjs.js +1 -1
  60. package/dist/components/user-input/button/NeonButton.vue.cjs.js.map +1 -1
  61. package/dist/components/user-input/button/NeonButton.vue.es.js +12 -12
  62. package/dist/components/user-input/button/NeonButton.vue.es.js.map +1 -1
  63. package/dist/components/user-input/field/NeonField.vue.cjs.js +1 -1
  64. package/dist/components/user-input/field/NeonField.vue.cjs.js.map +1 -1
  65. package/dist/components/user-input/field/NeonField.vue.es.js +1 -1
  66. package/dist/components/user-input/field/NeonField.vue.es.js.map +1 -1
  67. package/dist/components/user-input/file/NeonFile.vue.cjs.js +1 -1
  68. package/dist/components/user-input/file/NeonFile.vue.cjs.js.map +1 -1
  69. package/dist/components/user-input/file/NeonFile.vue.es.js +1 -0
  70. package/dist/components/user-input/file/NeonFile.vue.es.js.map +1 -1
  71. package/dist/components/user-input/input/NeonInput.cjs.js +1 -1
  72. package/dist/components/user-input/input/NeonInput.cjs.js.map +1 -1
  73. package/dist/components/user-input/input/NeonInput.es.js +17 -17
  74. package/dist/components/user-input/input/NeonInput.es.js.map +1 -1
  75. package/dist/components/user-input/select/NeonSelect.cjs.js +1 -1
  76. package/dist/components/user-input/select/NeonSelect.cjs.js.map +1 -1
  77. package/dist/components/user-input/select/NeonSelect.es.js +75 -69
  78. package/dist/components/user-input/select/NeonSelect.es.js.map +1 -1
  79. package/dist/components/user-input/select/NeonSelect.vue.cjs.js +1 -1
  80. package/dist/components/user-input/select/NeonSelect.vue.cjs.js.map +1 -1
  81. package/dist/components/user-input/select/NeonSelect.vue.es.js +29 -21
  82. package/dist/components/user-input/select/NeonSelect.vue.es.js.map +1 -1
  83. package/dist/neon.cjs.js +1 -1
  84. package/dist/neon.es.js +96 -96
  85. package/dist/src/common/enums/NeonButtonStyle.d.ts +6 -1
  86. package/dist/src/common/enums/NeonDropdownStyle.d.ts +5 -2
  87. package/dist/src/common/enums/NeonMode.d.ts +3 -1
  88. package/dist/src/common/models/NeonMenuItem.d.ts +2 -2
  89. package/dist/src/common/utils/NeonModeUtils.d.ts +17 -21
  90. package/dist/src/components/feedback/linear-progress/NeonLinearProgress.d.ts +2 -6
  91. package/dist/src/components/navigation/dropdown-menu/NeonDropdownMenu.d.ts +5 -0
  92. package/dist/src/components/navigation/menu/NeonMenu.d.ts +9 -4
  93. package/dist/src/components/navigation/mobile-menu/NeonMobileMenu.d.ts +2630 -0
  94. package/dist/src/components/navigation/mobile-menu/NeonMobileMenu.vue.d.ts +2 -0
  95. package/dist/src/components/presentation/dropdown/NeonDropdown.d.ts +16 -16
  96. package/dist/src/components/presentation/icon/NeonIcon.d.ts +1 -1
  97. package/dist/src/components/presentation/tabs/NeonTabs.d.ts +2 -19
  98. package/dist/src/components/user-input/date-picker/NeonDatePicker.d.ts +21 -2
  99. package/dist/src/components/user-input/file/NeonFile.d.ts +8 -24
  100. package/dist/src/components/user-input/filter-list/NeonFilterList.d.ts +4 -12
  101. package/dist/src/components/user-input/input/NeonInput.d.ts +8 -2
  102. package/dist/src/components/user-input/search/NeonSearch.d.ts +77 -42
  103. package/dist/src/components/user-input/select/NeonSelect.d.ts +133 -203
  104. package/dist/src/neon.d.ts +1 -1
  105. package/package.json +1 -1
  106. package/src/sass/color-variables.scss +6 -4
  107. package/src/sass/components/_action-menu.scss +1 -1
  108. package/src/sass/components/_alert-container.scss +2 -2
  109. package/src/sass/components/_badge.scss +2 -2
  110. package/src/sass/components/_button.scss +25 -1
  111. package/src/sass/components/_card-list.scss +2 -2
  112. package/src/sass/components/_date-picker.scss +7 -7
  113. package/src/sass/components/_dropdown-menu.scss +2 -2
  114. package/src/sass/components/_expansion-panel.scss +2 -2
  115. package/src/sass/components/_filter-list.scss +6 -6
  116. package/src/sass/components/_icon.scss +1 -1
  117. package/src/sass/components/_image-carousel.scss +2 -1
  118. package/src/sass/components/_input.scss +11 -11
  119. package/src/sass/components/_label.scss +1 -1
  120. package/src/sass/components/_linear-progress.scss +1 -1
  121. package/src/sass/components/_list.scss +2 -2
  122. package/src/sass/components/_menu.scss +1 -1
  123. package/src/sass/components/_mobile-menu.scss +110 -0
  124. package/src/sass/components/_note.scss +1 -1
  125. package/src/sass/components/_notification-counter.scss +2 -2
  126. package/src/sass/components/_number.scss +2 -2
  127. package/src/sass/components/_range-slider.scss +1 -1
  128. package/src/sass/components/_search.scss +2 -2
  129. package/src/sass/components/_select.scss +16 -2
  130. package/src/sass/components/_slider.scss +1 -1
  131. package/src/sass/components/_stepper.scss +3 -3
  132. package/src/sass/components/_switch.scss +1 -1
  133. package/src/sass/components/_tabs.scss +46 -81
  134. package/src/sass/components/_toggle.scss +3 -3
  135. package/src/sass/components/_tooltip.scss +7 -7
  136. package/src/sass/components/_tree-menu.scss +6 -6
  137. package/src/sass/components/components.scss +1 -0
  138. package/src/sass/global/_base-html.scss +23 -15
  139. package/src/sass/global/_table.scss +4 -4
  140. package/src/sass/global/_typography.scss +2 -1
  141. package/src/sass/includes/_dependencies.scss +1 -0
  142. package/src/sass/includes/_outline.scss +1 -1
  143. package/src/sass/includes/_typography.scss +1 -1
  144. package/src/sass/palette.scss +6 -9
  145. package/src/sass/theme.scss +4 -0
  146. package/src/sass/variables.scss +63 -55
  147. package/dist/common/enums/NeonTabsStyle.cjs.js +0 -2
  148. package/dist/common/enums/NeonTabsStyle.cjs.js.map +0 -1
  149. package/dist/common/enums/NeonTabsStyle.es.js +0 -5
  150. package/dist/common/enums/NeonTabsStyle.es.js.map +0 -1
  151. package/dist/src/common/enums/NeonTabsStyle.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterIcons.es.js","sources":["../../../src/common/utils/RegisterIcons.ts"],"sourcesContent":["import { NeonIconRegistry } from './NeonIconRegistry';\nimport alignCenter from '@/common/icons/align-center.svg';\nimport alignLeft from '@/common/icons/align-left.svg';\nimport alignRight from '@/common/icons/align-right.svg';\nimport at from '@/common/icons/at.svg';\nimport calendar from '@/common/icons/calendar.svg';\nimport check from '@/common/icons/check.svg';\nimport checkCircle from '@/common/icons/check-circle.svg';\nimport chevronDown from '@/common/icons/chevron-down.svg';\nimport chevronLeft from '@/common/icons/chevron-left.svg';\nimport chevronRight from '@/common/icons/chevron-right.svg';\nimport chevronUp from '@/common/icons/chevron-up.svg';\nimport colorFilter from '@/common/icons/color-filter.svg';\nimport contrast from '@/common/icons/contrast.svg';\nimport copy from '@/common/icons/copy.svg';\nimport dash from '@/common/icons/dash.svg';\nimport desktop from '@/common/icons/desktop.svg';\nimport dot from '@/common/icons/dot.svg';\nimport download from '@/common/icons/download.svg';\nimport ellipsis from '@/common/icons/ellipsis.svg';\nimport exclamationCircle from '@/common/icons/exclamation-circle.svg';\nimport feather from '@/common/icons/feather.svg';\nimport github from '@/common/icons/github.svg';\nimport hammer from '@/common/icons/hammer.svg';\nimport heart from '@/common/icons/heart.svg';\nimport heartOutline from '@/common/icons/heart-outline.svg';\nimport htmlLogo from '@/common/icons/html-logo.svg';\nimport images from '@/common/icons/images.svg';\nimport infoCircle from '@/common/icons/info-circle.svg';\nimport linkExternal from '@/common/icons/link-external.svg';\nimport loading from '@/common/icons/loading.svg';\nimport lock from '@/common/icons/lock.svg';\nimport mail from '@/common/icons/mail.svg';\nimport menu from '@/common/icons/menu.svg';\nimport minus from '@/common/icons/minus.svg';\nimport moon from '@/common/icons/moon.svg';\nimport neonLogo from '@/common/icons/neon-logo.svg';\nimport neonWordmark from '@/common/icons/neon-wordmark.svg';\nimport palette from '@/common/icons/palette.svg';\nimport plus from '@/common/icons/plus.svg';\nimport send from '@/common/icons/send.svg';\nimport search from '@/common/icons/search.svg';\nimport sun from '@/common/icons/sun.svg';\nimport switchIcon from '@/common/icons/switch.svg';\nimport times from '@/common/icons/times.svg';\nimport timesCircle from '@/common/icons/times-circle.svg';\nimport user from '@/common/icons/user.svg';\nimport visibilityOff from '@/common/icons/visibility-off.svg';\nimport visibilityOn from '@/common/icons/visibility-on.svg';\n\n/**\n * A helper for initialising the provided set of Neon icons with the\n * <a href=\"/utils/NeonIconRegistry\">NeonIconRegistry</a>.\n */\nexport class RegisterIcons {\n /**\n * Register all Neon default icons in the NeonIconRegistry. Call this in an app's <em>main.ts</em> to use Neon's\n * provided icons.\n */\n public static register() {\n NeonIconRegistry.addIcon('align-center', alignCenter);\n NeonIconRegistry.addIcon('align-left', alignLeft);\n NeonIconRegistry.addIcon('align-right', alignRight);\n NeonIconRegistry.addIcon('at', at);\n NeonIconRegistry.addIcon('calendar', calendar);\n NeonIconRegistry.addIcon('check', check);\n NeonIconRegistry.addIcon('check-circle', checkCircle);\n NeonIconRegistry.addIcon('chevron-down', chevronDown);\n NeonIconRegistry.addIcon('chevron-left', chevronLeft);\n NeonIconRegistry.addIcon('chevron-right', chevronRight);\n NeonIconRegistry.addIcon('chevron-up', chevronUp);\n NeonIconRegistry.addIcon('color-filter', colorFilter);\n NeonIconRegistry.addIcon('contrast', contrast);\n NeonIconRegistry.addIcon('copy', copy);\n NeonIconRegistry.addIcon('dash', dash);\n NeonIconRegistry.addIcon('desktop', desktop);\n NeonIconRegistry.addIcon('dot', dot);\n NeonIconRegistry.addIcon('download', download);\n NeonIconRegistry.addIcon('ellipsis', ellipsis);\n NeonIconRegistry.addIcon('exclamation-circle', exclamationCircle);\n NeonIconRegistry.addIcon('feather', feather);\n NeonIconRegistry.addIcon('github', github);\n NeonIconRegistry.addIcon('hammer', hammer);\n NeonIconRegistry.addIcon('heart', heart);\n NeonIconRegistry.addIcon('heart-outline', heartOutline);\n NeonIconRegistry.addIcon('html-logo', htmlLogo);\n NeonIconRegistry.addIcon('images', images);\n NeonIconRegistry.addIcon('info-circle', infoCircle);\n NeonIconRegistry.addIcon('link-external', linkExternal);\n NeonIconRegistry.addIcon('loading', loading);\n NeonIconRegistry.addIcon('lock', lock);\n NeonIconRegistry.addIcon('mail', mail);\n NeonIconRegistry.addIcon('menu', menu);\n NeonIconRegistry.addIcon('minus', minus);\n NeonIconRegistry.addIcon('moon', moon);\n NeonIconRegistry.addIcon('neon-logo', neonLogo);\n NeonIconRegistry.addIcon('neon-wordmark', neonWordmark);\n NeonIconRegistry.addIcon('palette', palette);\n NeonIconRegistry.addIcon('plus', plus);\n NeonIconRegistry.addIcon('send', send);\n NeonIconRegistry.addIcon('search', search);\n NeonIconRegistry.addIcon('sun', sun);\n NeonIconRegistry.addIcon('switch', switchIcon);\n NeonIconRegistry.addIcon('times', times);\n NeonIconRegistry.addIcon('times-circle', timesCircle);\n NeonIconRegistry.addIcon('user', user);\n NeonIconRegistry.addIcon('visibility-off', visibilityOff);\n NeonIconRegistry.addIcon('visibility-on', visibilityOn);\n }\n}\n"],"names":["RegisterIcons","NeonIconRegistry","alignCenter","alignLeft","alignRight","at","calendar","check","checkCircle","chevronDown","chevronLeft","chevronRight","chevronUp","colorFilter","contrast","copy","dash","desktop","dot","download","ellipsis","exclamationCircle","feather","github","hammer","heart","heartOutline","htmlLogo","images","infoCircle","linkExternal","loading","lock","mail","menu","minus","moon","neonLogo","neonWordmark","palette","plus","send","search","sun","switchIcon","times","timesCircle","user","visibilityOff","visibilityOn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAMA,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKzB,OAAc,WAAW;AACvB,IAAAC,EAAiB,QAAQ,gBAAgBC,CAAW,GACpDD,EAAiB,QAAQ,cAAcE,CAAS,GAChDF,EAAiB,QAAQ,eAAeG,CAAU,GAClDH,EAAiB,QAAQ,MAAMI,CAAE,GACjCJ,EAAiB,QAAQ,YAAYK,CAAQ,GAC7CL,EAAiB,QAAQ,SAASM,CAAK,GACvCN,EAAiB,QAAQ,gBAAgBO,CAAW,GACpDP,EAAiB,QAAQ,gBAAgBQ,CAAW,GACpDR,EAAiB,QAAQ,gBAAgBS,CAAW,GACpDT,EAAiB,QAAQ,iBAAiBU,CAAY,GACtDV,EAAiB,QAAQ,cAAcW,CAAS,GAChDX,EAAiB,QAAQ,gBAAgBY,CAAW,GACpDZ,EAAiB,QAAQ,YAAYa,CAAQ,GAC7Cb,EAAiB,QAAQ,QAAQc,CAAI,GACrCd,EAAiB,QAAQ,QAAQe,CAAI,GACrCf,EAAiB,QAAQ,WAAWgB,CAAO,GAC3ChB,EAAiB,QAAQ,OAAOiB,CAAG,GACnCjB,EAAiB,QAAQ,YAAYkB,CAAQ,GAC7ClB,EAAiB,QAAQ,YAAYmB,CAAQ,GAC7CnB,EAAiB,QAAQ,sBAAsBoB,CAAiB,GAChEpB,EAAiB,QAAQ,WAAWqB,CAAO,GAC3CrB,EAAiB,QAAQ,UAAUsB,CAAM,GACzCtB,EAAiB,QAAQ,UAAUuB,CAAM,GACzCvB,EAAiB,QAAQ,SAASwB,CAAK,GACvCxB,EAAiB,QAAQ,iBAAiByB,CAAY,GACtDzB,EAAiB,QAAQ,aAAa0B,CAAQ,GAC9C1B,EAAiB,QAAQ,UAAU2B,CAAM,GACzC3B,EAAiB,QAAQ,eAAe4B,CAAU,GAClD5B,EAAiB,QAAQ,iBAAiB6B,CAAY,GACtD7B,EAAiB,QAAQ,WAAW8B,CAAO,GAC3C9B,EAAiB,QAAQ,QAAQ+B,CAAI,GACrC/B,EAAiB,QAAQ,QAAQgC,CAAI,GACrChC,EAAiB,QAAQ,QAAQiC,CAAI,GACrCjC,EAAiB,QAAQ,SAASkC,CAAK,GACvClC,EAAiB,QAAQ,QAAQmC,CAAI,GACrCnC,EAAiB,QAAQ,aAAaoC,CAAQ,GAC9CpC,EAAiB,QAAQ,iBAAiBqC,CAAY,GACtDrC,EAAiB,QAAQ,WAAWsC,CAAO,GAC3CtC,EAAiB,QAAQ,QAAQuC,CAAI,GACrCvC,EAAiB,QAAQ,QAAQwC,CAAI,GACrCxC,EAAiB,QAAQ,UAAUyC,CAAM,GACzCzC,EAAiB,QAAQ,OAAO0C,CAAG,GACnC1C,EAAiB,QAAQ,UAAU2C,CAAU,GAC7C3C,EAAiB,QAAQ,SAAS4C,CAAK,GACvC5C,EAAiB,QAAQ,gBAAgB6C,CAAW,GACpD7C,EAAiB,QAAQ,QAAQ8C,CAAI,GACrC9C,EAAiB,QAAQ,kBAAkB+C,CAAa,GACxD/C,EAAiB,QAAQ,iBAAiBgD,CAAY;AAAA,EACxD;AACF;"}
1
+ {"version":3,"file":"RegisterIcons.es.js","sources":["../../../src/common/utils/RegisterIcons.ts"],"sourcesContent":["import { NeonIconRegistry } from './NeonIconRegistry';\nimport alignCenter from '@/common/icons/align-center.svg';\nimport alignLeft from '@/common/icons/align-left.svg';\nimport alignRight from '@/common/icons/align-right.svg';\nimport at from '@/common/icons/at.svg';\nimport calendar from '@/common/icons/calendar.svg';\nimport check from '@/common/icons/check.svg';\nimport checkCircle from '@/common/icons/check-circle.svg';\nimport chevronDown from '@/common/icons/chevron-down.svg';\nimport chevronLeft from '@/common/icons/chevron-left.svg';\nimport chevronRight from '@/common/icons/chevron-right.svg';\nimport chevronUp from '@/common/icons/chevron-up.svg';\nimport colorFilter from '@/common/icons/color-filter.svg';\nimport contrast from '@/common/icons/contrast.svg';\nimport copy from '@/common/icons/copy.svg';\nimport dash from '@/common/icons/dash.svg';\nimport desktop from '@/common/icons/desktop.svg';\nimport dot from '@/common/icons/dot.svg';\nimport download from '@/common/icons/download.svg';\nimport ellipsis from '@/common/icons/ellipsis.svg';\nimport exclamationCircle from '@/common/icons/exclamation-circle.svg';\nimport feather from '@/common/icons/feather.svg';\nimport github from '@/common/icons/github.svg';\nimport hammer from '@/common/icons/hammer.svg';\nimport heart from '@/common/icons/heart.svg';\nimport heartOutline from '@/common/icons/heart-outline.svg';\nimport htmlLogo from '@/common/icons/html-logo.svg';\nimport images from '@/common/icons/images.svg';\nimport infoCircle from '@/common/icons/info-circle.svg';\nimport lightModeSunny from '@/common/icons/light-mode-sunny.svg';\nimport linkExternal from '@/common/icons/link-external.svg';\nimport loading from '@/common/icons/loading.svg';\nimport lock from '@/common/icons/lock.svg';\nimport mail from '@/common/icons/mail.svg';\nimport menu from '@/common/icons/menu.svg';\nimport minus from '@/common/icons/minus.svg';\nimport moon from '@/common/icons/moon.svg';\nimport neonLogo from '@/common/icons/neon-logo.svg';\nimport neonWordmark from '@/common/icons/neon-wordmark.svg';\nimport palette from '@/common/icons/palette.svg';\nimport plus from '@/common/icons/plus.svg';\nimport send from '@/common/icons/send.svg';\nimport search from '@/common/icons/search.svg';\nimport sun from '@/common/icons/sun.svg';\nimport switchIcon from '@/common/icons/switch.svg';\nimport times from '@/common/icons/times.svg';\nimport timesCircle from '@/common/icons/times-circle.svg';\nimport user from '@/common/icons/user.svg';\nimport visibilityOff from '@/common/icons/visibility-off.svg';\nimport visibilityOn from '@/common/icons/visibility-on.svg';\n\n/**\n * A helper for initialising the provided set of Neon icons with the\n * <a href=\"/utils/NeonIconRegistry\">NeonIconRegistry</a>.\n */\nexport class RegisterIcons {\n /**\n * Register all Neon default icons in the NeonIconRegistry. Call this in an app's <em>main.ts</em> to use Neon's\n * provided icons.\n */\n public static register() {\n NeonIconRegistry.addIcon('align-center', alignCenter);\n NeonIconRegistry.addIcon('align-left', alignLeft);\n NeonIconRegistry.addIcon('align-right', alignRight);\n NeonIconRegistry.addIcon('at', at);\n NeonIconRegistry.addIcon('calendar', calendar);\n NeonIconRegistry.addIcon('check', check);\n NeonIconRegistry.addIcon('check-circle', checkCircle);\n NeonIconRegistry.addIcon('chevron-down', chevronDown);\n NeonIconRegistry.addIcon('chevron-left', chevronLeft);\n NeonIconRegistry.addIcon('chevron-right', chevronRight);\n NeonIconRegistry.addIcon('chevron-up', chevronUp);\n NeonIconRegistry.addIcon('color-filter', colorFilter);\n NeonIconRegistry.addIcon('contrast', contrast);\n NeonIconRegistry.addIcon('copy', copy);\n NeonIconRegistry.addIcon('dash', dash);\n NeonIconRegistry.addIcon('desktop', desktop);\n NeonIconRegistry.addIcon('dot', dot);\n NeonIconRegistry.addIcon('download', download);\n NeonIconRegistry.addIcon('ellipsis', ellipsis);\n NeonIconRegistry.addIcon('exclamation-circle', exclamationCircle);\n NeonIconRegistry.addIcon('feather', feather);\n NeonIconRegistry.addIcon('github', github);\n NeonIconRegistry.addIcon('hammer', hammer);\n NeonIconRegistry.addIcon('heart', heart);\n NeonIconRegistry.addIcon('heart-outline', heartOutline);\n NeonIconRegistry.addIcon('html-logo', htmlLogo);\n NeonIconRegistry.addIcon('images', images);\n NeonIconRegistry.addIcon('info-circle', infoCircle);\n NeonIconRegistry.addIcon('light-mode-sunny', lightModeSunny);\n NeonIconRegistry.addIcon('link-external', linkExternal);\n NeonIconRegistry.addIcon('loading', loading);\n NeonIconRegistry.addIcon('lock', lock);\n NeonIconRegistry.addIcon('mail', mail);\n NeonIconRegistry.addIcon('menu', menu);\n NeonIconRegistry.addIcon('minus', minus);\n NeonIconRegistry.addIcon('moon', moon);\n NeonIconRegistry.addIcon('neon-logo', neonLogo);\n NeonIconRegistry.addIcon('neon-wordmark', neonWordmark);\n NeonIconRegistry.addIcon('palette', palette);\n NeonIconRegistry.addIcon('plus', plus);\n NeonIconRegistry.addIcon('send', send);\n NeonIconRegistry.addIcon('search', search);\n NeonIconRegistry.addIcon('sun', sun);\n NeonIconRegistry.addIcon('switch', switchIcon);\n NeonIconRegistry.addIcon('times', times);\n NeonIconRegistry.addIcon('times-circle', timesCircle);\n NeonIconRegistry.addIcon('user', user);\n NeonIconRegistry.addIcon('visibility-off', visibilityOff);\n NeonIconRegistry.addIcon('visibility-on', visibilityOn);\n }\n}\n"],"names":["RegisterIcons","NeonIconRegistry","alignCenter","alignLeft","alignRight","at","calendar","check","checkCircle","chevronDown","chevronLeft","chevronRight","chevronUp","colorFilter","contrast","copy","dash","desktop","dot","download","ellipsis","exclamationCircle","feather","github","hammer","heart","heartOutline","htmlLogo","images","infoCircle","lightModeSunny","linkExternal","loading","lock","mail","menu","minus","moon","neonLogo","neonWordmark","palette","plus","send","search","sun","switchIcon","times","timesCircle","user","visibilityOff","visibilityOn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDO,MAAMA,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKzB,OAAc,WAAW;AACvB,IAAAC,EAAiB,QAAQ,gBAAgBC,CAAW,GACpDD,EAAiB,QAAQ,cAAcE,CAAS,GAChDF,EAAiB,QAAQ,eAAeG,CAAU,GAClDH,EAAiB,QAAQ,MAAMI,CAAE,GACjCJ,EAAiB,QAAQ,YAAYK,CAAQ,GAC7CL,EAAiB,QAAQ,SAASM,CAAK,GACvCN,EAAiB,QAAQ,gBAAgBO,CAAW,GACpDP,EAAiB,QAAQ,gBAAgBQ,CAAW,GACpDR,EAAiB,QAAQ,gBAAgBS,CAAW,GACpDT,EAAiB,QAAQ,iBAAiBU,CAAY,GACtDV,EAAiB,QAAQ,cAAcW,CAAS,GAChDX,EAAiB,QAAQ,gBAAgBY,CAAW,GACpDZ,EAAiB,QAAQ,YAAYa,CAAQ,GAC7Cb,EAAiB,QAAQ,QAAQc,CAAI,GACrCd,EAAiB,QAAQ,QAAQe,CAAI,GACrCf,EAAiB,QAAQ,WAAWgB,CAAO,GAC3ChB,EAAiB,QAAQ,OAAOiB,CAAG,GACnCjB,EAAiB,QAAQ,YAAYkB,CAAQ,GAC7ClB,EAAiB,QAAQ,YAAYmB,CAAQ,GAC7CnB,EAAiB,QAAQ,sBAAsBoB,CAAiB,GAChEpB,EAAiB,QAAQ,WAAWqB,CAAO,GAC3CrB,EAAiB,QAAQ,UAAUsB,CAAM,GACzCtB,EAAiB,QAAQ,UAAUuB,CAAM,GACzCvB,EAAiB,QAAQ,SAASwB,CAAK,GACvCxB,EAAiB,QAAQ,iBAAiByB,CAAY,GACtDzB,EAAiB,QAAQ,aAAa0B,CAAQ,GAC9C1B,EAAiB,QAAQ,UAAU2B,CAAM,GACzC3B,EAAiB,QAAQ,eAAe4B,CAAU,GAClD5B,EAAiB,QAAQ,oBAAoB6B,CAAc,GAC3D7B,EAAiB,QAAQ,iBAAiB8B,CAAY,GACtD9B,EAAiB,QAAQ,WAAW+B,CAAO,GAC3C/B,EAAiB,QAAQ,QAAQgC,CAAI,GACrChC,EAAiB,QAAQ,QAAQiC,CAAI,GACrCjC,EAAiB,QAAQ,QAAQkC,CAAI,GACrClC,EAAiB,QAAQ,SAASmC,CAAK,GACvCnC,EAAiB,QAAQ,QAAQoC,CAAI,GACrCpC,EAAiB,QAAQ,aAAaqC,CAAQ,GAC9CrC,EAAiB,QAAQ,iBAAiBsC,CAAY,GACtDtC,EAAiB,QAAQ,WAAWuC,CAAO,GAC3CvC,EAAiB,QAAQ,QAAQwC,CAAI,GACrCxC,EAAiB,QAAQ,QAAQyC,CAAI,GACrCzC,EAAiB,QAAQ,UAAU0C,CAAM,GACzC1C,EAAiB,QAAQ,OAAO2C,CAAG,GACnC3C,EAAiB,QAAQ,UAAU4C,CAAU,GAC7C5C,EAAiB,QAAQ,SAAS6C,CAAK,GACvC7C,EAAiB,QAAQ,gBAAgB8C,CAAW,GACpD9C,EAAiB,QAAQ,QAAQ+C,CAAI,GACrC/C,EAAiB,QAAQ,kBAAkBgD,CAAa,GACxDhD,EAAiB,QAAQ,iBAAiBiD,CAAY;AAAA,EACxD;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("./NeonDialog.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-dialog__title"},u=["innerHTML"],p={ref:"actions"};function _(o,n,b,f,v,C){const l=e.resolveComponent("neon-button"),a=e.resolveComponent("neon-card-body"),r=e.resolveComponent("neon-card"),i=e.resolveComponent("neon-modal");return e.openBlock(),e.createBlock(i,{opaque:o.opaque,open:o.open,class:"neon-dialog",onKeydown:n[2]||(n[2]=e.withKeys(t=>o.cancel(),["esc"]))},{default:e.withCtx(()=>[e.createVNode(r,{size:"m"},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("h6",d,e.toDisplayString(o.title),1),e.createElementVNode("div",{class:"neon-dialog__question",innerHTML:o.question},null,8,u)]),e.createElementVNode("div",p,[e.createVNode(l,{"aria-label":o.cancelLabel,"full-width":!0,label:o.cancelLabel,size:"s",onClick:n[0]||(n[0]=t=>o.cancel())},null,8,["aria-label","label"]),e.createVNode(l,{"alternate-color":o.alternateColor,"aria-label":o.confirmLabel,color:o.color,"full-width":!0,label:o.confirmLabel,class:"neon-dialog__confirm-button",size:"s",onClick:n[1]||(n[1]=t=>o.confirm())},null,8,["alternate-color","aria-label","color","label"])],512)]),_:1})]),_:1})]),_:1},8,["opaque","open"])}const m=c(s,[["render",_]]);module.exports=m;
1
+ "use strict";const s=require("./NeonDialog.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),d={class:"neon-dialog__title"},u=["innerHTML"],p={ref:"actions"};function _(o,n,b,f,v,C){const l=e.resolveComponent("neon-button"),a=e.resolveComponent("neon-card-body"),r=e.resolveComponent("neon-card"),i=e.resolveComponent("neon-modal");return e.openBlock(),e.createBlock(i,{opaque:o.opaque,open:o.open,class:"neon-dialog",onKeydown:n[2]||(n[2]=e.withKeys(t=>o.cancel(),["esc"]))},{default:e.withCtx(()=>[e.createVNode(r,{size:"m"},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("h6",d,e.toDisplayString(o.title),1),e.createElementVNode("div",{class:"neon-dialog__question",innerHTML:o.question},null,8,u)]),e.createElementVNode("div",p,[e.createVNode(l,{"aria-label":o.cancelLabel,"full-width":!0,label:o.cancelLabel,color:"low-contrast",size:"s",onClick:n[0]||(n[0]=t=>o.cancel())},null,8,["aria-label","label"]),e.createVNode(l,{"alternate-color":o.alternateColor,"aria-label":o.confirmLabel,color:o.color,"full-width":!0,label:o.confirmLabel,class:"neon-dialog__confirm-button",size:"s",onClick:n[1]||(n[1]=t=>o.confirm())},null,8,["alternate-color","aria-label","color","label"])],512)]),_:1})]),_:1})]),_:1},8,["opaque","open"])}const m=c(s,[["render",_]]);module.exports=m;
2
2
  //# sourceMappingURL=NeonDialog.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonDialog.vue.cjs.js","sources":["../../../../src/components/feedback/dialog/NeonDialog.vue"],"sourcesContent":["<template>\n <neon-modal :opaque=\"opaque\" :open=\"open\" class=\"neon-dialog\" @keydown.esc=\"cancel()\">\n <neon-card size=\"m\">\n <neon-card-body>\n <div>\n <h6 class=\"neon-dialog__title\">{{ title }}</h6>\n <div class=\"neon-dialog__question\" v-html=\"question\"></div>\n </div>\n <div ref=\"actions\">\n <neon-button :aria-label=\"cancelLabel\" :full-width=\"true\" :label=\"cancelLabel\" size=\"s\" @click=\"cancel()\" />\n <neon-button\n :alternate-color=\"alternateColor\"\n :aria-label=\"confirmLabel\"\n :color=\"color\"\n :full-width=\"true\"\n :label=\"confirmLabel\"\n class=\"neon-dialog__confirm-button\"\n size=\"s\"\n @click=\"confirm()\"\n />\n </div>\n </neon-card-body>\n </neon-card>\n </neon-modal>\n</template>\n\n<script lang=\"ts\" src=\"./NeonDialog.ts\" />\n"],"names":["_hoisted_1","_hoisted_3","_createBlock","_component_neon_modal","_ctx","_createVNode","_component_neon_card","_component_neon_card_body","_createElementVNode","_toDisplayString","_component_neon_button"],"mappings":"qIAKcA,EAAA,CAAA,MAAM,oBAAoB,kBAG3BC,EAAA,CAAA,IAAI,SAAS,qMAPxBC,EAAAA,YAsBaC,EAAA,CAtBA,OAAQC,EAAA,OAAS,KAAMA,EAAA,KAAM,MAAM,cAAe,oCAAaA,EAAA,OAAM,EAAA,CAAA,KAAA,CAAA,uBAChF,IAoBY,CApBZC,EAAAA,YAoBYC,EAAA,CApBD,KAAK,GAAG,EAAA,mBACjB,IAkBiB,CAlBjBD,EAAAA,YAkBiBE,EAAA,KAAA,mBAjBf,IAGM,CAHNC,EAAAA,mBAGM,MAAA,KAAA,CAFJA,EAAAA,mBAA+C,KAA/CR,EAA+CS,EAAAA,gBAAbL,EAAA,KAAK,EAAA,CAAA,EACvCI,EAAAA,mBAA2D,MAAA,CAAtD,MAAM,wBAAwB,UAAQJ,EAAA,sBAE7CI,EAAAA,mBAYM,MAZNP,EAYM,CAXJI,EAAAA,YAA4GK,EAAA,CAA9F,aAAYN,EAAA,YAAc,aAAY,GAAO,MAAOA,EAAA,YAAa,KAAK,IAAK,uBAAOA,EAAA,0CAChGC,EAAAA,YASEK,EAAA,CARC,kBAAiBN,EAAA,eACjB,aAAYA,EAAA,aACZ,MAAOA,EAAA,MACP,aAAY,GACZ,MAAOA,EAAA,aACR,MAAM,8BACN,KAAK,IACJ,uBAAOA,EAAA"}
1
+ {"version":3,"file":"NeonDialog.vue.cjs.js","sources":["../../../../src/components/feedback/dialog/NeonDialog.vue"],"sourcesContent":["<template>\n <neon-modal :opaque=\"opaque\" :open=\"open\" class=\"neon-dialog\" @keydown.esc=\"cancel()\">\n <neon-card size=\"m\">\n <neon-card-body>\n <div>\n <h6 class=\"neon-dialog__title\">{{ title }}</h6>\n <div class=\"neon-dialog__question\" v-html=\"question\"></div>\n </div>\n <div ref=\"actions\">\n <neon-button\n :aria-label=\"cancelLabel\"\n :full-width=\"true\"\n :label=\"cancelLabel\"\n color=\"low-contrast\"\n size=\"s\"\n @click=\"cancel()\"\n />\n <neon-button\n :alternate-color=\"alternateColor\"\n :aria-label=\"confirmLabel\"\n :color=\"color\"\n :full-width=\"true\"\n :label=\"confirmLabel\"\n class=\"neon-dialog__confirm-button\"\n size=\"s\"\n @click=\"confirm()\"\n />\n </div>\n </neon-card-body>\n </neon-card>\n </neon-modal>\n</template>\n\n<script lang=\"ts\" src=\"./NeonDialog.ts\" />\n"],"names":["_hoisted_1","_hoisted_3","_createBlock","_component_neon_modal","_ctx","_createVNode","_component_neon_card","_component_neon_card_body","_createElementVNode","_toDisplayString","_component_neon_button"],"mappings":"qIAKcA,EAAA,CAAA,MAAM,oBAAoB,kBAG3BC,EAAA,CAAA,IAAI,SAAS,qMAPxBC,EAAAA,YA6BaC,EAAA,CA7BA,OAAQC,EAAA,OAAS,KAAMA,EAAA,KAAM,MAAM,cAAe,oCAAaA,EAAA,OAAM,EAAA,CAAA,KAAA,CAAA,uBAChF,IA2BY,CA3BZC,EAAAA,YA2BYC,EAAA,CA3BD,KAAK,GAAG,EAAA,mBACjB,IAyBiB,CAzBjBD,EAAAA,YAyBiBE,EAAA,KAAA,mBAxBf,IAGM,CAHNC,EAAAA,mBAGM,MAAA,KAAA,CAFJA,EAAAA,mBAA+C,KAA/CR,EAA+CS,EAAAA,gBAAbL,EAAA,KAAK,EAAA,CAAA,EACvCI,EAAAA,mBAA2D,MAAA,CAAtD,MAAM,wBAAwB,UAAQJ,EAAA,sBAE7CI,EAAAA,mBAmBM,MAnBNP,EAmBM,CAlBJI,EAAAA,YAOEK,EAAA,CANC,aAAYN,EAAA,YACZ,aAAY,GACZ,MAAOA,EAAA,YACR,MAAM,eACN,KAAK,IACJ,uBAAOA,EAAA,0CAEVC,EAAAA,YASEK,EAAA,CARC,kBAAiBN,EAAA,eACjB,aAAYA,EAAA,aACZ,MAAOA,EAAA,MACP,aAAY,GACZ,MAAOA,EAAA,aACR,MAAM,8BACN,KAAK,IACJ,uBAAOA,EAAA"}
@@ -2,16 +2,16 @@ import u from "./NeonDialog.es.js";
2
2
  import { resolveComponent as n, openBlock as p, createBlock as m, withKeys as f, withCtx as t, createVNode as l, createElementVNode as a, toDisplayString as b } from "vue";
3
3
  import _ from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
4
  const v = { class: "neon-dialog__title" }, $ = ["innerHTML"], g = { ref: "actions" };
5
- function L(o, e, q, w, y, C) {
6
- const r = n("neon-button"), s = n("neon-card-body"), d = n("neon-card"), c = n("neon-modal");
7
- return p(), m(c, {
5
+ function w(o, e, L, q, y, C) {
6
+ const r = n("neon-button"), s = n("neon-card-body"), c = n("neon-card"), d = n("neon-modal");
7
+ return p(), m(d, {
8
8
  opaque: o.opaque,
9
9
  open: o.open,
10
10
  class: "neon-dialog",
11
11
  onKeydown: e[2] || (e[2] = f((i) => o.cancel(), ["esc"]))
12
12
  }, {
13
13
  default: t(() => [
14
- l(d, { size: "m" }, {
14
+ l(c, { size: "m" }, {
15
15
  default: t(() => [
16
16
  l(s, null, {
17
17
  default: t(() => [
@@ -27,6 +27,7 @@ function L(o, e, q, w, y, C) {
27
27
  "aria-label": o.cancelLabel,
28
28
  "full-width": !0,
29
29
  label: o.cancelLabel,
30
+ color: "low-contrast",
30
31
  size: "s",
31
32
  onClick: e[0] || (e[0] = (i) => o.cancel())
32
33
  }, null, 8, ["aria-label", "label"]),
@@ -51,7 +52,7 @@ function L(o, e, q, w, y, C) {
51
52
  _: 1
52
53
  }, 8, ["opaque", "open"]);
53
54
  }
54
- const N = /* @__PURE__ */ _(u, [["render", L]]);
55
+ const N = /* @__PURE__ */ _(u, [["render", w]]);
55
56
  export {
56
57
  N as default
57
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NeonDialog.vue.es.js","sources":["../../../../src/components/feedback/dialog/NeonDialog.vue"],"sourcesContent":["<template>\n <neon-modal :opaque=\"opaque\" :open=\"open\" class=\"neon-dialog\" @keydown.esc=\"cancel()\">\n <neon-card size=\"m\">\n <neon-card-body>\n <div>\n <h6 class=\"neon-dialog__title\">{{ title }}</h6>\n <div class=\"neon-dialog__question\" v-html=\"question\"></div>\n </div>\n <div ref=\"actions\">\n <neon-button :aria-label=\"cancelLabel\" :full-width=\"true\" :label=\"cancelLabel\" size=\"s\" @click=\"cancel()\" />\n <neon-button\n :alternate-color=\"alternateColor\"\n :aria-label=\"confirmLabel\"\n :color=\"color\"\n :full-width=\"true\"\n :label=\"confirmLabel\"\n class=\"neon-dialog__confirm-button\"\n size=\"s\"\n @click=\"confirm()\"\n />\n </div>\n </neon-card-body>\n </neon-card>\n </neon-modal>\n</template>\n\n<script lang=\"ts\" src=\"./NeonDialog.ts\" />\n"],"names":["_hoisted_1","_hoisted_3","_createBlock","_component_neon_modal","_ctx","_createVNode","_component_neon_card","_component_neon_card_body","_createElementVNode","_toDisplayString","_component_neon_button"],"mappings":";;;AAKc,MAAAA,IAAA,EAAA,OAAM,qBAAoB,sBAG3BC,IAAA,EAAA,KAAI,UAAS;;;cAPxBC,EAsBaC,GAAA;AAAA,IAtBA,QAAQC,EAAA;AAAA,IAAS,MAAMA,EAAA;AAAA,IAAM,OAAM;AAAA,IAAe,oCAAaA,EAAA,OAAM,GAAA,CAAA,KAAA,CAAA;AAAA;eAChF,MAoBY;AAAA,MApBZC,EAoBYC,GAAA,EApBD,MAAK,IAAG,GAAA;AAAA,mBACjB,MAkBiB;AAAA,UAlBjBD,EAkBiBE,GAAA,MAAA;AAAA,uBAjBf,MAGM;AAAA,cAHNC,EAGM,OAAA,MAAA;AAAA,gBAFJA,EAA+C,MAA/CR,GAA+CS,EAAbL,EAAA,KAAK,GAAA,CAAA;AAAA,gBACvCI,EAA2D,OAAA;AAAA,kBAAtD,OAAM;AAAA,kBAAwB,WAAQJ,EAAA;AAAA;;cAE7CI,EAYM,OAZNP,GAYM;AAAA,gBAXJI,EAA4GK,GAAA;AAAA,kBAA9F,cAAYN,EAAA;AAAA,kBAAc,cAAY;AAAA,kBAAO,OAAOA,EAAA;AAAA,kBAAa,MAAK;AAAA,kBAAK,gCAAOA,EAAA;;gBAChGC,EASEK,GAAA;AAAA,kBARC,mBAAiBN,EAAA;AAAA,kBACjB,cAAYA,EAAA;AAAA,kBACZ,OAAOA,EAAA;AAAA,kBACP,cAAY;AAAA,kBACZ,OAAOA,EAAA;AAAA,kBACR,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,gCAAOA,EAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NeonDialog.vue.es.js","sources":["../../../../src/components/feedback/dialog/NeonDialog.vue"],"sourcesContent":["<template>\n <neon-modal :opaque=\"opaque\" :open=\"open\" class=\"neon-dialog\" @keydown.esc=\"cancel()\">\n <neon-card size=\"m\">\n <neon-card-body>\n <div>\n <h6 class=\"neon-dialog__title\">{{ title }}</h6>\n <div class=\"neon-dialog__question\" v-html=\"question\"></div>\n </div>\n <div ref=\"actions\">\n <neon-button\n :aria-label=\"cancelLabel\"\n :full-width=\"true\"\n :label=\"cancelLabel\"\n color=\"low-contrast\"\n size=\"s\"\n @click=\"cancel()\"\n />\n <neon-button\n :alternate-color=\"alternateColor\"\n :aria-label=\"confirmLabel\"\n :color=\"color\"\n :full-width=\"true\"\n :label=\"confirmLabel\"\n class=\"neon-dialog__confirm-button\"\n size=\"s\"\n @click=\"confirm()\"\n />\n </div>\n </neon-card-body>\n </neon-card>\n </neon-modal>\n</template>\n\n<script lang=\"ts\" src=\"./NeonDialog.ts\" />\n"],"names":["_hoisted_1","_hoisted_3","_createBlock","_component_neon_modal","_ctx","_createVNode","_component_neon_card","_component_neon_card_body","_createElementVNode","_toDisplayString","_component_neon_button"],"mappings":";;;AAKc,MAAAA,IAAA,EAAA,OAAM,qBAAoB,sBAG3BC,IAAA,EAAA,KAAI,UAAS;;;cAPxBC,EA6BaC,GAAA;AAAA,IA7BA,QAAQC,EAAA;AAAA,IAAS,MAAMA,EAAA;AAAA,IAAM,OAAM;AAAA,IAAe,oCAAaA,EAAA,OAAM,GAAA,CAAA,KAAA,CAAA;AAAA;eAChF,MA2BY;AAAA,MA3BZC,EA2BYC,GAAA,EA3BD,MAAK,IAAG,GAAA;AAAA,mBACjB,MAyBiB;AAAA,UAzBjBD,EAyBiBE,GAAA,MAAA;AAAA,uBAxBf,MAGM;AAAA,cAHNC,EAGM,OAAA,MAAA;AAAA,gBAFJA,EAA+C,MAA/CR,GAA+CS,EAAbL,EAAA,KAAK,GAAA,CAAA;AAAA,gBACvCI,EAA2D,OAAA;AAAA,kBAAtD,OAAM;AAAA,kBAAwB,WAAQJ,EAAA;AAAA;;cAE7CI,EAmBM,OAnBNP,GAmBM;AAAA,gBAlBJI,EAOEK,GAAA;AAAA,kBANC,cAAYN,EAAA;AAAA,kBACZ,cAAY;AAAA,kBACZ,OAAOA,EAAA;AAAA,kBACR,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,gCAAOA,EAAA;;gBAEVC,EASEK,GAAA;AAAA,kBARC,mBAAiBN,EAAA;AAAA,kBACjB,cAAYA,EAAA;AAAA,kBACZ,OAAOA,EAAA;AAAA,kBACP,cAAY;AAAA,kBACZ,OAAOA,EAAA;AAAA,kBACR,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,gCAAOA,EAAA;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("./NeonNote.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),a={class:"neon-note__container"},i={key:1,class:"neon-note__title"};function p(o,_,m,d,N,k){const n=e.resolveComponent("neon-icon"),t=e.resolveComponent("neon-inline"),l=e.resolveComponent("neon-stack"),s=e.resolveComponent("neon-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[`neon-note--${o.color}`,{"neon-note--with-title":o.title,"neon-note--with-title-only":o.title&&!o.slots.default}],"neon-note"]),role:"note"},[e.createElementVNode("div",a,[e.createVNode(l,{gap:"s"},{default:e.withCtx(()=>[e.createVNode(t,{gap:"s"},{default:e.withCtx(()=>[o.iconName?(e.openBlock(),e.createBlock(n,{key:0,color:o.color,name:o.iconName,class:"neon-note__icon"},null,8,["color","name"])):e.createCommentVNode("",!0),o.title?(e.openBlock(),e.createElementBlock("span",i,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0)]),_:1}),e.renderSlot(o.$slots,"default")]),_:3})]),o.closable?(e.openBlock(),e.createBlock(s,{key:0,"aria-label":o.ariaLabelCloseNote,circular:!0,transparent:!0,"button-style":"text",class:"neon-note__close",icon:"times",size:"s",tabindex:"0",onClick:o.closeNote,onKeydown:[e.withKeys(o.closeNote,["enter"]),e.withKeys(e.withModifiers(o.closeNote,["stop"]),["space"])]},null,8,["aria-label","onClick","onKeydown"])):e.createCommentVNode("",!0)],2)}const u=c(r,[["render",p]]);module.exports=u;
1
+ "use strict";const r=require("./NeonNote.cjs.js"),e=require("vue"),c=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),a={class:"neon-note__container"},i={key:1,class:"neon-note__title"};function p(o,_,m,d,N,k){const n=e.resolveComponent("neon-icon"),t=e.resolveComponent("neon-inline"),l=e.resolveComponent("neon-stack"),s=e.resolveComponent("neon-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([[`neon-note--${o.color}`,{"neon-note--with-title":o.title,"neon-note--with-title-only":o.title&&!o.slots.default}],"neon-note"]),role:"note"},[e.createElementVNode("div",a,[e.createVNode(l,{gap:"s"},{default:e.withCtx(()=>[e.createVNode(t,{gap:"s"},{default:e.withCtx(()=>[o.iconName?(e.openBlock(),e.createBlock(n,{key:0,color:o.color,name:o.iconName,class:"neon-note__icon"},null,8,["color","name"])):e.createCommentVNode("",!0),o.title?(e.openBlock(),e.createElementBlock("span",i,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0)]),_:1}),e.renderSlot(o.$slots,"default")]),_:3})]),o.closable?(e.openBlock(),e.createBlock(s,{key:0,"aria-label":o.ariaLabelCloseNote,circular:!0,transparent:!0,"button-style":"text",class:"neon-note__close",color:"low-contrast",icon:"times",size:"s",tabindex:"0",onClick:o.closeNote,onKeydown:[e.withKeys(o.closeNote,["enter"]),e.withKeys(e.withModifiers(o.closeNote,["stop"]),["space"])]},null,8,["aria-label","onClick","onKeydown"])):e.createCommentVNode("",!0)],2)}const u=c(r,[["render",p]]);module.exports=u;
2
2
  //# sourceMappingURL=NeonNote.vue.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonNote.vue.cjs.js","sources":["../../../../src/components/feedback/note/NeonNote.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n `neon-note--${color}`,\n { 'neon-note--with-title': title, 'neon-note--with-title-only': title && !slots.default },\n ]\"\n class=\"neon-note\"\n role=\"note\"\n >\n <div class=\"neon-note__container\">\n <neon-stack gap=\"s\">\n <neon-inline gap=\"s\">\n <neon-icon v-if=\"iconName\" :color=\"color\" :name=\"iconName\" class=\"neon-note__icon\" />\n <span v-if=\"title\" class=\"neon-note__title\">{{ title }}</span>\n </neon-inline>\n <!-- @slot the contents of the note description -->\n <slot></slot>\n </neon-stack>\n </div>\n <neon-button\n v-if=\"closable\"\n :aria-label=\"ariaLabelCloseNote\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-note__close\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"closeNote\"\n @keydown.enter=\"closeNote\"\n @keydown.space.stop=\"closeNote\"\n ></neon-button>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonNote.ts\" />\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_createVNode","_component_neon_stack","_component_neon_inline","_createBlock","_component_neon_icon","_hoisted_2","_toDisplayString","_renderSlot","_component_neon_button"],"mappings":"mIASSA,EAAA,CAAA,MAAM,sBAAsB,WAIR,MAAM,oNAZjCC,EAAAA,mBAgCM,MAAA,CA/BH,MAAKC,EAAAA,eAAA,CAAA,eAAwBC,EAAA,KAAK,GAAqC,CAAA,wBAAAA,EAAA,MAAK,6BAAgCA,EAAA,OAAK,CAAKA,EAAA,MAAM,OAAO,GAI9H,WAAW,CAAA,EACjB,KAAK,SAELC,EAAAA,mBASM,MATNJ,EASM,CARJK,EAAAA,YAOaC,EAAA,CAPD,IAAI,GAAG,EAAA,mBACjB,IAGc,CAHdD,EAAAA,YAGcE,EAAA,CAHD,IAAI,GAAG,EAAA,mBAClB,IAAqF,CAApEJ,EAAA,wBAAjBK,EAAAA,YAAqFC,EAAA,OAAzD,MAAON,EAAA,MAAQ,KAAMA,EAAA,SAAU,MAAM,yEACrDA,EAAA,qBAAZF,EAAAA,mBAA8D,OAA9DS,EAA8DC,EAAAA,gBAAfR,EAAA,KAAK,EAAA,CAAA,uCAGtDS,aAAaT,EAAA,OAAA,SAAA,YAITA,EAAA,wBADRK,EAAAA,YAaeK,EAAA,OAXZ,aAAYV,EAAA,mBACZ,SAAU,GACV,YAAa,GACd,eAAa,OACb,MAAM,mBACN,KAAK,QACL,KAAK,IACL,SAAS,IACR,QAAOA,EAAA,UACP,UAAO,YAAQA,EAAA,UAAS,CAAA,OAAA,CAAA,6BACJA,EAAA,UAAS,CAAA,MAAA,CAAA,EAAA,CAAA,OAAA,CAAA"}
1
+ {"version":3,"file":"NeonNote.vue.cjs.js","sources":["../../../../src/components/feedback/note/NeonNote.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n `neon-note--${color}`,\n { 'neon-note--with-title': title, 'neon-note--with-title-only': title && !slots.default },\n ]\"\n class=\"neon-note\"\n role=\"note\"\n >\n <div class=\"neon-note__container\">\n <neon-stack gap=\"s\">\n <neon-inline gap=\"s\">\n <neon-icon v-if=\"iconName\" :color=\"color\" :name=\"iconName\" class=\"neon-note__icon\" />\n <span v-if=\"title\" class=\"neon-note__title\">{{ title }}</span>\n </neon-inline>\n <!-- @slot the contents of the note description -->\n <slot></slot>\n </neon-stack>\n </div>\n <neon-button\n v-if=\"closable\"\n :aria-label=\"ariaLabelCloseNote\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-note__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"closeNote\"\n @keydown.enter=\"closeNote\"\n @keydown.space.stop=\"closeNote\"\n ></neon-button>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonNote.ts\" />\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_createVNode","_component_neon_stack","_component_neon_inline","_createBlock","_component_neon_icon","_hoisted_2","_toDisplayString","_renderSlot","_component_neon_button"],"mappings":"mIASSA,EAAA,CAAA,MAAM,sBAAsB,WAIR,MAAM,oNAZjCC,EAAAA,mBAiCM,MAAA,CAhCH,MAAKC,EAAAA,eAAA,CAAA,eAAwBC,EAAA,KAAK,GAAqC,CAAA,wBAAAA,EAAA,MAAK,6BAAgCA,EAAA,OAAK,CAAKA,EAAA,MAAM,OAAO,GAI9H,WAAW,CAAA,EACjB,KAAK,SAELC,EAAAA,mBASM,MATNJ,EASM,CARJK,EAAAA,YAOaC,EAAA,CAPD,IAAI,GAAG,EAAA,mBACjB,IAGc,CAHdD,EAAAA,YAGcE,EAAA,CAHD,IAAI,GAAG,EAAA,mBAClB,IAAqF,CAApEJ,EAAA,wBAAjBK,EAAAA,YAAqFC,EAAA,OAAzD,MAAON,EAAA,MAAQ,KAAMA,EAAA,SAAU,MAAM,yEACrDA,EAAA,qBAAZF,EAAAA,mBAA8D,OAA9DS,EAA8DC,EAAAA,gBAAfR,EAAA,KAAK,EAAA,CAAA,uCAGtDS,aAAaT,EAAA,OAAA,SAAA,YAITA,EAAA,wBADRK,EAAAA,YAceK,EAAA,OAZZ,aAAYV,EAAA,mBACZ,SAAU,GACV,YAAa,GACd,eAAa,OACb,MAAM,mBACN,MAAM,eACN,KAAK,QACL,KAAK,IACL,SAAS,IACR,QAAOA,EAAA,UACP,UAAO,YAAQA,EAAA,UAAS,CAAA,OAAA,CAAA,6BACJA,EAAA,UAAS,CAAA,MAAA,CAAA,EAAA,CAAA,OAAA,CAAA"}
@@ -41,6 +41,7 @@ function C(e, $, g, v, B, K) {
41
41
  transparent: !0,
42
42
  "button-style": "text",
43
43
  class: "neon-note__close",
44
+ color: "low-contrast",
44
45
  icon: "times",
45
46
  size: "s",
46
47
  tabindex: "0",
@@ -1 +1 @@
1
- {"version":3,"file":"NeonNote.vue.es.js","sources":["../../../../src/components/feedback/note/NeonNote.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n `neon-note--${color}`,\n { 'neon-note--with-title': title, 'neon-note--with-title-only': title && !slots.default },\n ]\"\n class=\"neon-note\"\n role=\"note\"\n >\n <div class=\"neon-note__container\">\n <neon-stack gap=\"s\">\n <neon-inline gap=\"s\">\n <neon-icon v-if=\"iconName\" :color=\"color\" :name=\"iconName\" class=\"neon-note__icon\" />\n <span v-if=\"title\" class=\"neon-note__title\">{{ title }}</span>\n </neon-inline>\n <!-- @slot the contents of the note description -->\n <slot></slot>\n </neon-stack>\n </div>\n <neon-button\n v-if=\"closable\"\n :aria-label=\"ariaLabelCloseNote\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-note__close\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"closeNote\"\n @keydown.enter=\"closeNote\"\n @keydown.space.stop=\"closeNote\"\n ></neon-button>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonNote.ts\" />\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_createVNode","_component_neon_stack","_component_neon_inline","_createBlock","_component_neon_icon","_hoisted_2","_toDisplayString","_renderSlot","_component_neon_button"],"mappings":";;;AASS,MAAAA,IAAA,EAAA,OAAM,uBAAsB;;EAIR,OAAM;;;;cAZjCC,EAgCM,OAAA;AAAA,IA/BH,OAAKC,EAAA,CAAA;AAAA,oBAAwBC,EAAA,KAAK;AAAA,MAAqC,EAAA,yBAAAA,EAAA,OAAK,8BAAgCA,EAAA,SAAK,CAAKA,EAAA,MAAM,QAAO;AAAA,OAI9H,WAAW,CAAA;AAAA,IACjB,MAAK;AAAA;IAELC,EASM,OATNJ,GASM;AAAA,MARJK,EAOaC,GAAA,EAPD,KAAI,IAAG,GAAA;AAAA,mBACjB,MAGc;AAAA,UAHdD,EAGcE,GAAA,EAHD,KAAI,IAAG,GAAA;AAAA,uBAClB,MAAqF;AAAA,cAApEJ,EAAA,iBAAjBK,EAAqFC,GAAA;AAAA;gBAAzD,OAAON,EAAA;AAAA,gBAAQ,MAAMA,EAAA;AAAA,gBAAU,OAAM;AAAA;cACrDA,EAAA,cAAZF,EAA8D,QAA9DS,GAA8DC,EAAfR,EAAA,KAAK,GAAA,CAAA;;;;UAGtDS,EAAaT,EAAA,QAAA,SAAA;AAAA;;;;IAITA,EAAA,iBADRK,EAaeK,GAAA;AAAA;MAXZ,cAAYV,EAAA;AAAA,MACZ,UAAU;AAAA,MACV,aAAa;AAAA,MACd,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAS;AAAA,MACR,SAAOA,EAAA;AAAA,MACP,WAAO;AAAA,UAAQA,EAAA,WAAS,CAAA,OAAA,CAAA;AAAA,YACJA,EAAA,WAAS,CAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"NeonNote.vue.es.js","sources":["../../../../src/components/feedback/note/NeonNote.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n `neon-note--${color}`,\n { 'neon-note--with-title': title, 'neon-note--with-title-only': title && !slots.default },\n ]\"\n class=\"neon-note\"\n role=\"note\"\n >\n <div class=\"neon-note__container\">\n <neon-stack gap=\"s\">\n <neon-inline gap=\"s\">\n <neon-icon v-if=\"iconName\" :color=\"color\" :name=\"iconName\" class=\"neon-note__icon\" />\n <span v-if=\"title\" class=\"neon-note__title\">{{ title }}</span>\n </neon-inline>\n <!-- @slot the contents of the note description -->\n <slot></slot>\n </neon-stack>\n </div>\n <neon-button\n v-if=\"closable\"\n :aria-label=\"ariaLabelCloseNote\"\n :circular=\"true\"\n :transparent=\"true\"\n button-style=\"text\"\n class=\"neon-note__close\"\n color=\"low-contrast\"\n icon=\"times\"\n size=\"s\"\n tabindex=\"0\"\n @click=\"closeNote\"\n @keydown.enter=\"closeNote\"\n @keydown.space.stop=\"closeNote\"\n ></neon-button>\n </div>\n</template>\n\n<script lang=\"ts\" src=\"./NeonNote.ts\" />\n"],"names":["_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_createVNode","_component_neon_stack","_component_neon_inline","_createBlock","_component_neon_icon","_hoisted_2","_toDisplayString","_renderSlot","_component_neon_button"],"mappings":";;;AASS,MAAAA,IAAA,EAAA,OAAM,uBAAsB;;EAIR,OAAM;;;;cAZjCC,EAiCM,OAAA;AAAA,IAhCH,OAAKC,EAAA,CAAA;AAAA,oBAAwBC,EAAA,KAAK;AAAA,MAAqC,EAAA,yBAAAA,EAAA,OAAK,8BAAgCA,EAAA,SAAK,CAAKA,EAAA,MAAM,QAAO;AAAA,OAI9H,WAAW,CAAA;AAAA,IACjB,MAAK;AAAA;IAELC,EASM,OATNJ,GASM;AAAA,MARJK,EAOaC,GAAA,EAPD,KAAI,IAAG,GAAA;AAAA,mBACjB,MAGc;AAAA,UAHdD,EAGcE,GAAA,EAHD,KAAI,IAAG,GAAA;AAAA,uBAClB,MAAqF;AAAA,cAApEJ,EAAA,iBAAjBK,EAAqFC,GAAA;AAAA;gBAAzD,OAAON,EAAA;AAAA,gBAAQ,MAAMA,EAAA;AAAA,gBAAU,OAAM;AAAA;cACrDA,EAAA,cAAZF,EAA8D,QAA9DS,GAA8DC,EAAfR,EAAA,KAAK,GAAA,CAAA;;;;UAGtDS,EAAaT,EAAA,QAAA,SAAA;AAAA;;;;IAITA,EAAA,iBADRK,EAceK,GAAA;AAAA;MAZZ,cAAYV,EAAA;AAAA,MACZ,UAAU;AAAA,MACV,aAAa;AAAA,MACd,gBAAa;AAAA,MACb,OAAM;AAAA,MACN,OAAM;AAAA,MACN,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAS;AAAA,MACR,SAAOA,EAAA;AAAA,MACP,WAAO;AAAA,UAAQA,EAAA,WAAS,CAAA,OAAA,CAAA;AAAA,YACJA,EAAA,WAAS,CAAA,MAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const r=require("vue"),t=require("../link/NeonLink.vue.cjs.js"),c=require("../dropdown-menu/NeonDropdownMenu.vue.cjs.js"),u=require("../../../common/enums/NeonFunctionalColor.cjs.js"),s=require("../../presentation/icon/NeonIcon.vue.cjs.js"),i=require("vue-router"),p=r.defineComponent({name:"NeonMobileMenu",components:{NeonDropdownMenu:c,NeonLink:t,NeonIcon:s},props:{menu:{type:Array,required:!0},color:{type:String,default:u.NeonFunctionalColor.Brand}},emits:["click"],setup(l,{emit:o}){const e=i.useRoute();return{onClick:n=>{o("click",n)},routeMatches:n=>(e==null?void 0:e.path.indexOf(n))>=0}}});module.exports=p;
2
+ //# sourceMappingURL=NeonMobileMenu.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeonMobileMenu.cjs.js","sources":["../../../../src/components/navigation/mobile-menu/NeonMobileMenu.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent } from 'vue';\nimport type { NeonMenuItem } from '@/common/models/NeonMenuItem';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonDropdownMenu from '@/components/navigation/dropdown-menu/NeonDropdownMenu.vue';\nimport { NeonFunctionalColor } from '@/common/enums/NeonFunctionalColor';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { useRoute } from 'vue-router';\n\n/**\n * <p>\n * <strong>NeonMobileMenu</strong> is a menu designed for mobile navigation. It is designed to be placed at the bottom\n * of the screen to maximise mobile usability.\n * </p>\n */\nexport default defineComponent({\n name: 'NeonMobileMenu',\n components: {\n NeonDropdownMenu,\n NeonLink,\n NeonIcon,\n },\n props: {\n /**\n * The menu configuration. The highlighted 'active' menu is determined by the current Vue route.\n */\n menu: { type: Array as () => Array<NeonMenuItem>, required: true },\n /**\n * The menu color.\n */\n color: { type: String as () => NeonFunctionalColor, default: NeonFunctionalColor.Brand },\n },\n emits: [\n /**\n * Emitted when a user clicks on a menu item.\n * @type {string} the key of the menu item clicked.\n */\n 'click',\n ],\n setup(props, { emit }) {\n const route = useRoute();\n\n const routeMatches = (path: string) => {\n return route?.path.indexOf(path) >= 0;\n };\n\n const onClick = (key: string) => {\n emit('click', key);\n };\n\n return {\n onClick,\n routeMatches,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonDropdownMenu","NeonLink","NeonIcon","NeonFunctionalColor","props","emit","route","useRoute","key","path"],"mappings":"sRAcAA,EAAeC,kBAAgB,CAC7B,KAAM,iBACN,WAAY,CACV,iBAAAC,EACA,SAAAC,EACA,SAAAC,CAAA,EAEF,MAAO,CAIL,KAAM,CAAE,KAAM,MAAoC,SAAU,EAAA,EAI5D,MAAO,CAAE,KAAM,OAAqC,QAASC,EAAAA,oBAAoB,KAAA,CAAM,EAEzF,MAAO,CAKL,OAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CACrB,MAAMC,EAAQC,EAAAA,SAAA,EAUd,MAAO,CACL,QALeC,GAAgB,CAC/BH,EAAK,QAASG,CAAG,CACnB,EAIE,aAVoBC,IACbH,GAAA,YAAAA,EAAO,KAAK,QAAQG,KAAS,CASpC,CAEJ,CACF,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { defineComponent as r } from "vue";
2
+ import t from "../link/NeonLink.vue.es.js";
3
+ import i from "../dropdown-menu/NeonDropdownMenu.vue.es.js";
4
+ import { NeonFunctionalColor as m } from "../../../common/enums/NeonFunctionalColor.es.js";
5
+ import p from "../../presentation/icon/NeonIcon.vue.es.js";
6
+ import { useRoute as c } from "vue-router";
7
+ const C = r({
8
+ name: "NeonMobileMenu",
9
+ components: {
10
+ NeonDropdownMenu: i,
11
+ NeonLink: t,
12
+ NeonIcon: p
13
+ },
14
+ props: {
15
+ /**
16
+ * The menu configuration. The highlighted 'active' menu is determined by the current Vue route.
17
+ */
18
+ menu: { type: Array, required: !0 },
19
+ /**
20
+ * The menu color.
21
+ */
22
+ color: { type: String, default: m.Brand }
23
+ },
24
+ emits: [
25
+ /**
26
+ * Emitted when a user clicks on a menu item.
27
+ * @type {string} the key of the menu item clicked.
28
+ */
29
+ "click"
30
+ ],
31
+ setup(s, { emit: n }) {
32
+ const o = c();
33
+ return {
34
+ onClick: (e) => {
35
+ n("click", e);
36
+ },
37
+ routeMatches: (e) => (o == null ? void 0 : o.path.indexOf(e)) >= 0
38
+ };
39
+ }
40
+ });
41
+ export {
42
+ C as default
43
+ };
44
+ //# sourceMappingURL=NeonMobileMenu.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeonMobileMenu.es.js","sources":["../../../../src/components/navigation/mobile-menu/NeonMobileMenu.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent } from 'vue';\nimport type { NeonMenuItem } from '@/common/models/NeonMenuItem';\nimport NeonLink from '@/components/navigation/link/NeonLink.vue';\nimport NeonDropdownMenu from '@/components/navigation/dropdown-menu/NeonDropdownMenu.vue';\nimport { NeonFunctionalColor } from '@/common/enums/NeonFunctionalColor';\nimport NeonIcon from '@/components/presentation/icon/NeonIcon.vue';\nimport { useRoute } from 'vue-router';\n\n/**\n * <p>\n * <strong>NeonMobileMenu</strong> is a menu designed for mobile navigation. It is designed to be placed at the bottom\n * of the screen to maximise mobile usability.\n * </p>\n */\nexport default defineComponent({\n name: 'NeonMobileMenu',\n components: {\n NeonDropdownMenu,\n NeonLink,\n NeonIcon,\n },\n props: {\n /**\n * The menu configuration. The highlighted 'active' menu is determined by the current Vue route.\n */\n menu: { type: Array as () => Array<NeonMenuItem>, required: true },\n /**\n * The menu color.\n */\n color: { type: String as () => NeonFunctionalColor, default: NeonFunctionalColor.Brand },\n },\n emits: [\n /**\n * Emitted when a user clicks on a menu item.\n * @type {string} the key of the menu item clicked.\n */\n 'click',\n ],\n setup(props, { emit }) {\n const route = useRoute();\n\n const routeMatches = (path: string) => {\n return route?.path.indexOf(path) >= 0;\n };\n\n const onClick = (key: string) => {\n emit('click', key);\n };\n\n return {\n onClick,\n routeMatches,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonDropdownMenu","NeonLink","NeonIcon","NeonFunctionalColor","props","emit","route","useRoute","key","path"],"mappings":";;;;;;AAcA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM,EAAE,MAAM,OAAoC,UAAU,GAAA;AAAA;AAAA;AAAA;AAAA,IAI5D,OAAO,EAAE,MAAM,QAAqC,SAASC,EAAoB,MAAA;AAAA,EAAM;AAAA,EAEzF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA,EAAA;AAAA,EAEF,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACrB,UAAMC,IAAQC,EAAA;AAUd,WAAO;AAAA,MACL,SALc,CAACC,MAAgB;AAC/B,QAAAH,EAAK,SAASG,CAAG;AAAA,MACnB;AAAA,MAIE,cAVmB,CAACC,OACbH,KAAA,gBAAAA,EAAO,KAAK,QAAQG,OAAS;AAAA,IASpC;AAAA,EAEJ;AACF,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("./NeonMobileMenu.cjs.js"),e=require("vue"),a=require("../../../_virtual/_plugin-vue_export-helper.cjs.js"),c={ref:"menuWrapper",class:"neon-mobile-menu__wrapper"},i=["onClick"],u={class:"neon-mobile-menu__item-label"};function d(o,m,k,b,p,y){const l=e.resolveComponent("neon-icon"),r=e.resolveComponent("neon-link");return e.openBlock(),e.createElementBlock("nav",c,[e.createElementVNode("ul",{class:e.normalizeClass([[`neon-mobile-menu--${o.color}`],"neon-mobile-menu no-style"]),role:"menubar"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menu,n=>(e.openBlock(),e.createElementBlock("li",{key:n.key,ref_for:!0,ref:"menuItem",class:e.normalizeClass([{"neon-mobile-menu__item--disabled":n.disabled},"neon-mobile-menu__item"]),tabindex:"-1"},[(e.openBlock(),e.createBlock(r,{key:`${n.key}Link`,class:e.normalizeClass({"router-link-active":n.href&&o.routeMatches(n.href)}),href:n.disabled?null:n.href,"no-style":!0,tabindex:n.disabled?-1:0,"outline-style":"none",role:"menuitem",onKeydown:e.withKeys(s=>!n.disabled&&o.onClick(n.key),["enter"])},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"neon-mobile-menu__link-container",tabindex:"-1",onClick:s=>!n.disabled&&o.onClick(n.key)},[n.icon?(e.openBlock(),e.createBlock(l,{key:`${n.key}LinkIcon`,disabled:n.disabled,name:n.icon,class:"neon-mobile-menu__item-icon"},null,8,["disabled","name"])):e.createCommentVNode("",!0),e.createElementVNode("span",u,e.toDisplayString(n.label),1)],8,i)]),_:2},1032,["class","href","tabindex","onKeydown"]))],2))),128))],2)],512)}const _=a(t,[["render",d]]);module.exports=_;
2
+ //# sourceMappingURL=NeonMobileMenu.vue.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeonMobileMenu.vue.cjs.js","sources":["../../../../src/components/navigation/mobile-menu/NeonMobileMenu.vue"],"sourcesContent":["<template>\n <nav ref=\"menuWrapper\" class=\"neon-mobile-menu__wrapper\">\n <ul :class=\"[`neon-mobile-menu--${color}`]\" class=\"neon-mobile-menu no-style\" role=\"menubar\">\n <li\n v-for=\"item in menu\"\n :key=\"item.key\"\n ref=\"menuItem\"\n :class=\"{ 'neon-mobile-menu__item--disabled': item.disabled }\"\n class=\"neon-mobile-menu__item\"\n tabindex=\"-1\"\n >\n <neon-link\n :key=\"`${item.key}Link`\"\n :class=\"{ 'router-link-active': item.href && routeMatches(item.href) }\"\n :href=\"!item.disabled ? item.href : null\"\n :no-style=\"true\"\n :tabindex=\"item.disabled ? -1 : 0\"\n outline-style=\"none\"\n role=\"menuitem\"\n @keydown.enter=\"!item.disabled && onClick(item.key)\"\n >\n <div class=\"neon-mobile-menu__link-container\" tabindex=\"-1\" @click=\"!item.disabled && onClick(item.key)\">\n <neon-icon\n v-if=\"item.icon\"\n :key=\"`${item.key}LinkIcon`\"\n :disabled=\"item.disabled\"\n :name=\"item.icon\"\n class=\"neon-mobile-menu__item-icon\"\n />\n <span class=\"neon-mobile-menu__item-label\">{{ item.label }}</span>\n </div>\n </neon-link>\n </li>\n </ul>\n </nav>\n</template>\n\n<script lang=\"ts\" src=\"./NeonMobileMenu.ts\" />\n"],"names":["_hoisted_3","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_neon_link","_withKeys","$event","_component_neon_icon","_toDisplayString"],"mappings":"4IACO,IAAI,cAAc,MAAM,2CA4BbA,EAAA,CAAA,MAAM,8BAA8B,oGA5BpD,OAAAC,YAAA,EAAAC,qBAiCM,MAjCNC,EAiCM,CAhCJC,EAAAA,mBA+BK,KAAA,CA/BA,MAAKC,EAAAA,eAAA,CAAA,CAAA,qBAAwBC,EAAA,KAAK,EAAA,EAAW,2BAA2B,CAAA,EAAC,KAAK,6BACjFJ,EAAAA,mBA6BKK,EAAAA,SAAA,KAAAC,EAAAA,WA5BYF,EAAA,KAARG,kBADTP,EAAAA,mBA6BK,KAAA,CA3BF,IAAKO,EAAK,eACX,IAAI,WACH,MAAKJ,EAAAA,eAAA,CAAA,CAAA,mCAAwCI,EAAK,QAAQ,EACrD,wBAAwB,CAAA,EAC9B,SAAS,sBAETC,EAAAA,YAoBYC,EAAA,CAnBT,IAAG,GAAKF,EAAK,GAAG,OAChB,MAAKJ,EAAAA,eAAA,CAAA,qBAA0BI,EAAK,MAAQH,EAAA,aAAaG,EAAK,IAAI,EAAA,EAClE,KAAOA,EAAK,SAAoB,KAATA,EAAK,KAC5B,WAAU,GACV,SAAUA,EAAK,SAAQ,GAAA,EACxB,gBAAc,OACd,KAAK,WACJ,UAAOG,EAAAA,SAAAC,GAAA,CAASJ,EAAK,UAAYH,EAAA,QAAQG,EAAK,GAAG,EAAA,CAAA,OAAA,CAAA,sBAElD,IASM,CATNL,EAAAA,mBASM,MAAA,CATD,MAAM,mCAAmC,SAAS,KAAM,QAAKS,GAAA,CAAGJ,EAAK,UAAYH,EAAA,QAAQG,EAAK,GAAG,IAE5FA,EAAK,oBADbC,EAAAA,YAMEI,EAAA,CAJC,IAAG,GAAKL,EAAK,GAAG,WAChB,SAAUA,EAAK,SACf,KAAMA,EAAK,KACZ,MAAM,wFAERL,EAAAA,mBAAkE,OAAlEJ,EAAkEe,EAAAA,gBAApBN,EAAK,KAAK,EAAA,CAAA"}
@@ -0,0 +1,57 @@
1
+ import u from "./NeonMobileMenu.es.js";
2
+ import { resolveComponent as a, openBlock as o, createElementBlock as l, createElementVNode as r, normalizeClass as s, Fragment as m, renderList as _, createBlock as i, withKeys as b, withCtx as k, createCommentVNode as p, toDisplayString as f } from "vue";
3
+ import y from "../../../_virtual/_plugin-vue_export-helper.es.js";
4
+ const h = {
5
+ ref: "menuWrapper",
6
+ class: "neon-mobile-menu__wrapper"
7
+ }, $ = ["onClick"], C = { class: "neon-mobile-menu__item-label" };
8
+ function v(n, w, x, B, K, L) {
9
+ const t = a("neon-icon"), c = a("neon-link");
10
+ return o(), l("nav", h, [
11
+ r("ul", {
12
+ class: s([[`neon-mobile-menu--${n.color}`], "neon-mobile-menu no-style"]),
13
+ role: "menubar"
14
+ }, [
15
+ (o(!0), l(m, null, _(n.menu, (e) => (o(), l("li", {
16
+ key: e.key,
17
+ ref_for: !0,
18
+ ref: "menuItem",
19
+ class: s([{ "neon-mobile-menu__item--disabled": e.disabled }, "neon-mobile-menu__item"]),
20
+ tabindex: "-1"
21
+ }, [
22
+ (o(), i(c, {
23
+ key: `${e.key}Link`,
24
+ class: s({ "router-link-active": e.href && n.routeMatches(e.href) }),
25
+ href: e.disabled ? null : e.href,
26
+ "no-style": !0,
27
+ tabindex: e.disabled ? -1 : 0,
28
+ "outline-style": "none",
29
+ role: "menuitem",
30
+ onKeydown: b((d) => !e.disabled && n.onClick(e.key), ["enter"])
31
+ }, {
32
+ default: k(() => [
33
+ r("div", {
34
+ class: "neon-mobile-menu__link-container",
35
+ tabindex: "-1",
36
+ onClick: (d) => !e.disabled && n.onClick(e.key)
37
+ }, [
38
+ e.icon ? (o(), i(t, {
39
+ key: `${e.key}LinkIcon`,
40
+ disabled: e.disabled,
41
+ name: e.icon,
42
+ class: "neon-mobile-menu__item-icon"
43
+ }, null, 8, ["disabled", "name"])) : p("", !0),
44
+ r("span", C, f(e.label), 1)
45
+ ], 8, $)
46
+ ]),
47
+ _: 2
48
+ }, 1032, ["class", "href", "tabindex", "onKeydown"]))
49
+ ], 2))), 128))
50
+ ], 2)
51
+ ], 512);
52
+ }
53
+ const E = /* @__PURE__ */ y(u, [["render", v]]);
54
+ export {
55
+ E as default
56
+ };
57
+ //# sourceMappingURL=NeonMobileMenu.vue.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeonMobileMenu.vue.es.js","sources":["../../../../src/components/navigation/mobile-menu/NeonMobileMenu.vue"],"sourcesContent":["<template>\n <nav ref=\"menuWrapper\" class=\"neon-mobile-menu__wrapper\">\n <ul :class=\"[`neon-mobile-menu--${color}`]\" class=\"neon-mobile-menu no-style\" role=\"menubar\">\n <li\n v-for=\"item in menu\"\n :key=\"item.key\"\n ref=\"menuItem\"\n :class=\"{ 'neon-mobile-menu__item--disabled': item.disabled }\"\n class=\"neon-mobile-menu__item\"\n tabindex=\"-1\"\n >\n <neon-link\n :key=\"`${item.key}Link`\"\n :class=\"{ 'router-link-active': item.href && routeMatches(item.href) }\"\n :href=\"!item.disabled ? item.href : null\"\n :no-style=\"true\"\n :tabindex=\"item.disabled ? -1 : 0\"\n outline-style=\"none\"\n role=\"menuitem\"\n @keydown.enter=\"!item.disabled && onClick(item.key)\"\n >\n <div class=\"neon-mobile-menu__link-container\" tabindex=\"-1\" @click=\"!item.disabled && onClick(item.key)\">\n <neon-icon\n v-if=\"item.icon\"\n :key=\"`${item.key}LinkIcon`\"\n :disabled=\"item.disabled\"\n :name=\"item.icon\"\n class=\"neon-mobile-menu__item-icon\"\n />\n <span class=\"neon-mobile-menu__item-label\">{{ item.label }}</span>\n </div>\n </neon-link>\n </li>\n </ul>\n </nav>\n</template>\n\n<script lang=\"ts\" src=\"./NeonMobileMenu.ts\" />\n"],"names":["_hoisted_3","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_neon_link","_withKeys","$event","_component_neon_icon","_toDisplayString"],"mappings":";;;;EACO,KAAI;AAAA,EAAc,OAAM;oBA4BbA,IAAA,EAAA,OAAM,+BAA8B;;;AA5BpD,SAAAC,EAAA,GAAAC,EAiCM,OAjCNC,GAiCM;AAAA,IAhCJC,EA+BK,MAAA;AAAA,MA/BA,OAAKC,EAAA,CAAA,CAAA,qBAAwBC,EAAA,KAAK,EAAA,GAAW,2BAA2B,CAAA;AAAA,MAAC,MAAK;AAAA;cACjFJ,EA6BKK,GAAA,MAAAC,EA5BYF,EAAA,MAAI,CAAZG,YADTP,EA6BK,MAAA;AAAA,QA3BF,KAAKO,EAAK;AAAA;QACX,KAAI;AAAA,QACH,OAAKJ,EAAA,CAAA,EAAA,oCAAwCI,EAAK,SAAQ,GACrD,wBAAwB,CAAA;AAAA,QAC9B,UAAS;AAAA;cAETC,EAoBYC,GAAA;AAAA,UAnBT,KAAG,GAAKF,EAAK,GAAG;AAAA,UAChB,OAAKJ,EAAA,EAAA,sBAA0BI,EAAK,QAAQH,EAAA,aAAaG,EAAK,IAAI,GAAA;AAAA,UAClE,MAAOA,EAAK,WAAoB,OAATA,EAAK;AAAA,UAC5B,YAAU;AAAA,UACV,UAAUA,EAAK,WAAQ,KAAA;AAAA,UACxB,iBAAc;AAAA,UACd,MAAK;AAAA,UACJ,WAAOG,EAAA,CAAAC,MAAA,CAASJ,EAAK,YAAYH,EAAA,QAAQG,EAAK,GAAG,GAAA,CAAA,OAAA,CAAA;AAAA;qBAElD,MASM;AAAA,YATNL,EASM,OAAA;AAAA,cATD,OAAM;AAAA,cAAmC,UAAS;AAAA,cAAM,SAAK,CAAAS,MAAA,CAAGJ,EAAK,YAAYH,EAAA,QAAQG,EAAK,GAAG;AAAA;cAE5FA,EAAK,aADbC,EAMEI,GAAA;AAAA,gBAJC,KAAG,GAAKL,EAAK,GAAG;AAAA,gBAChB,UAAUA,EAAK;AAAA,gBACf,MAAMA,EAAK;AAAA,gBACZ,OAAM;AAAA;cAERL,EAAkE,QAAlEJ,GAAkEe,EAApBN,EAAK,KAAK,GAAA,CAAA;AAAA;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("vue"),p=require("../../../common/enums/NeonDropdownPlacement.cjs.js"),v=require("../../../common/utils/NeonDropdownPlacementUtils.cjs.js"),w=require("../../../common/utils/NeonClosableUtils.cjs.js"),y=require("../../../common/enums/NeonSize.cjs.js"),N=require("../../../common/enums/NeonFunctionalColor.cjs.js"),S=require("../../../common/enums/NeonDropdownStyle.cjs.js"),g=require("../badge/NeonBadge.vue.cjs.js"),C=require("../../user-input/button/NeonButton.vue.cjs.js"),b=require("../expansion-indicator/NeonExpansionIndicator.vue.cjs.js"),q=n.defineComponent({name:"NeonDropdown",components:{NeonBadge:g,NeonButton:C,NeonExpansionIndicator:b},props:{id:{type:String},modelValue:{type:Boolean,required:!0},label:{type:String,default:null},image:{type:String,default:null},imageAlt:{type:String,default:null},icon:{type:String,default:null},indicator:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},size:{type:String,default:y.NeonSize.Medium},color:{type:String,default:N.NeonFunctionalColor.LowContrast},alternateColor:{type:String,default:null},dropdownStyle:{type:String,default:S.NeonDropdownStyle.SolidButton},placement:{type:String,default:p.NeonDropdownPlacement.BottomLeft},placementContainer:{type:Object,default:null},openOnHover:{type:Boolean,default:!1}},emits:["update:modelValue","dropdown-placement","blur","focus","button-ref"],setup(e,{emit:o}){const r=n.ref(null),l=n.ref(null),a=n.ref(e.placement),u=n.ref(null),d=()=>{o("update:modelValue",!1)},c=()=>{e.modelValue&&d()},t=()=>{if(e.modelValue&&r.value&&l.value){const i=a.value;a.value=v.NeonDropdownPlacementUtils.calculatePlacement(r.value,l.value,e.placement,e.placementContainer),i!==a.value&&o("dropdown-placement",a.value)}},s=()=>{!e.disabled&&!e.openOnHover&&(o("update:modelValue",!e.modelValue),setTimeout(t))},f=()=>{o("blur")},m=()=>{o("focus")};return n.onMounted(()=>{!e.openOnHover&&l.value&&(u.value=new w.NeonClosableUtils(l.value,c)),window.addEventListener("resize",t,{passive:!0}),window.addEventListener("scroll",t,{passive:!0}),e.placementContainer&&e.placementContainer.addEventListener("scroll",t,{passive:!0})}),n.onUnmounted(()=>{e.openOnHover||u.value&&u.value.destroy(),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),e.placementContainer&&e.placementContainer.removeEventListener("scroll",t)}),n.watch(()=>r.value,i=>o("button-ref",i),{immediate:!0}),n.defineExpose({dropdownContent:l}),{dropdownButton:r,dropdownContent:l,dropdownPlacement:a,closableUtils:u,onClose:d,close:c,toggleOpen:s,onBlur:f,onFocus:m}}});module.exports=q;
1
+ "use strict";const n=require("vue"),v=require("../../../common/enums/NeonDropdownPlacement.cjs.js"),w=require("../../../common/utils/NeonDropdownPlacementUtils.cjs.js"),y=require("../../../common/utils/NeonClosableUtils.cjs.js"),S=require("../../../common/enums/NeonSize.cjs.js"),g=require("../../../common/enums/NeonFunctionalColor.cjs.js"),N=require("../../../common/enums/NeonDropdownStyle.cjs.js"),C=require("../badge/NeonBadge.vue.cjs.js"),b=require("../../user-input/button/NeonButton.vue.cjs.js"),q=require("../expansion-indicator/NeonExpansionIndicator.vue.cjs.js"),B=n.defineComponent({name:"NeonDropdown",components:{NeonBadge:C,NeonButton:b,NeonExpansionIndicator:q},props:{id:{type:String},modelValue:{type:Boolean,required:!0},label:{type:String,default:null},image:{type:String,default:null},imageAlt:{type:String,default:null},icon:{type:String,default:null},indicator:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},size:{type:String,default:S.NeonSize.Medium},color:{type:String,default:g.NeonFunctionalColor.LowContrast},alternateColor:{type:String,default:null},dropdownStyle:{type:String,default:N.NeonDropdownStyle.SolidButton},placement:{type:String,default:v.NeonDropdownPlacement.BottomLeft},placementContainer:{type:Object,default:null},openOnHover:{type:Boolean,default:!1}},emits:["update:modelValue","dropdown-placement","blur","focus","button-ref"],setup(e,{emit:o}){const r=n.ref(null),l=n.ref(null),u=n.ref(e.placement),i=n.ref(null),d=()=>{o("update:modelValue",!1)},c=()=>{e.modelValue&&d()},t=()=>{if(e.modelValue&&r.value&&l.value){const a=u.value;u.value=w.NeonDropdownPlacementUtils.calculatePlacement(r.value,l.value,e.placement,e.placementContainer),a!==u.value&&o("dropdown-placement",u.value)}},s=()=>{!e.disabled&&!e.openOnHover&&(o("update:modelValue",!e.modelValue),setTimeout(t))},f=n.computed(()=>{var a;return((a=e.dropdownStyle)==null?void 0:a.indexOf("badge"))===-1}),m=()=>{o("blur")},p=()=>{o("focus")};return n.onMounted(()=>{!e.openOnHover&&l.value&&(i.value=new y.NeonClosableUtils(l.value,c)),window.addEventListener("resize",t,{passive:!0}),window.addEventListener("scroll",t,{passive:!0}),e.placementContainer&&e.placementContainer.addEventListener("scroll",t,{passive:!0})}),n.onUnmounted(()=>{e.openOnHover||i.value&&i.value.destroy(),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),e.placementContainer&&e.placementContainer.removeEventListener("scroll",t)}),n.watch(()=>r.value,a=>o("button-ref",a),{immediate:!0}),n.defineExpose({dropdownContent:l}),{dropdownButton:r,dropdownContent:l,dropdownPlacement:u,closableUtils:i,isButtonStyle:f,onClose:d,close:c,toggleOpen:s,onBlur:m,onFocus:p}}});module.exports=B;
2
2
  //# sourceMappingURL=NeonDropdown.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeonDropdown.cjs.js","sources":["../../../../src/components/presentation/dropdown/NeonDropdown.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { defineComponent, defineExpose, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonDropdownPlacement } from '@/common/enums/NeonDropdownPlacement';\nimport { NeonDropdownPlacementUtils } from '@/common/utils/NeonDropdownPlacementUtils';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport { NeonSize } from '@/common/enums/NeonSize';\nimport { NeonFunctionalColor } from '@/common/enums/NeonFunctionalColor';\nimport { NeonDropdownStyle } from '@/common/enums/NeonDropdownStyle';\nimport NeonBadge from '@/components/presentation/badge/NeonBadge.vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonExpansionIndicator from '@/components/presentation/expansion-indicator/NeonExpansionIndicator.vue';\n\n/**\n * <p>A general purpose dropdown component. This component consists of a button, to trigger the dropdown to open, and\n * the dropdown content which is displayed above the page when the user clicks the button.</p>\n * <p>This can be useful for secondary (perhaps more complex) actions for which there is not enough space on the page or\n * the action is asynchronous allowing the user to perform the action and continue what they were doing. Examples are\n * providing links to copy and letting the user send feedback.</p>\n * <p><strong>NeonDropdown</strong> is the basis for the <strong>NeonDropdownMenu</strong> component and the\n * <strong>NeonSelect</strong> form component.</p>\n */\nexport default defineComponent({\n name: 'NeonDropdown',\n components: {\n NeonBadge,\n NeonButton,\n NeonExpansionIndicator,\n },\n props: {\n /**\n * Id for the dropdown button.\n */\n id: { type: String },\n /**\n * Whether the dropdown is currently open.\n */\n modelValue: { type: Boolean, required: true },\n /**\n * The label for the dropdown button.\n */\n label: { type: String, default: null },\n /**\n * URL of image to display if the button style is a square or circular badge.\n */\n image: { type: String, default: null },\n /**\n * Badge image ALT text.\n */\n imageAlt: { type: String, default: null },\n /**\n * An icon to display on the dropdown button. This will be to the left of any label, but can also be used on its own.\n */\n icon: { type: String, default: null },\n /**\n * Show the dropdown button's indicator (chevron).\n */\n indicator: { type: Boolean, default: true },\n /**\n * Disable the dropdown button\n */\n disabled: { type: Boolean, default: false },\n /**\n * The size of the dropdown button - Small, Medium or Large.\n */\n size: { type: String as () => NeonSize, default: NeonSize.Medium },\n /**\n * The color of the dropdown button\n */\n color: { type: String as () => NeonFunctionalColor, default: NeonFunctionalColor.LowContrast },\n /**\n * The alternate color of the dropdown button (for gradient buttons).\n */\n alternateColor: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * The style of the dropdown button\n */\n dropdownStyle: { type: String as () => NeonDropdownStyle, default: NeonDropdownStyle.SolidButton },\n /**\n * Placement of the dropdown contents.\n */\n placement: { type: String as () => NeonDropdownPlacement, default: NeonDropdownPlacement.BottomLeft },\n /**\n * Restrict placement to within this container.\n */\n placementContainer: { type: Object as () => HTMLElement, default: null },\n /**\n * Instead of opening on click (default), open on hover.\n */\n openOnHover: { type: Boolean, default: false },\n },\n emits: [\n /**\n * Emitted when the dropdown button is toggled.\n * @type {boolean} the open state of the dropdown.\n */\n 'update:modelValue',\n /**\n * Emitted on initialisation.\n * @type {NeonDropdownPlacement} the placement of the dropdown.\n */\n 'dropdown-placement',\n /**\n * Emitted when the dropdown button is blurred.\n * @type {void}\n */\n 'blur',\n /**\n * Emitted when the dropdown button is focussed.\n * @type {void}\n */\n 'focus',\n /**\n * emitted on initialisation\n * @type {HTMLElement} the reference to the HTMLElement for the dropdown menu button.\n */\n 'button-ref',\n ],\n setup(props, { emit }) {\n const dropdownButton = ref<HTMLElement | null>(null);\n const dropdownContent = ref<HTMLDivElement | null>(null);\n\n const dropdownPlacement = ref<NeonDropdownPlacement>(props.placement);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('update:modelValue', false);\n };\n\n const close = () => {\n if (props.modelValue) {\n onClose();\n }\n };\n\n const recalculatePlacement = () => {\n if (props.modelValue && dropdownButton.value && dropdownContent.value) {\n const previousValue = dropdownPlacement.value;\n dropdownPlacement.value = NeonDropdownPlacementUtils.calculatePlacement(\n dropdownButton.value,\n dropdownContent.value,\n props.placement,\n props.placementContainer,\n );\n\n if (previousValue !== dropdownPlacement.value) {\n emit('dropdown-placement', dropdownPlacement.value);\n }\n }\n };\n\n const toggleOpen = () => {\n if (!props.disabled && !props.openOnHover) {\n emit('update:modelValue', !props.modelValue);\n setTimeout(recalculatePlacement);\n }\n };\n\n const onBlur = () => {\n emit('blur');\n };\n\n const onFocus = () => {\n emit('focus');\n };\n\n onMounted(() => {\n if (!props.openOnHover && dropdownContent.value) {\n closableUtils.value = new NeonClosableUtils(dropdownContent.value, close);\n }\n window.addEventListener('resize', recalculatePlacement, { passive: true });\n window.addEventListener('scroll', recalculatePlacement, { passive: true });\n if (props.placementContainer) {\n props.placementContainer.addEventListener('scroll', recalculatePlacement, { passive: true });\n }\n });\n\n onUnmounted(() => {\n if (!props.openOnHover) {\n closableUtils.value && closableUtils.value.destroy();\n }\n window.removeEventListener('resize', recalculatePlacement);\n window.removeEventListener('scroll', recalculatePlacement);\n if (props.placementContainer) {\n props.placementContainer.removeEventListener('scroll', recalculatePlacement);\n }\n });\n\n watch(\n () => dropdownButton.value,\n (value) => emit('button-ref', value),\n { immediate: true },\n );\n\n defineExpose({ dropdownContent });\n\n return {\n dropdownButton,\n dropdownContent,\n dropdownPlacement,\n closableUtils,\n onClose,\n close,\n toggleOpen,\n onBlur,\n onFocus,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonBadge","NeonButton","NeonExpansionIndicator","NeonSize","NeonFunctionalColor","NeonDropdownStyle","NeonDropdownPlacement","props","emit","dropdownButton","ref","dropdownContent","dropdownPlacement","closableUtils","onClose","close","recalculatePlacement","previousValue","NeonDropdownPlacementUtils","toggleOpen","onBlur","onFocus","onMounted","NeonClosableUtils","onUnmounted","watch","value","defineExpose"],"mappings":"8jBAoBAA,EAAeC,kBAAgB,CAC7B,KAAM,eACN,WAAY,CACV,UAAAC,EACA,WAAAC,EACA,uBAAAC,CAAA,EAEF,MAAO,CAIL,GAAI,CAAE,KAAM,MAAA,EAIZ,WAAY,CAAE,KAAM,QAAS,SAAU,EAAA,EAIvC,MAAO,CAAE,KAAM,OAAQ,QAAS,IAAA,EAIhC,MAAO,CAAE,KAAM,OAAQ,QAAS,IAAA,EAIhC,SAAU,CAAE,KAAM,OAAQ,QAAS,IAAA,EAInC,KAAM,CAAE,KAAM,OAAQ,QAAS,IAAA,EAI/B,UAAW,CAAE,KAAM,QAAS,QAAS,EAAA,EAIrC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAA,EAIpC,KAAM,CAAE,KAAM,OAA0B,QAASC,EAAAA,SAAS,MAAA,EAI1D,MAAO,CAAE,KAAM,OAAqC,QAASC,EAAAA,oBAAoB,WAAA,EAIjF,eAAgB,CAAE,KAAM,OAAqC,QAAS,IAAA,EAItE,cAAe,CAAE,KAAM,OAAmC,QAASC,EAAAA,kBAAkB,WAAA,EAIrF,UAAW,CAAE,KAAM,OAAuC,QAASC,EAAAA,sBAAsB,UAAA,EAIzF,mBAAoB,CAAE,KAAM,OAA6B,QAAS,IAAA,EAIlE,YAAa,CAAE,KAAM,QAAS,QAAS,EAAA,CAAM,EAE/C,MAAO,CAKL,oBAKA,qBAKA,OAKA,QAKA,YAAA,EAEF,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CACrB,MAAMC,EAAiBC,EAAAA,IAAwB,IAAI,EAC7CC,EAAkBD,EAAAA,IAA2B,IAAI,EAEjDE,EAAoBF,EAAAA,IAA2BH,EAAM,SAAS,EAC9DM,EAAgBH,EAAAA,IAA8B,IAAI,EAElDI,EAAU,IAAM,CACpBN,EAAK,oBAAqB,EAAK,CACjC,EAEMO,EAAQ,IAAM,CACdR,EAAM,YACRO,EAAA,CAEJ,EAEME,EAAuB,IAAM,CACjC,GAAIT,EAAM,YAAcE,EAAe,OAASE,EAAgB,MAAO,CACrE,MAAMM,EAAgBL,EAAkB,MACxCA,EAAkB,MAAQM,EAAAA,2BAA2B,mBACnDT,EAAe,MACfE,EAAgB,MAChBJ,EAAM,UACNA,EAAM,kBAAA,EAGJU,IAAkBL,EAAkB,OACtCJ,EAAK,qBAAsBI,EAAkB,KAAK,CAEtD,CACF,EAEMO,EAAa,IAAM,CACnB,CAACZ,EAAM,UAAY,CAACA,EAAM,cAC5BC,EAAK,oBAAqB,CAACD,EAAM,UAAU,EAC3C,WAAWS,CAAoB,EAEnC,EAEMI,EAAS,IAAM,CACnBZ,EAAK,MAAM,CACb,EAEMa,EAAU,IAAM,CACpBb,EAAK,OAAO,CACd,EAEAc,OAAAA,EAAAA,UAAU,IAAM,CACV,CAACf,EAAM,aAAeI,EAAgB,QACxCE,EAAc,MAAQ,IAAIU,EAAAA,kBAAkBZ,EAAgB,MAAOI,CAAK,GAE1E,OAAO,iBAAiB,SAAUC,EAAsB,CAAE,QAAS,GAAM,EACzE,OAAO,iBAAiB,SAAUA,EAAsB,CAAE,QAAS,GAAM,EACrET,EAAM,oBACRA,EAAM,mBAAmB,iBAAiB,SAAUS,EAAsB,CAAE,QAAS,GAAM,CAE/F,CAAC,EAEDQ,EAAAA,YAAY,IAAM,CACXjB,EAAM,aACTM,EAAc,OAASA,EAAc,MAAM,QAAA,EAE7C,OAAO,oBAAoB,SAAUG,CAAoB,EACzD,OAAO,oBAAoB,SAAUA,CAAoB,EACrDT,EAAM,oBACRA,EAAM,mBAAmB,oBAAoB,SAAUS,CAAoB,CAE/E,CAAC,EAEDS,EAAAA,MACE,IAAMhB,EAAe,MACpBiB,GAAUlB,EAAK,aAAckB,CAAK,EACnC,CAAE,UAAW,EAAA,CAAK,EAGpBC,EAAAA,aAAa,CAAE,gBAAAhB,EAAiB,EAEzB,CACL,eAAAF,EACA,gBAAAE,EACA,kBAAAC,EACA,cAAAC,EACA,QAAAC,EACA,MAAAC,EACA,WAAAI,EACA,OAAAC,EACA,QAAAC,CAAA,CAEJ,CACF,CAAC"}
1
+ {"version":3,"file":"NeonDropdown.cjs.js","sources":["../../../../src/components/presentation/dropdown/NeonDropdown.ts?vue&type=script&src=true&lang.ts"],"sourcesContent":["import { computed, defineComponent, defineExpose, onMounted, onUnmounted, ref, watch } from 'vue';\nimport { NeonDropdownPlacement } from '@/common/enums/NeonDropdownPlacement';\nimport { NeonDropdownPlacementUtils } from '@/common/utils/NeonDropdownPlacementUtils';\nimport { NeonClosableUtils } from '@/common/utils/NeonClosableUtils';\nimport { NeonSize } from '@/common/enums/NeonSize';\nimport { NeonFunctionalColor } from '@/common/enums/NeonFunctionalColor';\nimport { NeonDropdownStyle } from '@/common/enums/NeonDropdownStyle';\nimport NeonBadge from '@/components/presentation/badge/NeonBadge.vue';\nimport NeonButton from '@/components/user-input/button/NeonButton.vue';\nimport NeonExpansionIndicator from '@/components/presentation/expansion-indicator/NeonExpansionIndicator.vue';\n\n/**\n * <p>A general purpose dropdown component. This component consists of a button, to trigger the dropdown to open, and\n * the dropdown content which is displayed above the page when the user clicks the button.</p>\n * <p>This can be useful for secondary (perhaps more complex) actions for which there is not enough space on the page or\n * the action is asynchronous allowing the user to perform the action and continue what they were doing. Examples are\n * providing links to copy and letting the user send feedback.</p>\n * <p><strong>NeonDropdown</strong> is the basis for the <strong>NeonDropdownMenu</strong> component and the\n * <strong>NeonSelect</strong> form component.</p>\n */\nexport default defineComponent({\n name: 'NeonDropdown',\n components: {\n NeonBadge,\n NeonButton,\n NeonExpansionIndicator,\n },\n props: {\n /**\n * Id for the dropdown button.\n */\n id: { type: String },\n /**\n * Whether the dropdown is currently open.\n */\n modelValue: { type: Boolean, required: true },\n /**\n * The label for the dropdown button.\n */\n label: { type: String, default: null },\n /**\n * URL of image to display if the button style is a square or circular badge.\n */\n image: { type: String, default: null },\n /**\n * Badge image ALT text.\n */\n imageAlt: { type: String, default: null },\n /**\n * An icon to display on the dropdown button. This will be to the left of any label, but can also be used on its own.\n */\n icon: { type: String, default: null },\n /**\n * Show the dropdown button's indicator (chevron).\n */\n indicator: { type: Boolean, default: true },\n /**\n * Disable the dropdown button\n */\n disabled: { type: Boolean, default: false },\n /**\n * The size of the dropdown button - Small, Medium or Large.\n */\n size: { type: String as () => NeonSize, default: NeonSize.Medium },\n /**\n * The color of the dropdown button\n */\n color: { type: String as () => NeonFunctionalColor, default: NeonFunctionalColor.LowContrast },\n /**\n * The alternate color of the dropdown button (for gradient buttons).\n */\n alternateColor: { type: String as () => NeonFunctionalColor, default: null },\n /**\n * The style of the dropdown button\n */\n dropdownStyle: { type: String as () => NeonDropdownStyle, default: NeonDropdownStyle.SolidButton },\n /**\n * Placement of the dropdown contents.\n */\n placement: { type: String as () => NeonDropdownPlacement, default: NeonDropdownPlacement.BottomLeft },\n /**\n * Restrict placement to within this container.\n */\n placementContainer: { type: Object as () => HTMLElement, default: null },\n /**\n * Instead of opening on click (default), open on hover.\n */\n openOnHover: { type: Boolean, default: false },\n },\n emits: [\n /**\n * Emitted when the dropdown button is toggled.\n * @type {boolean} the open state of the dropdown.\n */\n 'update:modelValue',\n /**\n * Emitted on initialisation.\n * @type {NeonDropdownPlacement} the placement of the dropdown.\n */\n 'dropdown-placement',\n /**\n * Emitted when the dropdown button is blurred.\n * @type {void}\n */\n 'blur',\n /**\n * Emitted when the dropdown button is focussed.\n * @type {void}\n */\n 'focus',\n /**\n * emitted on initialisation\n * @type {HTMLElement} the reference to the HTMLElement for the dropdown menu button.\n */\n 'button-ref',\n ],\n setup(props, { emit }) {\n const dropdownButton = ref<HTMLElement | null>(null);\n const dropdownContent = ref<HTMLDivElement | null>(null);\n\n const dropdownPlacement = ref<NeonDropdownPlacement>(props.placement);\n const closableUtils = ref<NeonClosableUtils | null>(null);\n\n const onClose = () => {\n emit('update:modelValue', false);\n };\n\n const close = () => {\n if (props.modelValue) {\n onClose();\n }\n };\n\n const recalculatePlacement = () => {\n if (props.modelValue && dropdownButton.value && dropdownContent.value) {\n const previousValue = dropdownPlacement.value;\n dropdownPlacement.value = NeonDropdownPlacementUtils.calculatePlacement(\n dropdownButton.value,\n dropdownContent.value,\n props.placement,\n props.placementContainer,\n );\n\n if (previousValue !== dropdownPlacement.value) {\n emit('dropdown-placement', dropdownPlacement.value);\n }\n }\n };\n\n const toggleOpen = () => {\n if (!props.disabled && !props.openOnHover) {\n emit('update:modelValue', !props.modelValue);\n setTimeout(recalculatePlacement);\n }\n };\n\n const isButtonStyle = computed<boolean>(() => props.dropdownStyle?.indexOf('badge') === -1);\n\n const onBlur = () => {\n emit('blur');\n };\n\n const onFocus = () => {\n emit('focus');\n };\n\n onMounted(() => {\n if (!props.openOnHover && dropdownContent.value) {\n closableUtils.value = new NeonClosableUtils(dropdownContent.value, close);\n }\n window.addEventListener('resize', recalculatePlacement, { passive: true });\n window.addEventListener('scroll', recalculatePlacement, { passive: true });\n if (props.placementContainer) {\n props.placementContainer.addEventListener('scroll', recalculatePlacement, { passive: true });\n }\n });\n\n onUnmounted(() => {\n if (!props.openOnHover) {\n closableUtils.value && closableUtils.value.destroy();\n }\n window.removeEventListener('resize', recalculatePlacement);\n window.removeEventListener('scroll', recalculatePlacement);\n if (props.placementContainer) {\n props.placementContainer.removeEventListener('scroll', recalculatePlacement);\n }\n });\n\n watch(\n () => dropdownButton.value,\n (value) => emit('button-ref', value),\n { immediate: true },\n );\n\n defineExpose({ dropdownContent });\n\n return {\n dropdownButton,\n dropdownContent,\n dropdownPlacement,\n closableUtils,\n isButtonStyle,\n onClose,\n close,\n toggleOpen,\n onBlur,\n onFocus,\n };\n },\n});\n"],"names":["_sfc_main","defineComponent","NeonBadge","NeonButton","NeonExpansionIndicator","NeonSize","NeonFunctionalColor","NeonDropdownStyle","NeonDropdownPlacement","props","emit","dropdownButton","ref","dropdownContent","dropdownPlacement","closableUtils","onClose","close","recalculatePlacement","previousValue","NeonDropdownPlacementUtils","toggleOpen","isButtonStyle","computed","_a","onBlur","onFocus","onMounted","NeonClosableUtils","onUnmounted","watch","value","defineExpose"],"mappings":"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"}
@@ -1,19 +1,19 @@
1
- import { defineComponent as p, ref as u, onMounted as v, onUnmounted as w, watch as y, defineExpose as g } from "vue";
2
- import { NeonDropdownPlacement as S } from "../../../common/enums/NeonDropdownPlacement.es.js";
3
- import { NeonDropdownPlacementUtils as C } from "../../../common/utils/NeonDropdownPlacementUtils.es.js";
4
- import { NeonClosableUtils as b } from "../../../common/utils/NeonClosableUtils.es.js";
5
- import { NeonSize as B } from "../../../common/enums/NeonSize.es.js";
6
- import { NeonFunctionalColor as N } from "../../../common/enums/NeonFunctionalColor.es.js";
7
- import { NeonDropdownStyle as E } from "../../../common/enums/NeonDropdownStyle.es.js";
8
- import L from "../badge/NeonBadge.vue.es.js";
9
- import V from "../../user-input/button/NeonButton.vue.es.js";
10
- import O from "../expansion-indicator/NeonExpansionIndicator.vue.es.js";
11
- const j = p({
1
+ import { defineComponent as v, ref as i, computed as w, onMounted as y, onUnmounted as g, watch as S, defineExpose as C } from "vue";
2
+ import { NeonDropdownPlacement as b } from "../../../common/enums/NeonDropdownPlacement.es.js";
3
+ import { NeonDropdownPlacementUtils as B } from "../../../common/utils/NeonDropdownPlacementUtils.es.js";
4
+ import { NeonClosableUtils as N } from "../../../common/utils/NeonClosableUtils.es.js";
5
+ import { NeonSize as E } from "../../../common/enums/NeonSize.es.js";
6
+ import { NeonFunctionalColor as L } from "../../../common/enums/NeonFunctionalColor.es.js";
7
+ import { NeonDropdownStyle as V } from "../../../common/enums/NeonDropdownStyle.es.js";
8
+ import O from "../badge/NeonBadge.vue.es.js";
9
+ import P from "../../user-input/button/NeonButton.vue.es.js";
10
+ import x from "../expansion-indicator/NeonExpansionIndicator.vue.es.js";
11
+ const A = v({
12
12
  name: "NeonDropdown",
13
13
  components: {
14
- NeonBadge: L,
15
- NeonButton: V,
16
- NeonExpansionIndicator: O
14
+ NeonBadge: O,
15
+ NeonButton: P,
16
+ NeonExpansionIndicator: x
17
17
  },
18
18
  props: {
19
19
  /**
@@ -51,11 +51,11 @@ const j = p({
51
51
  /**
52
52
  * The size of the dropdown button - Small, Medium or Large.
53
53
  */
54
- size: { type: String, default: B.Medium },
54
+ size: { type: String, default: E.Medium },
55
55
  /**
56
56
  * The color of the dropdown button
57
57
  */
58
- color: { type: String, default: N.LowContrast },
58
+ color: { type: String, default: L.LowContrast },
59
59
  /**
60
60
  * The alternate color of the dropdown button (for gradient buttons).
61
61
  */
@@ -63,11 +63,11 @@ const j = p({
63
63
  /**
64
64
  * The style of the dropdown button
65
65
  */
66
- dropdownStyle: { type: String, default: E.SolidButton },
66
+ dropdownStyle: { type: String, default: V.SolidButton },
67
67
  /**
68
68
  * Placement of the dropdown contents.
69
69
  */
70
- placement: { type: String, default: S.BottomLeft },
70
+ placement: { type: String, default: b.BottomLeft },
71
71
  /**
72
72
  * Restrict placement to within this container.
73
73
  */
@@ -105,49 +105,53 @@ const j = p({
105
105
  "button-ref"
106
106
  ],
107
107
  setup(e, { emit: n }) {
108
- const a = u(null), o = u(null), l = u(e.placement), r = u(null), d = () => {
108
+ const r = i(null), o = i(null), a = i(e.placement), u = i(null), d = () => {
109
109
  n("update:modelValue", !1);
110
110
  }, m = () => {
111
111
  e.modelValue && d();
112
112
  }, t = () => {
113
- if (e.modelValue && a.value && o.value) {
114
- const i = l.value;
115
- l.value = C.calculatePlacement(
116
- a.value,
113
+ if (e.modelValue && r.value && o.value) {
114
+ const l = a.value;
115
+ a.value = B.calculatePlacement(
116
+ r.value,
117
117
  o.value,
118
118
  e.placement,
119
119
  e.placementContainer
120
- ), i !== l.value && n("dropdown-placement", l.value);
120
+ ), l !== a.value && n("dropdown-placement", a.value);
121
121
  }
122
122
  }, c = () => {
123
123
  !e.disabled && !e.openOnHover && (n("update:modelValue", !e.modelValue), setTimeout(t));
124
- }, s = () => {
124
+ }, s = w(() => {
125
+ var l;
126
+ return ((l = e.dropdownStyle) == null ? void 0 : l.indexOf("badge")) === -1;
127
+ }), f = () => {
125
128
  n("blur");
126
- }, f = () => {
129
+ }, p = () => {
127
130
  n("focus");
128
131
  };
129
- return v(() => {
130
- !e.openOnHover && o.value && (r.value = new b(o.value, m)), window.addEventListener("resize", t, { passive: !0 }), window.addEventListener("scroll", t, { passive: !0 }), e.placementContainer && e.placementContainer.addEventListener("scroll", t, { passive: !0 });
131
- }), w(() => {
132
- e.openOnHover || r.value && r.value.destroy(), window.removeEventListener("resize", t), window.removeEventListener("scroll", t), e.placementContainer && e.placementContainer.removeEventListener("scroll", t);
133
- }), y(
134
- () => a.value,
135
- (i) => n("button-ref", i),
132
+ return y(() => {
133
+ !e.openOnHover && o.value && (u.value = new N(o.value, m)), window.addEventListener("resize", t, { passive: !0 }), window.addEventListener("scroll", t, { passive: !0 }), e.placementContainer && e.placementContainer.addEventListener("scroll", t, { passive: !0 });
134
+ }), g(() => {
135
+ e.openOnHover || u.value && u.value.destroy(), window.removeEventListener("resize", t), window.removeEventListener("scroll", t), e.placementContainer && e.placementContainer.removeEventListener("scroll", t);
136
+ }), S(
137
+ () => r.value,
138
+ (l) => n("button-ref", l),
136
139
  { immediate: !0 }
137
- ), g({ dropdownContent: o }), {
138
- dropdownButton: a,
140
+ ), C({ dropdownContent: o }), {
141
+ dropdownButton: r,
139
142
  dropdownContent: o,
140
- dropdownPlacement: l,
141
- closableUtils: r,
143
+ dropdownPlacement: a,
144
+ closableUtils: u,
145
+ isButtonStyle: s,
142
146
  onClose: d,
143
147
  close: m,
144
148
  toggleOpen: c,
145
- onBlur: s,
146
- onFocus: f
149
+ onBlur: f,
150
+ onFocus: p
147
151
  };
148
152
  }
149
153
  });
150
154
  export {
151
- j as default
155
+ A as default
152
156
  };
153
157
  //# sourceMappingURL=NeonDropdown.es.js.map