@tekkare/auriga 0.1.61 → 0.1.62

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/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.0.0"
6
6
  },
7
- "version": "0.1.61"
7
+ "version": "0.1.62"
8
8
  }
@@ -45,7 +45,7 @@
45
45
  }}</span>
46
46
  </div>
47
47
  </div>
48
- <div class="filters_section">
48
+ <div id="arg_filters_section" class="filters_section">
49
49
  <slot name="Search" />
50
50
  <div class="filters_row oip_row v-center gap-16 full-width wrap">
51
51
  <slot name="Filters" />
@@ -60,7 +60,6 @@ import {
60
60
  ref,
61
61
  watch,
62
62
  defineComponent,
63
- onUnmounted,
64
63
  onUpdated
65
64
  } from "vue";
66
65
  import argIcon from "./argIcon.vue";
@@ -69,7 +68,6 @@ export default defineComponent({
69
68
  components: { argIcon },
70
69
  props: {
71
70
  filters_amount: { type: Number, default: 0 },
72
- isOpen: { type: Boolean, default: true },
73
71
  haveSaveScope: { type: Boolean, default: false },
74
72
  clearMsg: { type: String, default: null },
75
73
  saveScopeMsg: { type: String, default: null },
@@ -83,32 +81,39 @@ export default defineComponent({
83
81
  },
84
82
  emits: ["clearFilters", "saveScope"],
85
83
  setup(props, { emit }) {
86
- const filtersOpen = ref(true);
87
- function closeOnScroll() {
88
- if (window.scrollY > 150) {
89
- filtersOpen.value = false;
90
- window.removeEventListener("scroll", closeOnScroll);
84
+ const filtersOpen = ref(null);
85
+ const scrollPosition = ref(0);
86
+ function openFromScroll() {
87
+ if (window.scrollY === 0) {
88
+ filtersOpen.value = true;
89
+ scrollPosition.value = scrollY;
90
+ } else {
91
+ const filters = document.getElementById("arg_filters_section");
92
+ if (filters) {
93
+ if (window.scrollY > scrollPosition.value + filters.offsetHeight) {
94
+ filtersOpen.value = false;
95
+ scrollPosition.value = window.scrollY;
96
+ document.removeEventListener("scroll", openFromScroll);
97
+ }
98
+ }
91
99
  }
92
100
  }
93
101
  onMounted(() => {
94
102
  adjustFilterPosition();
95
103
  listenToHeaderChange();
96
- filtersOpen.value = props.isOpen;
97
- window.addEventListener("scroll", closeOnScroll);
104
+ openFromScroll();
105
+ window.addEventListener("scroll", openFromScroll);
98
106
  });
99
107
  onUpdated(() => {
100
108
  adjustFilterPosition();
101
109
  });
102
- onUnmounted(() => {
103
- window.removeEventListener("scroll", closeOnScroll);
104
- });
105
110
  watch(
106
111
  () => filtersOpen.value,
107
- () => {
108
- if (filtersOpen.value === true) {
112
+ (new_filters_open) => {
113
+ if (new_filters_open) {
109
114
  setTimeout(() => {
110
- window.addEventListener("scroll", closeOnScroll);
111
- }, 700);
115
+ document.addEventListener("scroll", openFromScroll);
116
+ }, 500);
112
117
  }
113
118
  }
114
119
  );
@@ -133,12 +138,6 @@ export default defineComponent({
133
138
  }
134
139
  });
135
140
  }
136
- watch(
137
- () => props.isOpen,
138
- (new_is_open) => {
139
- filtersOpen.value = new_is_open;
140
- }
141
- );
142
141
  function clear() {
143
142
  emit("clearFilters");
144
143
  }
@@ -163,7 +162,7 @@ export default defineComponent({
163
162
  gap: 16px;
164
163
  border: 1px solid var(--dividers);
165
164
  backdrop-filter: blur(12px);
166
- transition: all ease 0.7s;
165
+ transition: all ease 0.4s;
167
166
  z-index: 91;
168
167
  align-self: stretch;
169
168
  position: sticky;
@@ -191,7 +190,7 @@ export default defineComponent({
191
190
  }
192
191
 
193
192
  .filter-icon {
194
- transition: transform 0.5s;
193
+ transition: transform 0.3s;
195
194
  }
196
195
 
197
196
  .icon-rotate {
@@ -3,10 +3,6 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: NumberConstructor;
4
4
  default: number;
5
5
  };
6
- isOpen: {
7
- type: BooleanConstructor;
8
- default: boolean;
9
- };
10
6
  haveSaveScope: {
11
7
  type: BooleanConstructor;
12
8
  default: boolean;
@@ -25,7 +21,7 @@ declare const _default: import("vue").DefineComponent<{
25
21
  validator: (value: string) => boolean;
26
22
  };
27
23
  }, {
28
- filtersOpen: import("vue").Ref<boolean>;
24
+ filtersOpen: any;
29
25
  clear: () => void;
30
26
  save: () => void;
31
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clearFilters" | "saveScope")[], "clearFilters" | "saveScope", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -33,10 +29,6 @@ declare const _default: import("vue").DefineComponent<{
33
29
  type: NumberConstructor;
34
30
  default: number;
35
31
  };
36
- isOpen: {
37
- type: BooleanConstructor;
38
- default: boolean;
39
- };
40
32
  haveSaveScope: {
41
33
  type: BooleanConstructor;
42
34
  default: boolean;
@@ -60,7 +52,6 @@ declare const _default: import("vue").DefineComponent<{
60
52
  }, {
61
53
  lang: string;
62
54
  filters_amount: number;
63
- isOpen: boolean;
64
55
  haveSaveScope: boolean;
65
56
  clearMsg: string;
66
57
  saveScopeMsg: string;
@@ -116,7 +116,7 @@ export default defineComponent({
116
116
  <style scoped>
117
117
  .arg_sidebar {
118
118
  display: flex;
119
- width: 52px;
119
+ width: 54px;
120
120
  padding: 16px 8px;
121
121
  flex-direction: column;
122
122
  align-items: flex-start;
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div :class="sidebarOpen ? 'arg_sub_menu' : 'arg_sub_small'">
3
3
  <button class="arg_sub_menu_button" @click="openMenu = !openMenu">
4
- <div class="oip_row v-center gap-4">
4
+ <div v-if="sidebarOpen" class="oip_row v-center gap-4">
5
5
  <arg-icon
6
6
  v-if="icon !== null"
7
7
  :name="icon"
@@ -11,7 +11,7 @@
11
11
  :class="[openMenu ? 'active_icon' : '']"
12
12
  />
13
13
  <arg-flag v-else-if="flagIso !== null" :iso="flagIso" emoji />
14
- <span v-show="sidebarOpen">{{ label }}</span>
14
+ <span>{{ label }}</span>
15
15
  </div>
16
16
  <arg-tooltip
17
17
  :tooltip-text="label"
@@ -38,9 +38,8 @@ export default defineComponent({
38
38
 
39
39
  .prmt_tooltip_text {
40
40
  visibility: hidden;
41
- width: fit-content;
42
- max-width: 250px;
43
- text-align: center;
41
+ width: max-content;
42
+ max-width: 120px;
44
43
  background-color: var(--independence);
45
44
  color: var(--pure-white);
46
45
  border-radius: 4px;
@@ -51,7 +50,12 @@ export default defineComponent({
51
50
  font-weight: 400;
52
51
  font-size: 14px;
53
52
  line-height: 160%;
54
- white-space: nowrap;
53
+ white-space: wrap;
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: 4;
56
+ -webkit-box-orient: vertical;
57
+ overflow: hidden;
58
+ text-align: left;
55
59
  }
56
60
 
57
61
  .prmt_tooltip .prmt_tooltip_text-top {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekkare/auriga",
3
- "version": "0.1.61",
3
+ "version": "0.1.62",
4
4
  "description": "Aurgia is a UI kit developped by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",