nexa-ui-kit 0.6.2 → 0.6.4

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.
@@ -1,13 +1,14 @@
1
1
  import { signal, effect, onMounted, onUnmounted, h, hText, defineComponent, registerComponent, reloadComponent, injectStyle, Teleport } from 'nexa-framework'
2
2
 
3
3
  const _sfc_main = defineComponent({
4
- __scopeId: 'data-v-42ba3820',
4
+ __scopeId: 'data-v-39fa634f',
5
5
  __hmrId: 'NModal_nexa',
6
6
  props: {
7
7
  show: { type: Boolean, default: false },
8
8
  title: { type: String, default: '' },
9
9
  size: { type: String, default: 'md' },
10
- closable: { type: Boolean, default: true }
10
+ closable: { type: Boolean, default: true },
11
+ closeLeft: { type: Boolean, default: false }
11
12
  },
12
13
  emits: ['close'],
13
14
  setup(props, setupContext) {
@@ -76,30 +77,33 @@ const _sfc_main = defineComponent({
76
77
  })
77
78
  // Injected render function
78
79
  _sfc_main.render = function(ctx) {
79
- const { isVisible, modalEl, previousFocus, bodyOverflow, sizeMap, close, handleEsc, handleOverlayClick, focusableSelector, handleKeydown, $slots, emit, show, title, size, closable, Fragment: _ntc_Fragment, Teleport: _ntc_Teleport } = ctx
80
- return h(_ntc_Teleport, { to: "body", "data-v-42ba3820": "" }, [
80
+ const { isVisible, modalEl, previousFocus, bodyOverflow, sizeMap, close, handleEsc, handleOverlayClick, focusableSelector, handleKeydown, $slots, emit, show, title, size, closable, closeLeft, Fragment: _ntc_Fragment, Teleport: _ntc_Teleport } = ctx
81
+ return h(_ntc_Teleport, { to: "body", "data-v-39fa634f": "" }, [
81
82
  "\n ",
82
- (isVisible.value) ? h('div', { class: "n-modal-root", "data-v-42ba3820": "" }, [
83
+ (isVisible.value) ? h('div', { class: "n-modal-root", "data-v-39fa634f": "" }, [
83
84
  "\n ",
84
- h('div', { class: ["n-modal-overlay", { 'is-active': show }], onClick: handleOverlayClick, "data-v-42ba3820": "" }),
85
+ h('div', { class: ["n-modal-overlay", { 'is-active': show }], onClick: handleOverlayClick, "data-v-39fa634f": "" }),
85
86
  "\n ",
86
- h('div', { class: ["n-modal-container", { 'is-active': show }], ref: "modalEl", style: { maxWidth: sizeMap[size] || size }, tabindex: "-1", onKeydown: handleKeydown, "data-v-42ba3820": "" }, [
87
+ h('div', { class: ["n-modal-container", { 'is-active': show }], ref: "modalEl", style: { maxWidth: sizeMap[size] || size }, tabindex: "-1", onKeydown: handleKeydown, "data-v-39fa634f": "" }, [
87
88
  "\n ",
88
- (title) ? h('div', { class: "n-modal-header", "data-v-42ba3820": "" }, [
89
+ (title || $slots.header) ? h('div', { class: ["n-modal-header", { 'close-left': closeLeft }], "data-v-39fa634f": "" }, [
89
90
  "\n ",
91
+ (closable && closeLeft) ? h('button', { class: "n-modal-close", onClick: close, "aria-label": "Close", "data-v-39fa634f": "" }, [
92
+ "×"
93
+ ]) : null,
90
94
  ctx.$slots.header ? ctx.$slots.header() : null,
91
95
  "\n ",
92
- (closable) ? h('button', { class: "n-modal-close", onClick: close, "aria-label": "Close", "data-v-42ba3820": "" }, [
96
+ (closable && !closeLeft) ? h('button', { class: "n-modal-close", onClick: close, "aria-label": "Close", "data-v-39fa634f": "" }, [
93
97
  "×"
94
98
  ]) : null
95
99
  ]) : null,
96
- h('div', { class: "n-modal-content", "data-v-42ba3820": "" }, [
100
+ h('div', { class: "n-modal-content", "data-v-39fa634f": "" }, [
97
101
  "\n ",
98
102
  ctx.$slots.default ? ctx.$slots.default() : null,
99
103
  "\n "
100
104
  ]),
101
105
  "\n ",
102
- ($slots.footer) ? h('div', { class: "n-modal-footer", "data-v-42ba3820": "" }, [
106
+ ($slots.footer) ? h('div', { class: "n-modal-footer", "data-v-39fa634f": "" }, [
103
107
  "\n ",
104
108
  ctx.$slots.footer ? ctx.$slots.footer() : null,
105
109
  "\n "
@@ -109,12 +113,12 @@ _sfc_main.render = function(ctx) {
109
113
  ]) : null
110
114
  ])
111
115
  }
112
- _sfc_main.__scopeId = 'data-v-42ba3820'
116
+ _sfc_main.__scopeId = 'data-v-39fa634f'
113
117
  _sfc_main.__hmrId = 'NModal_nexa'
114
118
 
115
119
  export default _sfc_main
116
120
 
117
- const __style = `.n-modal-root[data-v-42ba3820]{
121
+ const __style = `.n-modal-root[data-v-39fa634f]{
118
122
  position: fixed;
119
123
  top: 0;
120
124
  left: 0;
@@ -126,7 +130,7 @@ const __style = `.n-modal-root[data-v-42ba3820]{
126
130
  z-index: var(--n-z-modal);
127
131
  }
128
132
 
129
- .n-modal-overlay[data-v-42ba3820]{
133
+ .n-modal-overlay[data-v-39fa634f]{
130
134
  position: absolute;
131
135
  top: 0;
132
136
  left: 0;
@@ -138,11 +142,11 @@ const __style = `.n-modal-root[data-v-42ba3820]{
138
142
  transition: opacity 0.25s ease;
139
143
  }
140
144
 
141
- .n-modal-overlay.is-active[data-v-42ba3820]{
145
+ .n-modal-overlay.is-active[data-v-39fa634f]{
142
146
  opacity: 1;
143
147
  }
144
148
 
145
- .n-modal-container[data-v-42ba3820]{
149
+ .n-modal-container[data-v-39fa634f]{
146
150
  position: relative;
147
151
  width: 90%;
148
152
  background: var(--n-color-surface);
@@ -159,12 +163,12 @@ const __style = `.n-modal-root[data-v-42ba3820]{
159
163
  flex-direction: column;
160
164
  }
161
165
 
162
- .n-modal-container.is-active[data-v-42ba3820]{
166
+ .n-modal-container.is-active[data-v-39fa634f]{
163
167
  transform: scale(1) translateY(0);
164
168
  opacity: 1;
165
169
  }
166
170
 
167
- .n-modal-header[data-v-42ba3820]{
171
+ .n-modal-header[data-v-39fa634f]{
168
172
  padding: var(--n-space-6) var(--n-space-8);
169
173
  border-bottom: 1px solid var(--n-color-border);
170
174
  display: flex;
@@ -173,14 +177,14 @@ const __style = `.n-modal-root[data-v-42ba3820]{
173
177
  flex-shrink: 0;
174
178
  }
175
179
 
176
- .n-modal-header h3[data-v-42ba3820]{
180
+ .n-modal-header h3[data-v-39fa634f]{
177
181
  margin: 0;
178
182
  font-size: var(--n-text-xl);
179
183
  font-weight: var(--n-weight-bold);
180
184
  color: var(--n-color-text);
181
185
  }
182
186
 
183
- .n-modal-close[data-v-42ba3820]{
187
+ .n-modal-close[data-v-39fa634f]{
184
188
  background: transparent;
185
189
  border: none;
186
190
  color: var(--n-color-text-secondary);
@@ -197,19 +201,19 @@ const __style = `.n-modal-root[data-v-42ba3820]{
197
201
  border-radius: var(--n-radius-sm);
198
202
  }
199
203
 
200
- .n-modal-close[data-v-42ba3820]:hover{
204
+ .n-modal-close[data-v-39fa634f]:hover{
201
205
  color: var(--n-color-text);
202
206
  background: var(--n-color-glass);
203
207
  }
204
208
 
205
- .n-modal-content[data-v-42ba3820]{
209
+ .n-modal-content[data-v-39fa634f]{
206
210
  padding: var(--n-space-8);
207
211
  color: var(--n-color-text-secondary);
208
212
  overflow-y: auto;
209
213
  flex: 1;
210
214
  }
211
215
 
212
- .n-modal-footer[data-v-42ba3820]{
216
+ .n-modal-footer[data-v-39fa634f]{
213
217
  padding: var(--n-space-5) var(--n-space-8);
214
218
  background: rgba(0, 0, 0, 0.15);
215
219
  border-top: 1px solid var(--n-color-border);
@@ -218,4 +222,4 @@ const __style = `.n-modal-root[data-v-42ba3820]{
218
222
  gap: var(--n-space-4);
219
223
  flex-shrink: 0;
220
224
  }`
221
- injectStyle('data-v-42ba3820', __style)
225
+ injectStyle('data-v-39fa634f', __style)
@@ -5,7 +5,8 @@ const props = defineProps({
5
5
  show: { type: Boolean, default: false },
6
6
  title: { type: String, default: '' },
7
7
  size: { type: String, default: 'md' },
8
- closable: { type: Boolean, default: true }
8
+ closable: { type: Boolean, default: true },
9
+ closeLeft: { type: Boolean, default: false }
9
10
  })
10
11
 
11
12
  const emit = defineEmits(['close'])
@@ -96,11 +97,12 @@ onUnmounted(() => {
96
97
  tabindex="-1"
97
98
  @keydown="handleKeydown"
98
99
  >
99
- <div v-if="title" class="n-modal-header">
100
+ <div v-if="title || $slots.header" class="n-modal-header" :class="{ 'close-left': closeLeft }">
101
+ <button v-if="closable && closeLeft" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
100
102
  <slot name="header">
101
103
  <h3>{{ title }}</h3>
102
104
  </slot>
103
- <button v-if="closable" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
105
+ <button v-if="closable && !closeLeft" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
104
106
  </div>
105
107
  <div class="n-modal-content">
106
108
  <slot />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexa-ui-kit",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Premium component library for Nexa Framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,12 +18,12 @@
18
18
  "src"
19
19
  ],
20
20
  "dependencies": {
21
- "nexa-framework": "0.6.2",
22
- "nexa-mobile": "0.6.2"
21
+ "nexa-framework": "0.6.4",
22
+ "nexa-mobile": "0.6.4"
23
23
  },
24
24
  "devDependencies": {
25
25
  "cpx": "^1.5.0",
26
- "nexa-compiler": "0.6.2"
26
+ "nexa-compiler": "0.6.4"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "tsc && node scripts/compile-nexa.js && node scripts/patch-imports.js && cpx \"src/**/*.nexa\" dist",
@@ -5,7 +5,8 @@ const props = defineProps({
5
5
  show: { type: Boolean, default: false },
6
6
  title: { type: String, default: '' },
7
7
  size: { type: String, default: 'md' },
8
- closable: { type: Boolean, default: true }
8
+ closable: { type: Boolean, default: true },
9
+ closeLeft: { type: Boolean, default: false }
9
10
  })
10
11
 
11
12
  const emit = defineEmits(['close'])
@@ -96,11 +97,12 @@ onUnmounted(() => {
96
97
  tabindex="-1"
97
98
  @keydown="handleKeydown"
98
99
  >
99
- <div v-if="title" class="n-modal-header">
100
+ <div v-if="title || $slots.header" class="n-modal-header" :class="{ 'close-left': closeLeft }">
101
+ <button v-if="closable && closeLeft" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
100
102
  <slot name="header">
101
103
  <h3>{{ title }}</h3>
102
104
  </slot>
103
- <button v-if="closable" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
105
+ <button v-if="closable && !closeLeft" class="n-modal-close" @click="close" aria-label="Close">&times;</button>
104
106
  </div>
105
107
  <div class="n-modal-content">
106
108
  <slot />