@aotearoan/neon 28.3.0 → 28.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/components/feedback/alert/NeonAlert.cjs.js +1 -1
  2. package/dist/components/feedback/alert/NeonAlert.cjs.js.map +1 -1
  3. package/dist/components/feedback/alert/NeonAlert.es.js +1 -1
  4. package/dist/components/feedback/alert/NeonAlert.es.js.map +1 -1
  5. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.cjs.js +1 -1
  6. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.cjs.js.map +1 -1
  7. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.es.js +15 -15
  8. package/dist/components/feedback/splash-loader/NeonSplashLoader.vue.es.js.map +1 -1
  9. package/dist/components/layout/card-list/NeonCardList.cjs.js +1 -1
  10. package/dist/components/layout/card-list/NeonCardList.cjs.js.map +1 -1
  11. package/dist/components/layout/card-list/NeonCardList.es.js +28 -15
  12. package/dist/components/layout/card-list/NeonCardList.es.js.map +1 -1
  13. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js +1 -1
  14. package/dist/components/layout/card-list/NeonCardList.vue.cjs.js.map +1 -1
  15. package/dist/components/layout/card-list/NeonCardList.vue.es.js +62 -65
  16. package/dist/components/layout/card-list/NeonCardList.vue.es.js.map +1 -1
  17. package/dist/components/layout/list-layout/NeonListLayout.cjs.js +2 -0
  18. package/dist/components/layout/list-layout/NeonListLayout.cjs.js.map +1 -0
  19. package/dist/components/layout/list-layout/NeonListLayout.es.js +107 -0
  20. package/dist/components/layout/list-layout/NeonListLayout.es.js.map +1 -0
  21. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js +2 -0
  22. package/dist/components/layout/list-layout/NeonListLayout.vue.cjs.js.map +1 -0
  23. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js +59 -0
  24. package/dist/components/layout/list-layout/NeonListLayout.vue.es.js.map +1 -0
  25. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js +1 -1
  26. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.cjs.js.map +1 -1
  27. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js +10 -10
  28. package/dist/components/navigation/breadcrumbs/NeonBreadcrumbs.vue.es.js.map +1 -1
  29. package/dist/components/navigation/pagination/NeonPagination.cjs.js +1 -1
  30. package/dist/components/navigation/pagination/NeonPagination.cjs.js.map +1 -1
  31. package/dist/components/navigation/pagination/NeonPagination.es.js +31 -21
  32. package/dist/components/navigation/pagination/NeonPagination.es.js.map +1 -1
  33. package/dist/components/navigation/pagination/NeonPagination.vue.cjs.js +1 -1
  34. package/dist/components/navigation/pagination/NeonPagination.vue.cjs.js.map +1 -1
  35. package/dist/components/navigation/pagination/NeonPagination.vue.es.js +43 -36
  36. package/dist/components/navigation/pagination/NeonPagination.vue.es.js.map +1 -1
  37. package/dist/components/presentation/empty-state/NeonEmptyState.cjs.js +2 -0
  38. package/dist/components/presentation/empty-state/NeonEmptyState.cjs.js.map +1 -0
  39. package/dist/components/presentation/empty-state/NeonEmptyState.es.js +62 -0
  40. package/dist/components/presentation/empty-state/NeonEmptyState.es.js.map +1 -0
  41. package/dist/components/presentation/empty-state/NeonEmptyState.vue.cjs.js +2 -0
  42. package/dist/components/presentation/empty-state/NeonEmptyState.vue.cjs.js.map +1 -0
  43. package/dist/components/presentation/empty-state/NeonEmptyState.vue.es.js +54 -0
  44. package/dist/components/presentation/empty-state/NeonEmptyState.vue.es.js.map +1 -0
  45. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js +1 -1
  46. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js.map +1 -1
  47. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js +7 -7
  48. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js.map +1 -1
  49. package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js +1 -1
  50. package/dist/components/user-input/date-picker/NeonDatePicker.vue.cjs.js.map +1 -1
  51. package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js +40 -40
  52. package/dist/components/user-input/date-picker/NeonDatePicker.vue.es.js.map +1 -1
  53. package/dist/model/presentation/empty-state/NeonEmptyStateType.cjs.js +2 -0
  54. package/dist/model/presentation/empty-state/NeonEmptyStateType.cjs.js.map +1 -0
  55. package/dist/model/presentation/empty-state/NeonEmptyStateType.es.js +5 -0
  56. package/dist/model/presentation/empty-state/NeonEmptyStateType.es.js.map +1 -0
  57. package/dist/neon.cjs.js +1 -1
  58. package/dist/neon.es.js +229 -223
  59. package/dist/neon.es.js.map +1 -1
  60. package/dist/src/components/layout/card-list/NeonCardList.d.ts +121 -10
  61. package/dist/src/components/layout/drawer/NeonDrawer.d.ts +1 -1
  62. package/dist/src/components/layout/list-layout/NeonListLayout.d.ts +2726 -0
  63. package/dist/src/components/layout/list-layout/NeonListLayout.vue.d.ts +2 -0
  64. package/dist/src/components/navigation/pagination/NeonPagination.d.ts +6 -5
  65. package/dist/src/components/presentation/empty-state/NeonEmptyState.d.ts +613 -0
  66. package/dist/src/components/presentation/empty-state/NeonEmptyState.vue.d.ts +2 -0
  67. package/dist/src/model/navigation/pagination/NeonPaginationModel.d.ts +1 -1
  68. package/dist/src/model/presentation/empty-state/NeonEmptyStateType.d.ts +9 -0
  69. package/dist/src/model/user-input/button/NeonButtonModel.d.ts +19 -0
  70. package/dist/src/neon.d.ts +4 -0
  71. package/package.json +1 -1
  72. package/src/sass/components/_card-list.scss +19 -0
  73. package/src/sass/components/_empty-state.scss +47 -0
  74. package/src/sass/components/_header.scss +2 -0
  75. package/src/sass/components/_list-layout.scss +37 -0
  76. package/src/sass/components/_page-container.scss +1 -0
  77. package/src/sass/components/components.scss +2 -0
  78. package/src/sass/core/_transitions.scss +15 -0
  79. package/src/sass/global/base-html.scss +0 -4
  80. package/src/sass/includes/_dependencies.scss +2 -0
  81. package/src/sass/theme.scss +8 -0
  82. package/src/sass/variables-global.scss +7 -0
  83. package/dist/components/feedback/alert/container/NeonDialogContainer.cjs2.js +0 -2
  84. package/dist/components/feedback/alert/container/NeonDialogContainer.cjs2.js.map +0 -1
  85. package/dist/components/feedback/alert/container/NeonDialogContainer.es2.js +0 -25
  86. package/dist/components/feedback/alert/container/NeonDialogContainer.es2.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ import type { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';
2
+ import type { NeonButtonStyle } from './NeonButtonStyle';
3
+ /**
4
+ * Model describing a button
5
+ */
6
+ export interface NeonButtonModel {
7
+ /** The button label */
8
+ label?: string;
9
+ /** Button url (renders button as an anchor element) */
10
+ href?: string;
11
+ /** button disabled state */
12
+ disabled?: boolean;
13
+ /** Button icon */
14
+ icon?: string;
15
+ /** Button color */
16
+ color?: NeonFunctionalColor;
17
+ /** Button style */
18
+ style?: NeonButtonStyle;
19
+ }
@@ -20,6 +20,7 @@ export { default as NeonDrawer } from './components/layout/drawer/NeonDrawer.vue
20
20
  export { default as NeonDropdown } from './components/presentation/dropdown/NeonDropdown.vue';
21
21
  export { default as NeonDropdownMenu } from './components/navigation/dropdown-menu/NeonDropdownMenu.vue';
22
22
  export { default as NeonDropZone } from './components/user-input/drop-zone/NeonDropZone.vue';
23
+ export { default as NeonEmptyState } from './components/presentation/empty-state/NeonEmptyState.vue';
23
24
  export { default as NeonExpansionIndicator } from './components/presentation/expansion-indicator/NeonExpansionIndicator.vue';
24
25
  export { default as NeonExpansionPanel } from './components/presentation/expansion-panel/NeonExpansionPanel.vue';
25
26
  export { default as NeonFieldGroup } from './components/user-input/field-group/NeonFieldGroup.vue';
@@ -42,6 +43,7 @@ export { default as NeonLabelledContent } from './components/presentation/labell
42
43
  export { default as NeonLinearProgress } from './components/feedback/linear-progress/NeonLinearProgress.vue';
43
44
  export { default as NeonLink } from './components/navigation/link/NeonLink.vue';
44
45
  export { default as NeonList } from './components/user-input/list/NeonList.vue';
46
+ export { default as NeonListLayout } from './components/layout/list-layout/NeonListLayout.vue';
45
47
  export { default as NeonMenu } from './components/navigation/menu/NeonMenu.vue';
46
48
  export { default as NeonMobileMenu } from './components/navigation/mobile-menu/NeonMobileMenu.vue';
47
49
  export { default as NeonModal } from './components/layout/modal/NeonModal.vue';
@@ -86,6 +88,7 @@ export type { NeonBannerMessage } from '@/model/feedback/banner/NeonBannerMessag
86
88
  export type { NeonBannerModel } from '@/model/feedback/banner/NeonBannerModel';
87
89
  export type { NeonBreadcrumbLink } from './model/navigation/breadcrumbs/NeonBreadcrumbLink';
88
90
  export { NeonBreadcrumbResponsiveStyle } from './model/navigation/breadcrumbs/NeonBreadcrumbResponsiveStyle';
91
+ export type { NeonButtonModel } from './model/user-input/button/NeonButtonModel';
89
92
  export { NeonButtonSize } from '@/model/user-input/button/NeonButtonSize';
90
93
  export { NeonButtonStyle } from '@/model/user-input/button/NeonButtonStyle';
91
94
  export { NeonButtonType } from '@/model/user-input/button/NeonButtonType';
@@ -99,6 +102,7 @@ export type { NeonDropdownMenuItem } from '@/model/presentation/dropdown/NeonDro
99
102
  export { NeonDropdownPlacement } from '@/model/presentation/dropdown/NeonDropdownPlacement';
100
103
  export type { NeonDropdownPlacementObject } from '@/model/presentation/dropdown/NeonDropdownPlacementObject';
101
104
  export { NeonDropdownStyle } from '@/model/presentation/dropdown/NeonDropdownStyle';
105
+ export { NeonEmptyStateType } from './model/presentation/empty-state/NeonEmptyStateType';
102
106
  export type { NeonFilterItem } from './model/user-input/filter/NeonFilterItem';
103
107
  export type { NeonFilterListItem } from '@/model/user-input/filter-list/NeonFilterListItem';
104
108
  export { NeonFunctionalColor } from '@/model/common/color/NeonFunctionalColor';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aotearoan/neon",
3
3
  "description": "Neon is a lightweight design library of Vue 3 components with minimal dependencies.",
4
- "version": "28.3.0",
4
+ "version": "28.4.1",
5
5
  "main": "./dist/neon.cjs.js",
6
6
  "module": "./dist/neon.es.js",
7
7
  "types": "./dist/src/neon.d.ts",
@@ -21,7 +21,14 @@
21
21
 
22
22
  &__header {
23
23
  align-items: center;
24
+ user-select: none;
24
25
  margin-bottom: var(--neon-space-16);
26
+ font-size: var(--neon-font-size-xs);
27
+ color: var(--neon-color-text-primary);
28
+
29
+ @include responsive.responsive(mobile-large) {
30
+ display: none;
31
+ }
25
32
  }
26
33
 
27
34
  &__total {
@@ -36,6 +43,18 @@
36
43
 
37
44
  &__cards {
38
45
  border-top: var(--neon-border);
46
+ position: relative;
47
+
48
+ .neon-splash-loader {
49
+ position: absolute;
50
+ width: 100%;
51
+ height: 100%;
52
+ top: 0;
53
+ left: 0;
54
+ right: 0;
55
+ bottom: 0;
56
+ z-index: var(--neon-z-index-above);
57
+ }
39
58
  }
40
59
 
41
60
  .neon-card-list__card {
@@ -0,0 +1,47 @@
1
+ @use '../includes/responsive';
2
+
3
+ @mixin empty-state {
4
+ .neon-empty-state {
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ margin-top: var(--neon-space-32);
8
+ width: 100%;
9
+ height: 100%;
10
+ max-width: var(--neon-max-width-empty-state);
11
+ text-align: center;
12
+
13
+ .neon-empty-state__title {
14
+ padding-top: 0;
15
+ }
16
+
17
+ .neon-empty-state__illustration {
18
+ width: 100%;
19
+ }
20
+
21
+ .neon-empty-state__ctas {
22
+ justify-content: center;
23
+ }
24
+
25
+ .neon-empty-state__cta {
26
+ margin-bottom: var(--neon-space-8);
27
+ }
28
+
29
+ &.neon-empty-state--error {
30
+ .neon-empty-state__title {
31
+ color: var(--neon-color-disabled-text);
32
+ }
33
+
34
+ .neon-empty-state__subtitle {
35
+ font-size: var(--neon-h1-size);
36
+ }
37
+ }
38
+
39
+ @include responsive.responsive(larger-than-mobile-large) {
40
+ align-items: center;
41
+
42
+ .neon-empty-state__title {
43
+ align-content: center;
44
+ }
45
+ }
46
+ }
47
+ }
@@ -3,6 +3,8 @@
3
3
 
4
4
  @mixin header {
5
5
  .neon-header {
6
+ margin-top: var(--neon-space-24);
7
+ margin-bottom: var(--neon-space-40);
6
8
  gap: var(--neon-space-24);
7
9
 
8
10
  &__content {
@@ -0,0 +1,37 @@
1
+ @use '../includes/responsive';
2
+
3
+ @mixin list-layout {
4
+ .neon-list-layout {
5
+ position: relative;
6
+ padding-bottom: calc(var(--neon-space-20) + var(--neon-height-mobile-menu) + var(--neon-border-width));
7
+ gap: 0;
8
+ width: 100%;
9
+ max-width: 100%;
10
+ flex: 1 0 auto;
11
+ }
12
+
13
+ /* All min-height logic */
14
+ @include responsive.responsive(larger-than-mobile-large) {
15
+ .neon-page--with-footer {
16
+ .neon-list-layout {
17
+ min-height: calc(100% - (var(--neon-footer-height) + var(--neon-border-width-footer) + var(--neon-top-nav-height)));
18
+ }
19
+ }
20
+ }
21
+
22
+ @include responsive.responsive(tablet) {
23
+ .neon-list-layout {
24
+ max-width: 100%;
25
+ }
26
+ }
27
+
28
+ .neon-page--left.neon-page--with-side-nav {
29
+ @include responsive.responsive(larger-than-tablet) {
30
+ .neon-list-layout {
31
+ max-width: calc(100% - 2 * var(--neon-gutter));
32
+ margin-left: var(--neon-gutter);
33
+ margin-right: var(--neon-gutter);
34
+ }
35
+ }
36
+ }
37
+ }
@@ -4,6 +4,7 @@
4
4
 
5
5
  @mixin page-container {
6
6
  .neon-page-container {
7
+ position: relative;
7
8
  padding-bottom: calc(var(--neon-space-20) + var(--neon-height-mobile-menu) + var(--neon-border-width));
8
9
  gap: var(--neon-gutter);
9
10
  width: 100%;
@@ -66,3 +66,5 @@
66
66
  @forward './filter';
67
67
  @forward './search-filter';
68
68
  @forward './filter-bar';
69
+ @forward './empty-state';
70
+ @forward './list-layout';
@@ -10,4 +10,19 @@
10
10
  opacity: 0;
11
11
  }
12
12
  }
13
+
14
+ .neon-splash-transition {
15
+ &-enter-active {
16
+ transition: opacity ease-in-out var(--neon-animation-speed-fast);
17
+ }
18
+
19
+ &-leave-active {
20
+ transition: opacity ease-in-out var(--neon-animation-speed-slowest);
21
+ }
22
+
23
+ &-enter-from,
24
+ &-leave-to {
25
+ opacity: 0;
26
+ }
27
+ }
13
28
  }
@@ -21,10 +21,6 @@
21
21
  line-height: var(--neon-line-height-ratio);
22
22
 
23
23
  @include layout.min-height(100);
24
-
25
- @include responsive.responsive(mobile-large) {
26
- font-size: 17px; // don't use rems here - body font must be defined in pixels
27
- }
28
24
  }
29
25
 
30
26
  .neon-closable--open {
@@ -141,6 +141,8 @@
141
141
  NeonFilter: [NeonButton, NeonInput, NeonLink, NeonStack, NeonSwitch, NeonExpansionIndicator, NeonIcon, NeonLink, NeonFieldGroup, NeonDropdown, NeonBadge],
142
142
  NeonSearchFilter: [NeonButton, NeonInput, NeonLink, NeonStack, NeonSwitch, NeonExpansionIndicator, NeonIcon, NeonLink, NeonFieldGroup, NeonDropdown, NeonBadge],
143
143
  NeonFilterBar: [NeonInline, NeonSwiper],
144
+ NeonEmptyState: [NeonButton, NeonIcon, NeonInline, NeonStack, NeonExpansionIndicator, NeonLink],
145
+ NeonListLayout: [NeonBreadcrumbs, NeonButton, NeonCard, NeonCardBody, NeonCardHeader, NeonCardList, NeonEmptyState, NeonExpansionIndicator, NeonHeader, NeonIcon, NeonInline, NeonLink, NeonNote, NeonPagination, NeonSelectableCard, NeonStack, NeonSwiper, NeonSwitch],
144
146
  );
145
147
 
146
148
  $neon-flattened-components: [];
@@ -312,4 +312,12 @@ $neon-components: null !default;
312
312
  @if index($neon-flattened-components, NeonFilterBar) {
313
313
  @include components.filter-bar;
314
314
  }
315
+
316
+ @if index($neon-flattened-components, NeonEmptyState) {
317
+ @include components.empty-state;
318
+ }
319
+
320
+ @if index($neon-flattened-components, NeonListLayout) {
321
+ @include components.list-layout;
322
+ }
315
323
  }
@@ -1396,4 +1396,11 @@
1396
1396
  * Width of the filter content when open
1397
1397
  */
1398
1398
  --neon-width-filter-content: 250rem;
1399
+
1400
+ /* empty state */
1401
+ /**
1402
+ * @component NeonEmptyState
1403
+ * Max width of the empty state content
1404
+ */
1405
+ --neon-max-width-empty-state: 416rem;
1399
1406
  }
@@ -1,2 +0,0 @@
1
- "use strict";const o=require("../../../../utils/feedback/dialog/NeonDialogService.cjs.js"),l=require("vue"),a=require("../../dialog/NeonDialog.vue.cjs.js"),i=l.defineComponent({name:"NeonDialogContainer",components:{NeonDialog:a},props:{modelValue:{type:Object}},setup(n,{emit:e}){return{onButtonClick:t=>{e("update:modelValue",{...n.modelValue,open:!1}),setTimeout(()=>{e("update:modelValue",o.NeonDialogService.defaultDialogMessage)},1e3),o.NeonDialogService.resolve(t)}}}});module.exports=i;
2
- //# sourceMappingURL=NeonDialogContainer.cjs2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NeonDialogContainer.cjs2.js","sources":["../../../../../src/components/feedback/alert/container/NeonDialogContainer.ts"],"sourcesContent":["import type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport { defineComponent } from 'vue';\nimport NeonDialog from '../../dialog/NeonDialog.vue';\n\n/**\n * This is an internal component for rendering alerts.\n */\nexport default defineComponent({\n name: 'NeonDialogContainer',\n components: {\n NeonDialog,\n },\n props: {\n modelValue: { type: Object as () => NeonDialogMessage },\n },\n setup(props, { emit }) {\n const onButtonClick = (choice: boolean) => {\n emit('update:modelValue', { ...props.modelValue, open: false });\n setTimeout(() => {\n emit('update:modelValue', NeonDialogService.defaultDialogMessage);\n }, 1000);\n NeonDialogService.resolve(choice);\n };\n\n return {\n onButtonClick,\n };\n },\n});\n"],"names":["NeonDialogContainer","defineComponent","NeonDialog","props","emit","choice","NeonDialogService"],"mappings":"4JAQAA,EAAeC,kBAAgB,CAC7B,KAAM,sBACN,WAAY,CACV,WAAAC,CAAA,EAEF,MAAO,CACL,WAAY,CAAE,KAAM,MAAA,CAAkC,EAExD,MAAMC,EAAO,CAAE,KAAAC,GAAQ,CASrB,MAAO,CACL,cATqBC,GAAoB,CACzCD,EAAK,oBAAqB,CAAE,GAAGD,EAAM,WAAY,KAAM,GAAO,EAC9D,WAAW,IAAM,CACfC,EAAK,oBAAqBE,EAAAA,kBAAkB,oBAAoB,CAClE,EAAG,GAAI,EACPA,EAAAA,kBAAkB,QAAQD,CAAM,CAClC,CAGE,CAEJ,CACF,CAAC"}
@@ -1,25 +0,0 @@
1
- import { NeonDialogService as o } from "../../../../utils/feedback/dialog/NeonDialogService.es.js";
2
- import { defineComponent as a } from "vue";
3
- import l from "../../dialog/NeonDialog.vue.es.js";
4
- const u = a({
5
- name: "NeonDialogContainer",
6
- components: {
7
- NeonDialog: l
8
- },
9
- props: {
10
- modelValue: { type: Object }
11
- },
12
- setup(t, { emit: e }) {
13
- return {
14
- onButtonClick: (n) => {
15
- e("update:modelValue", { ...t.modelValue, open: !1 }), setTimeout(() => {
16
- e("update:modelValue", o.defaultDialogMessage);
17
- }, 1e3), o.resolve(n);
18
- }
19
- };
20
- }
21
- });
22
- export {
23
- u as default
24
- };
25
- //# sourceMappingURL=NeonDialogContainer.es2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NeonDialogContainer.es2.js","sources":["../../../../../src/components/feedback/alert/container/NeonDialogContainer.ts"],"sourcesContent":["import type { NeonDialogMessage } from '@/model/feedback/dialog/NeonDialogMessage';\nimport { NeonDialogService } from '@/utils/feedback/dialog/NeonDialogService';\nimport { defineComponent } from 'vue';\nimport NeonDialog from '../../dialog/NeonDialog.vue';\n\n/**\n * This is an internal component for rendering alerts.\n */\nexport default defineComponent({\n name: 'NeonDialogContainer',\n components: {\n NeonDialog,\n },\n props: {\n modelValue: { type: Object as () => NeonDialogMessage },\n },\n setup(props, { emit }) {\n const onButtonClick = (choice: boolean) => {\n emit('update:modelValue', { ...props.modelValue, open: false });\n setTimeout(() => {\n emit('update:modelValue', NeonDialogService.defaultDialogMessage);\n }, 1000);\n NeonDialogService.resolve(choice);\n };\n\n return {\n onButtonClick,\n };\n },\n});\n"],"names":["NeonDialogContainer","defineComponent","NeonDialog","props","emit","choice","NeonDialogService"],"mappings":";;;AAQA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAAC;AAAA,EAAA;AAAA,EAEF,OAAO;AAAA,IACL,YAAY,EAAE,MAAM,OAAA;AAAA,EAAkC;AAAA,EAExD,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AASrB,WAAO;AAAA,MACL,eAToB,CAACC,MAAoB;AACzC,QAAAD,EAAK,qBAAqB,EAAE,GAAGD,EAAM,YAAY,MAAM,IAAO,GAC9D,WAAW,MAAM;AACf,UAAAC,EAAK,qBAAqBE,EAAkB,oBAAoB;AAAA,QAClE,GAAG,GAAI,GACPA,EAAkB,QAAQD,CAAM;AAAA,MAClC;AAAA,IAGE;AAAA,EAEJ;AACF,CAAC;"}