@tekkare/auriga 0.1.60 → 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.60"
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,24 +81,42 @@ 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;
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
+ }
90
99
  }
91
100
  }
92
101
  onMounted(() => {
93
102
  adjustFilterPosition();
94
103
  listenToHeaderChange();
95
- filtersOpen.value = props.isOpen;
96
- window.addEventListener("scroll", closeOnScroll);
104
+ openFromScroll();
105
+ window.addEventListener("scroll", openFromScroll);
97
106
  });
98
107
  onUpdated(() => {
99
108
  adjustFilterPosition();
100
109
  });
101
- onUnmounted(() => {
102
- window.removeEventListener("scroll", closeOnScroll);
103
- });
110
+ watch(
111
+ () => filtersOpen.value,
112
+ (new_filters_open) => {
113
+ if (new_filters_open) {
114
+ setTimeout(() => {
115
+ document.addEventListener("scroll", openFromScroll);
116
+ }, 500);
117
+ }
118
+ }
119
+ );
104
120
  function listenToHeaderChange() {
105
121
  const fixedHeader = document.getElementById("arg_header");
106
122
  const config = { attributes: true, childList: true };
@@ -122,12 +138,6 @@ export default defineComponent({
122
138
  }
123
139
  });
124
140
  }
125
- watch(
126
- () => props.isOpen,
127
- (new_is_open) => {
128
- filtersOpen.value = new_is_open;
129
- }
130
- );
131
141
  function clear() {
132
142
  emit("clearFilters");
133
143
  }
@@ -152,7 +162,7 @@ export default defineComponent({
152
162
  gap: 16px;
153
163
  border: 1px solid var(--dividers);
154
164
  backdrop-filter: blur(12px);
155
- transition: all ease 0.7s;
165
+ transition: all ease 0.4s;
156
166
  z-index: 91;
157
167
  align-self: stretch;
158
168
  position: sticky;
@@ -180,7 +190,7 @@ export default defineComponent({
180
190
  }
181
191
 
182
192
  .filter-icon {
183
- transition: transform 0.5s;
193
+ transition: transform 0.3s;
184
194
  }
185
195
 
186
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.60",
3
+ "version": "0.1.62",
4
4
  "description": "Aurgia is a UI kit developped by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",