vueless 0.0.86 → 0.0.88

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.86",
3
+ "version": "0.0.88",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless Component Framework.",
6
6
  "homepage": "https://vueless.com",
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <div :data-cy="dataCy" v-bind="wrapperAttrs">
3
3
  <div v-bind="pageAttrs">
4
+ <!-- @slot Use it to add something before the header. -->
5
+ <slot name="header-before" />
6
+
4
7
  <div v-if="isShownHeader" v-bind="headerAttrs">
5
8
  <div v-bind="headerLeftAttrs">
6
9
  <!-- @slot Use it to add something before left side of the header. -->
@@ -41,11 +44,17 @@
41
44
  </div>
42
45
  </div>
43
46
 
47
+ <!-- @slot Use it to add something after the header. -->
48
+ <slot name="header-after" />
49
+
44
50
  <div>
45
51
  <!-- @slot Use it to add main content. -->
46
52
  <slot />
47
53
  </div>
48
54
 
55
+ <!-- @slot Use it to add something before the footer. -->
56
+ <slot name="footer-before" />
57
+
49
58
  <div v-if="isShownFooterSlot" class="vueless-page-footer" v-bind="footerAttrs">
50
59
  <div class="vueless-page-footer-left" v-bind="footerLeftAttrs">
51
60
  <!-- @slot Use it to add something to the left side of the footer. -->
@@ -57,6 +66,9 @@
57
66
  <slot name="footer-right" />
58
67
  </div>
59
68
  </div>
69
+
70
+ <!-- @slot Use it to add something after the footer. -->
71
+ <slot name="footer-after" />
60
72
  </div>
61
73
 
62
74
  <div v-if="fixedRounding && !isMobileBreakpoint" v-bind="rightRoundingWrapperAttrs">
@@ -193,9 +205,17 @@ const {
193
205
 
194
206
  const isShownHeader = computed(() => {
195
207
  const isHeaderLeftSlot = hasSlotContent(slots["header-left"]);
196
- const isHeaderRightSlot = hasSlotContent(slots["header-left"]);
197
-
198
- return props.title || isHeaderLeftSlot || isHeaderRightSlot;
208
+ const isHeaderRightSlot = hasSlotContent(slots["header-right"]);
209
+ const isHeaderLeftBeforeSlot = hasSlotContent(slots["header-left-before"]);
210
+ const isHeaderLeftAfterSlot = hasSlotContent(slots["header-left-after"]);
211
+
212
+ return (
213
+ props.title ||
214
+ isHeaderLeftSlot ||
215
+ isHeaderLeftBeforeSlot ||
216
+ isHeaderLeftAfterSlot ||
217
+ isHeaderRightSlot
218
+ );
199
219
  });
200
220
 
201
221
  const isShownFooterSlot = computed(() => {
@@ -22,8 +22,8 @@ You can control loader state using *useLoaderRendering* composable.
22
22
  import { useLoaderTop } from "vueless";
23
23
 
24
24
  const {
25
- setLoaderOn,
26
- setLoaderOff,
25
+ setLoaderTopOn,
26
+ setLoaderTopOff,
27
27
  addRequestUrl,
28
28
  removeRequestUrl
29
29
  } = useLoaderTop();
@@ -8,7 +8,7 @@ const loaderRequestQueue = ref([]);
8
8
  const loaderRequestTimeout = ref(0);
9
9
  const componentLoaderRequestQueue = ref([]);
10
10
 
11
- function setLoaderOn(url) {
11
+ function setLoaderTopOn(url) {
12
12
  loaderRequestQueue.value.push(url);
13
13
 
14
14
  isLoading.value = true;
@@ -16,7 +16,7 @@ function setLoaderOn(url) {
16
16
  clearTimeout(loaderRequestTimeout.value);
17
17
  }
18
18
 
19
- function setLoaderOff(url) {
19
+ function setLoaderTopOff(url) {
20
20
  loaderRequestQueue.value = url ? loaderRequestQueue.value.filter((item) => item !== url) : [];
21
21
 
22
22
  loaderRequestTimeout.value = setTimeout(() => {
@@ -49,8 +49,8 @@ export function createLoaderTop() {
49
49
  loaderRequestQueue: readonly(loaderRequestQueue),
50
50
  loaderRequestTimeout: readonly(loaderRequestTimeout),
51
51
  componentLoaderRequestQueue: readonly(componentLoaderRequestQueue),
52
- setLoaderOn,
53
- setLoaderOff,
52
+ setLoaderTopOn,
53
+ setLoaderTopOff,
54
54
  addRequestUrl,
55
55
  removeRequestUrl,
56
56
  setComponentRequestQueue,
@@ -2,6 +2,7 @@ import ULoaderTop from "../ui.loader-top";
2
2
  import UButton from "../ui.button";
3
3
 
4
4
  import { useLoaderTop } from "../ui.loader-top/composables/useLoaderTop";
5
+ import { loaderTopOff, loaderTopOn } from "../ui.loader-top/services/loaderTop.service";
5
6
 
6
7
  import { getArgTypes } from "../service.storybook";
7
8
 
@@ -17,9 +18,9 @@ export default {
17
18
  const DefaultTemplate = (args) => ({
18
19
  components: { ULoaderTop, UButton },
19
20
  setup() {
20
- const { setLoaderOn, setLoaderOff } = useLoaderTop();
21
+ const { setLoaderTopOn, setLoaderTopOff } = useLoaderTop();
21
22
 
22
- return { args, setLoaderOn, setLoaderOff };
23
+ return { args, setLoaderTopOn, setLoaderTopOff };
23
24
  },
24
25
  template: `
25
26
  <div>
@@ -36,12 +37,10 @@ const DefaultTemplate = (args) => ({
36
37
  const ColorsTemplate = (args, { argTypes } = {}) => ({
37
38
  components: { ULoaderTop, UButton },
38
39
  setup() {
39
- const { setLoaderOn, setLoaderOff } = useLoaderTop();
40
-
41
40
  return {
42
41
  args,
43
- setLoaderOn,
44
- setLoaderOff,
42
+ loaderTopOff,
43
+ loaderTopOn,
45
44
  colors: argTypes.color.options,
46
45
  };
47
46
  },
@@ -56,8 +55,8 @@ const ColorsTemplate = (args, { argTypes } = {}) => ({
56
55
  />
57
56
  </div>
58
57
  <div class="flex gap-2 pt-4">
59
- <UButton label="On" @click="setLoaderOn('https://api.publicapis.org/entries')" />
60
- <UButton label="Off" @click="setLoaderOff('https://api.publicapis.org/entries')" />
58
+ <UButton label="On" @click="loaderTopOn('https://api.publicapis.org/entries')" />
59
+ <UButton label="Off" @click="loaderTopOff('https://api.publicapis.org/entries')" />
61
60
  </div>
62
61
  `,
63
62
  });
@@ -49,8 +49,8 @@ const {
49
49
  componentLoaderRequestQueue,
50
50
  setComponentRequestQueue,
51
51
  removeComponentRequestQueue,
52
- setLoaderOff,
53
- setLoaderOn,
52
+ setLoaderTopOff,
53
+ setLoaderTopOn,
54
54
  } = useLoaderTop();
55
55
  const { progressAttrs } = useAttrs(props, { error, isMobileApp });
56
56
 
@@ -77,8 +77,8 @@ if (props.resourceNames) {
77
77
  }
78
78
 
79
79
  onMounted(() => {
80
- window.addEventListener("setLoaderOn", setLoaderOnHandler);
81
- window.addEventListener("setLoaderOff", setLoaderOffHandler);
80
+ window.addEventListener("loaderTopOn", setLoaderOnHandler);
81
+ window.addEventListener("loaderTopOff", setLoaderOffHandler);
82
82
  });
83
83
 
84
84
  onBeforeUnmount(() => {
@@ -88,16 +88,16 @@ onBeforeUnmount(() => {
88
88
  });
89
89
 
90
90
  onUnmounted(() => {
91
- window.removeEventListener("setLoaderOn", setLoaderOnHandler);
92
- window.removeEventListener("setLoaderOff", setLoaderOffHandler);
91
+ window.removeEventListener("loaderTopOn", setLoaderOnHandler);
92
+ window.removeEventListener("loaderTopOff", setLoaderOffHandler);
93
93
  });
94
94
 
95
95
  function setLoaderOnHandler(event) {
96
- setLoaderOn(event.detail.resource);
96
+ setLoaderTopOn(event.detail.resource);
97
97
  }
98
98
 
99
99
  function setLoaderOffHandler(event) {
100
- setLoaderOff(event.detail.resource);
100
+ setLoaderTopOff(event.detail.resource);
101
101
  }
102
102
 
103
103
  function requestWithoutQuery(request) {
@@ -31,13 +31,13 @@ export const queue = (() => {
31
31
  })();
32
32
 
33
33
  export function loaderTopOn(resource) {
34
- const loaderTopOnEvent = new CustomEvent("setLoadingOn", { detail: { resource } });
34
+ const loaderTopOnEvent = new CustomEvent("loaderTopOn", { detail: { resource } });
35
35
 
36
36
  window.dispatchEvent(loaderTopOnEvent);
37
37
  }
38
38
 
39
39
  export function loaderTopOff(resource) {
40
- const loaderTopOfEvent = new CustomEvent("setLoadingOff", { detail: { resource } });
40
+ const loaderTopOfEvent = new CustomEvent("loaderTopOff", { detail: { resource } });
41
41
 
42
42
  window.dispatchEvent(loaderTopOfEvent);
43
43
  }
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "vue",
3
3
  "name": "vueless",
4
- "version": "0.0.86",
4
+ "version": "0.0.88",
5
5
  "contributions": {
6
6
  "html": {
7
7
  "description-markup": "markdown",
@@ -5230,6 +5230,10 @@
5230
5230
  }
5231
5231
  ],
5232
5232
  "slots": [
5233
+ {
5234
+ "name": "header-before",
5235
+ "description": "Use it to add something before the header."
5236
+ },
5233
5237
  {
5234
5238
  "name": "header-left-before",
5235
5239
  "description": "Use it to add something before left side of the header."
@@ -5246,10 +5250,18 @@
5246
5250
  "name": "header-right",
5247
5251
  "description": "Use it to customise right side of the header."
5248
5252
  },
5253
+ {
5254
+ "name": "header-after",
5255
+ "description": "Use it to add something after the header."
5256
+ },
5249
5257
  {
5250
5258
  "name": "default",
5251
5259
  "description": "Use it to add main content."
5252
5260
  },
5261
+ {
5262
+ "name": "footer-before",
5263
+ "description": "Use it to add something before the footer."
5264
+ },
5253
5265
  {
5254
5266
  "name": "footer-left",
5255
5267
  "description": "Use it to add something to the left side of the footer."
@@ -5257,6 +5269,10 @@
5257
5269
  {
5258
5270
  "name": "footer-right",
5259
5271
  "description": "Use it to add something to the right side of the footer."
5272
+ },
5273
+ {
5274
+ "name": "footer-after",
5275
+ "description": "Use it to add something after the footer."
5260
5276
  }
5261
5277
  ],
5262
5278
  "source": {