nexa-ui-kit 0.7.0 → 0.7.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.
@@ -1,7 +1,7 @@
1
1
  import { signal, computed, onMounted, onUnmounted, h, hText, effect, defineComponent, registerComponent, reloadComponent, injectStyle } from 'nexa-framework'
2
2
 
3
3
  const _sfc_main = defineComponent({
4
- __scopeId: 'data-v-1f83e1a6',
4
+ __scopeId: 'data-v-309b6eb8',
5
5
  __hmrId: 'NImage_nexa',
6
6
  props: {
7
7
  src: { type: String, required: true },
@@ -20,7 +20,7 @@ const _sfc_main = defineComponent({
20
20
  const error = signal(false)
21
21
  const visible = signal(!props.lazy)
22
22
  let observer = null
23
- let imgRef = null
23
+ const imgRef = signal(null)
24
24
  const currentSrc = computed(() => {
25
25
  if (error.value && props.fallback) return props.fallback
26
26
  return props.src
@@ -41,6 +41,10 @@ const _sfc_main = defineComponent({
41
41
  opacity: loaded.value ? '1' : '0',
42
42
  filter: (props.blur && !loaded.value) ? 'blur(8px)' : 'none'
43
43
  }))
44
+ const setRef = (el) => {
45
+ imgRef.value = el
46
+ if (observer && el) observer.observe(el)
47
+ }
44
48
  onMounted(() => {
45
49
  if (!props.lazy) return
46
50
  observer = new IntersectionObserver(entries => {
@@ -49,36 +53,36 @@ const _sfc_main = defineComponent({
49
53
  observer?.disconnect()
50
54
  }
51
55
  }, { rootMargin: '200px' })
52
- if (imgRef) observer.observe(imgRef)
56
+ if (imgRef.value) observer.observe(imgRef.value)
53
57
  })
54
58
  onUnmounted(() => {
55
59
  observer?.disconnect()
56
60
  })
57
- const onLoad = () => { console.log('ON_LOAD_CALLED'); loaded.value = true }
58
- const onError = () => { console.log('ON_ERROR_CALLED'); error.value = true; loaded.value = true }
59
- return { loaded, error, visible, observer, imgRef, currentSrc, wrapperStyle, imgStyle, onLoad, onError, $slots }
61
+ const onLoad = () => { loaded.value = true }
62
+ const onError = () => { error.value = true; loaded.value = true }
63
+ return { loaded, error, visible, observer, imgRef, currentSrc, wrapperStyle, imgStyle, setRef, onLoad, onError, $slots }
60
64
  }
61
65
  })
62
66
  // Injected render function
63
67
  _sfc_main.render = function(ctx) {
64
- const { loaded, error, visible, observer, imgRef, currentSrc, wrapperStyle, imgStyle, onLoad, onError, $slots, src, alt, fallback, fit, lazy, width, height, rounded, blur, Fragment: _ntc_Fragment } = ctx
65
- return h('span', { class: "n-image-wrapper", style: wrapperStyle.value, ref: el => imgRef = el, "data-v-1f83e1a6": "" }, [
68
+ const { loaded, error, visible, observer, imgRef, currentSrc, wrapperStyle, imgStyle, setRef, onLoad, onError, $slots, src, alt, fallback, fit, lazy, width, height, rounded, blur, Fragment: _ntc_Fragment } = ctx
69
+ return h('span', { class: "n-image-wrapper", style: wrapperStyle.value, ref: setRef, "data-v-309b6eb8": "" }, [
66
70
  "\n ",
67
- (!loaded.value) ? h('span', { class: "n-image-skeleton", "data-v-1f83e1a6": "" }) : null,
68
- (visible.value) ? h('img', { class: "n-image", src: currentSrc.value, alt: alt, style: { width: '100%', height: '100%', objectFit: fit, transition: 'opacity 0.3s ease, filter 0.4s ease', opacity: loaded.value ? '1' : '0', filter: (blur && !loaded.value) ? 'blur(8px)' : 'none' }, onLoad: onLoad, onError: onError, "data-v-1f83e1a6": "" }) : null
71
+ (!loaded.value) ? h('span', { class: "n-image-skeleton", "data-v-309b6eb8": "" }) : null,
72
+ (visible.value) ? h('img', { class: "n-image", src: currentSrc.value, alt: alt, style: imgStyle.value, onLoad: onLoad, onError: onError, "data-v-309b6eb8": "" }) : null
69
73
  ])
70
74
  }
71
- _sfc_main.__scopeId = 'data-v-1f83e1a6'
75
+ _sfc_main.__scopeId = 'data-v-309b6eb8'
72
76
  _sfc_main.__hmrId = 'NImage_nexa'
73
77
 
74
78
  export default _sfc_main
75
79
 
76
- const __style = `.n-image-wrapper[data-v-1f83e1a6]{
80
+ const __style = `.n-image-wrapper[data-v-309b6eb8]{
77
81
  background: var(--n-color-surface-hover, #1a1a2e);
78
82
  display: inline-block;
79
83
  }
80
84
 
81
- .n-image-skeleton[data-v-1f83e1a6]{
85
+ .n-image-skeleton[data-v-309b6eb8]{
82
86
  position: absolute;
83
87
  inset: 0;
84
88
  background: linear-gradient(
@@ -92,13 +96,13 @@ const __style = `.n-image-wrapper[data-v-1f83e1a6]{
92
96
  }
93
97
 
94
98
  @keyframes n-img-shimmer {
95
- 0%[data-v-1f83e1a6]{ background-position: 200% 0; }
96
- 100%[data-v-1f83e1a6]{ background-position: -200% 0; }
99
+ 0%[data-v-309b6eb8]{ background-position: 200% 0; }
100
+ 100%[data-v-309b6eb8]{ background-position: -200% 0; }
97
101
  }
98
102
 
99
- .n-image[data-v-1f83e1a6]{
103
+ .n-image[data-v-309b6eb8]{
100
104
  display: block;
101
105
  position: relative;
102
106
  z-index: 1;
103
107
  }`
104
- injectStyle('data-v-1f83e1a6', __style)
108
+ injectStyle('data-v-309b6eb8', __style)
@@ -17,7 +17,7 @@ const loaded = signal(false)
17
17
  const error = signal(false)
18
18
  const visible = signal(!props.lazy)
19
19
  let observer = null
20
- let imgRef = null
20
+ const imgRef = signal(null)
21
21
 
22
22
  const currentSrc = computed(() => {
23
23
  if (error.value && props.fallback) return props.fallback
@@ -42,6 +42,11 @@ const imgStyle = computed(() => ({
42
42
  filter: (props.blur && !loaded.value) ? 'blur(8px)' : 'none'
43
43
  }))
44
44
 
45
+ const setRef = (el) => {
46
+ imgRef.value = el
47
+ if (observer && el) observer.observe(el)
48
+ }
49
+
45
50
  onMounted(() => {
46
51
  if (!props.lazy) return
47
52
  observer = new IntersectionObserver(entries => {
@@ -50,29 +55,29 @@ onMounted(() => {
50
55
  observer?.disconnect()
51
56
  }
52
57
  }, { rootMargin: '200px' })
53
- if (imgRef) observer.observe(imgRef)
58
+ if (imgRef.value) observer.observe(imgRef.value)
54
59
  })
55
60
 
56
61
  onUnmounted(() => {
57
62
  observer?.disconnect()
58
63
  })
59
64
 
60
- const onLoad = () => { console.log('ON_LOAD_CALLED'); loaded.value = true }
61
- const onError = () => { console.log('ON_ERROR_CALLED'); error.value = true; loaded.value = true }
65
+ const onLoad = () => { loaded.value = true }
66
+ const onError = () => { error.value = true; loaded.value = true }
62
67
  </script>
63
68
 
64
69
  <template>
65
70
  <span
66
71
  class="n-image-wrapper"
67
72
  :style="wrapperStyle.value"
68
- :ref="el => imgRef = el"
73
+ :ref="setRef"
69
74
  >
70
75
  <span v-if="!loaded.value" class="n-image-skeleton" />
71
76
  <img
72
77
  v-if="visible.value"
73
78
  :src="currentSrc.value"
74
79
  :alt="alt"
75
- :style="{ width: '100%', height: '100%', objectFit: fit, transition: 'opacity 0.3s ease, filter 0.4s ease', opacity: loaded.value ? '1' : '0', filter: (blur && !loaded.value) ? 'blur(8px)' : 'none' }"
80
+ :style="imgStyle.value"
76
81
  class="n-image"
77
82
  @load="onLoad"
78
83
  @error="onError"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexa-ui-kit",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
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.7.0",
22
- "nexa-mobile": "0.7.0"
21
+ "nexa-framework": "0.7.1",
22
+ "nexa-mobile": "0.7.1"
23
23
  },
24
24
  "devDependencies": {
25
25
  "cpx": "^1.5.0",
26
- "nexa-compiler": "0.7.0"
26
+ "nexa-compiler": "0.7.1"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "tsc && node scripts/compile-nexa.js && node scripts/patch-imports.js && cpx \"src/**/*.nexa\" dist",
@@ -17,7 +17,7 @@ const loaded = signal(false)
17
17
  const error = signal(false)
18
18
  const visible = signal(!props.lazy)
19
19
  let observer = null
20
- let imgRef = null
20
+ const imgRef = signal(null)
21
21
 
22
22
  const currentSrc = computed(() => {
23
23
  if (error.value && props.fallback) return props.fallback
@@ -42,6 +42,11 @@ const imgStyle = computed(() => ({
42
42
  filter: (props.blur && !loaded.value) ? 'blur(8px)' : 'none'
43
43
  }))
44
44
 
45
+ const setRef = (el) => {
46
+ imgRef.value = el
47
+ if (observer && el) observer.observe(el)
48
+ }
49
+
45
50
  onMounted(() => {
46
51
  if (!props.lazy) return
47
52
  observer = new IntersectionObserver(entries => {
@@ -50,29 +55,29 @@ onMounted(() => {
50
55
  observer?.disconnect()
51
56
  }
52
57
  }, { rootMargin: '200px' })
53
- if (imgRef) observer.observe(imgRef)
58
+ if (imgRef.value) observer.observe(imgRef.value)
54
59
  })
55
60
 
56
61
  onUnmounted(() => {
57
62
  observer?.disconnect()
58
63
  })
59
64
 
60
- const onLoad = () => { console.log('ON_LOAD_CALLED'); loaded.value = true }
61
- const onError = () => { console.log('ON_ERROR_CALLED'); error.value = true; loaded.value = true }
65
+ const onLoad = () => { loaded.value = true }
66
+ const onError = () => { error.value = true; loaded.value = true }
62
67
  </script>
63
68
 
64
69
  <template>
65
70
  <span
66
71
  class="n-image-wrapper"
67
72
  :style="wrapperStyle.value"
68
- :ref="el => imgRef = el"
73
+ :ref="setRef"
69
74
  >
70
75
  <span v-if="!loaded.value" class="n-image-skeleton" />
71
76
  <img
72
77
  v-if="visible.value"
73
78
  :src="currentSrc.value"
74
79
  :alt="alt"
75
- :style="{ width: '100%', height: '100%', objectFit: fit, transition: 'opacity 0.3s ease, filter 0.4s ease', opacity: loaded.value ? '1' : '0', filter: (blur && !loaded.value) ? 'blur(8px)' : 'none' }"
80
+ :style="imgStyle.value"
76
81
  class="n-image"
77
82
  @load="onLoad"
78
83
  @error="onError"