@tekkare/auriga 0.1.5 → 0.1.7

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.5"
7
+ "version": "0.1.7"
8
8
  }
@@ -96,6 +96,10 @@ export default defineComponent({
96
96
  type: Boolean,
97
97
  default: false,
98
98
  },
99
+ tooltipOptions: {
100
+ type: Object,
101
+ default: undefined,
102
+ },
99
103
  },
100
104
  setup(props) {
101
105
  const chartKey = ref(1);
@@ -235,13 +239,16 @@ export default defineComponent({
235
239
  };
236
240
  props.options["yaxis"] = { min: 0, show: false };
237
241
  props.options["markers"] = { size: 0, showNullDataPoints: true };
238
- props.options["tooltip"] = {
239
- y: {
240
- formatter(value, { series, seriesIndex, dataPointIndex, w }) {
241
- return value;
242
+ if (props.tooltipOptions) {
243
+ props.options["tooltip"] = props.tooltipOptions;
244
+ } else
245
+ props.options["tooltip"] = {
246
+ y: {
247
+ formatter(value, { series, seriesIndex, dataPointIndex, w }) {
248
+ return value;
249
+ },
242
250
  },
243
- },
244
- };
251
+ };
245
252
  }
246
253
  //Column bar charts
247
254
  else if (props.type === "bar-column" || props.type === "bar") {
@@ -252,7 +259,6 @@ export default defineComponent({
252
259
  props.options["plotOptions"] = {
253
260
  bar: {
254
261
  distributed: predefinedColors,
255
- borderRadius: 2,
256
262
  columnWidth: "50%",
257
263
  colors: { backgroundBarOpacity: 1 },
258
264
  dataLabels: { position: "top", hideOverflowingLabels: true },
@@ -262,7 +268,7 @@ export default defineComponent({
262
268
  position: "top",
263
269
  enabled: true,
264
270
  offsetY: -20,
265
- style: { fontSize: "14px", colors: ["#3E3F5E"] },
271
+ style: { fontSize: "14px", colors: ["#3E3F5E"], fontWeight: "500" },
266
272
  formatter(value, opt) {
267
273
  let returnValue = value;
268
274
  if (compactMode) {
@@ -290,6 +296,9 @@ export default defineComponent({
290
296
  if (props.hideLegend) {
291
297
  props.options["legend"] = { show: false };
292
298
  }
299
+ if (props.tooltipOptions) {
300
+ props.options["tooltip"] = props.tooltipOptions;
301
+ }
293
302
  props.options["xaxis"] = {
294
303
  categories: props.categories,
295
304
  axisBorder: { show: false },
@@ -354,6 +363,9 @@ export default defineComponent({
354
363
  if (props.hideLegend) {
355
364
  props.options["legend"] = { show: false };
356
365
  }
366
+ if (props.tooltipOptions) {
367
+ props.options["tooltip"] = props.tooltipOptions;
368
+ }
357
369
  props.options["xaxis"] = {
358
370
  categories: props.categories,
359
371
  axisBorder: { show: false },
@@ -409,6 +421,9 @@ export default defineComponent({
409
421
  return returnValue;
410
422
  },
411
423
  };
424
+ if (props.tooltipOptions) {
425
+ props.options["tooltip"] = props.tooltipOptions;
426
+ }
412
427
  props.options.chart["stacked"] = true;
413
428
  props.options["xaxis"] = {
414
429
  categories: props.categories,
@@ -474,6 +489,9 @@ export default defineComponent({
474
489
  return returnValue;
475
490
  },
476
491
  };
492
+ if (props.tooltipOptions) {
493
+ props.options["tooltip"] = props.tooltipOptions;
494
+ }
477
495
  }
478
496
  // Horizontal group
479
497
  else if (props.type === "bar-horizontal-group") {
@@ -519,6 +537,9 @@ export default defineComponent({
519
537
  return returnValue;
520
538
  },
521
539
  };
540
+ if (props.tooltipOptions) {
541
+ props.options["tooltip"] = props.tooltipOptions;
542
+ }
522
543
  props.options["xaxis"] = {
523
544
  categories: props.categories,
524
545
  axisBorder: { show: false },
@@ -567,6 +588,9 @@ export default defineComponent({
567
588
  return returnValue;
568
589
  },
569
590
  };
591
+ if (props.tooltipOptions) {
592
+ props.options["tooltip"] = props.tooltipOptions;
593
+ }
570
594
  props.options["plotOptions"] = {
571
595
  pie: {
572
596
  dataLabels: {
@@ -660,4 +684,8 @@ export default defineComponent({
660
684
  .prmt_chart .apexcharts-canvas {
661
685
  position: initial;
662
686
  }
687
+
688
+ .apexcharts-bar-series.apexcharts-plot-series .apexcharts-series path {
689
+ clip-path: inset(0% 0% -11% 0% round 6px) !important;
690
+ }
663
691
  </style>
@@ -45,6 +45,10 @@ declare const _default: import("vue").DefineComponent<{
45
45
  type: BooleanConstructor;
46
46
  default: boolean;
47
47
  };
48
+ tooltipOptions: {
49
+ type: ObjectConstructor;
50
+ default: undefined;
51
+ };
48
52
  }, {
49
53
  percentage: (partialValue: any, totalValue: any) => number;
50
54
  chartKey: import("vue").Ref<number>;
@@ -97,6 +101,10 @@ declare const _default: import("vue").DefineComponent<{
97
101
  type: BooleanConstructor;
98
102
  default: boolean;
99
103
  };
104
+ tooltipOptions: {
105
+ type: ObjectConstructor;
106
+ default: undefined;
107
+ };
100
108
  }>>, {
101
109
  options: Record<string, any>;
102
110
  width: string;
@@ -106,5 +114,6 @@ declare const _default: import("vue").DefineComponent<{
106
114
  compactValues: boolean;
107
115
  french: boolean;
108
116
  hideLegend: boolean;
117
+ tooltipOptions: Record<string, any>;
109
118
  }, {}>;
110
119
  export default _default;
@@ -191,7 +191,9 @@
191
191
  import argSimpleLabel from "./argSimpleLabel.vue";
192
192
  import argBtn from "./argBtn.vue";
193
193
  import argIcon from "./argIcon.vue";
194
+ import argDataLoader from "./argDataLoader.vue";
194
195
  import {
196
+ onBeforeMount,
195
197
  ref,
196
198
  computed,
197
199
  watch,
@@ -199,7 +201,7 @@ import {
199
201
  } from "vue";
200
202
  export default defineComponent({
201
203
  name: "argComplexSelect",
202
- components: { argSimpleLabel, argBtn, argIcon },
204
+ components: { argSimpleLabel, argBtn, argIcon, argDataLoader },
203
205
  props: {
204
206
  element_table: { type: Array, required: true },
205
207
  search_placeholder: { type: String, default: "Search" },
@@ -237,25 +239,27 @@ export default defineComponent({
237
239
  const hoverAdd = ref(null);
238
240
  const hoverRemove = ref(null);
239
241
  const reachMax = ref(false);
240
- del_table.value = Object.assign([], [...new Set(props.already_selected)]);
241
- add_table.value = Object.assign(
242
- [],
243
- [...new Set(props.element_table)].filter(
244
- (item) => !del_table.value.includes(item)
245
- )
246
- );
247
- save_table.value.add = Object.assign(
248
- [],
249
- [...new Set(props.element_table)].filter(
250
- (item) => !del_table.value.includes(item)
251
- )
252
- );
253
- uid.value = Math.floor(Math.random() * (100 - 1) + 1);
254
- if (props.already_selected.length > 0) {
255
- if (!props.need_apply) {
256
- apply_function();
242
+ onBeforeMount(() => {
243
+ del_table.value = Object.assign([], [...new Set(props.already_selected)]);
244
+ add_table.value = Object.assign(
245
+ [],
246
+ [...new Set(props.element_table)].filter(
247
+ (item) => !del_table.value.includes(item)
248
+ )
249
+ );
250
+ save_table.value.add = Object.assign(
251
+ [],
252
+ [...new Set(props.element_table)].filter(
253
+ (item) => !del_table.value.includes(item)
254
+ )
255
+ );
256
+ uid.value = Math.floor(Math.random() * (100 - 1) + 1);
257
+ if (props.already_selected.length > 0) {
258
+ if (!props.need_apply) {
259
+ apply_function();
260
+ }
257
261
  }
258
- }
262
+ });
259
263
  watch(
260
264
  () => props.element_table,
261
265
  (new_element_table) => {
@@ -275,9 +279,6 @@ export default defineComponent({
275
279
  (item) => !del_table.value.includes(item)
276
280
  )
277
281
  );
278
- if (!props.need_apply) {
279
- apply_function();
280
- }
281
282
  }
282
283
  );
283
284
  watch(
@@ -296,9 +297,6 @@ export default defineComponent({
296
297
  (item) => !del_table.value.includes(item)
297
298
  )
298
299
  );
299
- if (!props.need_apply) {
300
- apply_function();
301
- }
302
300
  }
303
301
  );
304
302
  const getAllSelect = computed(() => {
@@ -330,7 +328,9 @@ export default defineComponent({
330
328
  return del_table.value;
331
329
  });
332
330
  function changeInput() {
333
- emit("changeAddInputValue", searchNameAdd);
331
+ setTimeout(() => {
332
+ emit("changeAddInputValue", searchNameAdd);
333
+ }, 500);
334
334
  }
335
335
  function isInViewport(el) {
336
336
  const rect = el.getBoundingClientRect();
@@ -34,6 +34,7 @@
34
34
  <input
35
35
  class="oip_search_name"
36
36
  v-model="searchName"
37
+ @input="changeInput()"
37
38
  :placeholder="filter_placeholder"
38
39
  />
39
40
  </div>
@@ -106,6 +107,8 @@
106
107
 
107
108
  <script>
108
109
  import argIcon from "./argIcon.vue";
110
+ import argTooltip from "./argTooltip.vue";
111
+ import argSimpleLabel from "./argSimpleLabel.vue";
109
112
  import {
110
113
  onMounted,
111
114
  ref,
@@ -116,7 +119,7 @@ import {
116
119
  } from "vue";
117
120
  export default defineComponent({
118
121
  name: "argDropdownSelect",
119
- components: { argIcon },
122
+ components: { argIcon, argTooltip, argSimpleLabel },
120
123
  props: {
121
124
  element_table: { type: Array, required: true },
122
125
  search: { type: Boolean, default: true },
@@ -125,7 +128,6 @@ export default defineComponent({
125
128
  required: false,
126
129
  default: "Search options..."
127
130
  },
128
- change_title: { type: Boolean, default: true },
129
131
  close_on_click: { type: Boolean, default: true },
130
132
  default_select: { type: Number, required: false, default: null },
131
133
  watch_default_change: { type: Boolean, default: true },
@@ -135,7 +137,7 @@ export default defineComponent({
135
137
  empty_msg: { type: String, default: "No selection" },
136
138
  dropdown_label: { type: String, required: true }
137
139
  },
138
- emits: ["changeElement", "update:Selection"],
140
+ emits: ["changeElement", "update:Selection", "changeInputValue"],
139
141
  setup(props, { emit }) {
140
142
  const isDisplay = ref(false);
141
143
  const searchName = ref("");
@@ -178,6 +180,11 @@ export default defineComponent({
178
180
  }
179
181
  }
180
182
  );
183
+ function changeInput() {
184
+ setTimeout(() => {
185
+ emit("changeInputValue", searchName.value);
186
+ }, 500);
187
+ }
181
188
  function checkActiveEllipsis() {
182
189
  if (labelElement.value !== null) {
183
190
  if (labelElement.value.offsetWidth < labelElement.value.scrollWidth) {
@@ -231,7 +238,7 @@ export default defineComponent({
231
238
  }
232
239
  }
233
240
  onMounted(() => {
234
- if (props.default_select !== null) {
241
+ if (props.default_select !== null && selected_item.value !== null) {
235
242
  add_element(selected_item.value, selected_number.value);
236
243
  }
237
244
  labelElement.value = document?.getElementById(
@@ -260,7 +267,8 @@ export default defineComponent({
260
267
  add_element,
261
268
  closeDropdown,
262
269
  filterName,
263
- changeDisplay
270
+ changeDisplay,
271
+ changeInput
264
272
  };
265
273
  }
266
274
  });
@@ -25,10 +25,6 @@ declare const _default: import("vue").DefineComponent<{
25
25
  required: false;
26
26
  default: string;
27
27
  };
28
- change_title: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
32
28
  close_on_click: {
33
29
  type: BooleanConstructor;
34
30
  default: boolean;
@@ -75,7 +71,8 @@ declare const _default: import("vue").DefineComponent<{
75
71
  closeDropdown: () => void;
76
72
  filterName: () => string[];
77
73
  changeDisplay: () => void;
78
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("changeElement" | "update:Selection")[], "changeElement" | "update:Selection", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
74
+ changeInput: () => void;
75
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("changeElement" | "update:Selection" | "changeInputValue")[], "changeElement" | "update:Selection" | "changeInputValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
79
76
  element_table: {
80
77
  type: {
81
78
  (arrayLength: number): string[];
@@ -102,10 +99,6 @@ declare const _default: import("vue").DefineComponent<{
102
99
  required: false;
103
100
  default: string;
104
101
  };
105
- change_title: {
106
- type: BooleanConstructor;
107
- default: boolean;
108
- };
109
102
  close_on_click: {
110
103
  type: BooleanConstructor;
111
104
  default: boolean;
@@ -142,13 +135,13 @@ declare const _default: import("vue").DefineComponent<{
142
135
  }>> & {
143
136
  onChangeElement?: ((...args: any[]) => any) | undefined;
144
137
  "onUpdate:Selection"?: ((...args: any[]) => any) | undefined;
138
+ onChangeInputValue?: ((...args: any[]) => any) | undefined;
145
139
  }, {
146
140
  return_value: boolean;
147
141
  disabled: boolean;
148
142
  empty_msg: string;
149
143
  search: boolean;
150
144
  filter_placeholder: string;
151
- change_title: boolean;
152
145
  close_on_click: boolean;
153
146
  default_select: number;
154
147
  watch_default_change: boolean;
@@ -0,0 +1,130 @@
1
+ <template>
2
+ <div
3
+ class="oip_filter_card"
4
+ :class="filtersOpen ? 'filter_card' : 'filter_card_collapse'"
5
+ @click="filtersOpen = !filtersOpen"
6
+ >
7
+ <div class="oip_row v-center space-between full-width">
8
+ <div class="oip_row v-center gap-8">
9
+ <p class="filters_title">Filters</p>
10
+ <div class="filters_amount">{{ filters_amount }}</div>
11
+ <p class="filters_clear" @click.stop="clear()">Clear all</p>
12
+ </div>
13
+ <div class="oip_row v-center gap-8">
14
+ <arg-icon
15
+ name="CaretDown"
16
+ size="20"
17
+ :class="['filter-icon', filtersOpen ? 'icon-rotate' : '']"
18
+ />
19
+ <span class="filters_collapse">{{
20
+ filtersOpen ? "Hide" : "Show"
21
+ }}</span>
22
+ </div>
23
+ </div>
24
+ <div class="filters_section" @click.stop>
25
+ <div class="filters_row oip_row v-center gap-16 wrap">
26
+ <slot />
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </template>
31
+
32
+ <script>
33
+ import {
34
+ ref,
35
+ defineComponent
36
+ } from "vue";
37
+ export default defineComponent({
38
+ name: "argFilterCard",
39
+ props: {
40
+ filters_amount: { type: Number, default: 0 }
41
+ },
42
+ emits: ["clearFilters"],
43
+ setup(props, { emit }) {
44
+ const filtersOpen = ref(false);
45
+ function clear() {
46
+ emit("clearFilters");
47
+ }
48
+ return {
49
+ filtersOpen,
50
+ clear
51
+ };
52
+ }
53
+ });
54
+ </script>
55
+
56
+ <style scoped>
57
+ .oip_filter_card {
58
+ display: flex;
59
+ max-width: 1008px;
60
+ padding: 16px 24px;
61
+ flex-direction: column;
62
+ align-items: flex-start;
63
+ border-radius: 8px;
64
+ gap: 16px;
65
+ border: 1px solid var(--dividers);
66
+ backdrop-filter: blur(12px);
67
+ transition: all ease 0.7s;
68
+ cursor: pointer;
69
+ }
70
+
71
+ .filter_card {
72
+ max-height: 5000px;
73
+ overflow: visible;
74
+ background: var(--pure-white);
75
+ }
76
+
77
+ .filter_card_collapse {
78
+ max-height: 26px;
79
+ overflow: hidden;
80
+ background: rgba(245, 245, 249, 0.8);
81
+ }
82
+
83
+ .full-width {
84
+ width: 100%;
85
+ }
86
+
87
+ .filter-icon {
88
+ transition: transform 0.5s;
89
+ }
90
+
91
+ .icon-rotate {
92
+ transform: rotate(180deg);
93
+ }
94
+
95
+ .filters_title {
96
+ font-size: 20px;
97
+ font-style: normal;
98
+ font-weight: 900;
99
+ line-height: normal;
100
+ }
101
+
102
+ .filters_amount {
103
+ display: flex;
104
+ padding: 2px 8px;
105
+
106
+ flex-direction: column;
107
+ justify-content: center;
108
+ align-items: center;
109
+ gap: 8px;
110
+ border-radius: 16px;
111
+ border: 1px solid var(--base-dividers, #ececf2);
112
+ }
113
+
114
+ .filters_clear {
115
+ font-size: 14px;
116
+ font-style: normal;
117
+ font-weight: 500;
118
+ line-height: normal;
119
+ text-decoration-line: underline;
120
+ color: var(--system-alert, #ef4444);
121
+ cursor: pointer;
122
+ }
123
+
124
+ .filters_collapse {
125
+ font-size: 14px;
126
+ font-style: normal;
127
+ font-weight: 400;
128
+ line-height: 160%;
129
+ }
130
+ </style>
@@ -0,0 +1,19 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ filters_amount: {
3
+ type: NumberConstructor;
4
+ default: number;
5
+ };
6
+ }, {
7
+ filtersOpen: import("vue").Ref<boolean>;
8
+ clear: () => void;
9
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "clearFilters"[], "clearFilters", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
10
+ filters_amount: {
11
+ type: NumberConstructor;
12
+ default: number;
13
+ };
14
+ }>> & {
15
+ onClearFilters?: ((...args: any[]) => any) | undefined;
16
+ }, {
17
+ filters_amount: number;
18
+ }, {}>;
19
+ export default _default;
@@ -67,7 +67,7 @@ export default defineComponent({
67
67
  top: 0;
68
68
  z-index: 99;
69
69
  border-bottom: 1px solid var(--base-dividers, #ececf2);
70
- background: rgba(253, 253, 255, 0.8);
70
+ background: transparent;
71
71
  width: 100%;
72
72
  box-sizing: border-box;
73
73
  }
@@ -55,6 +55,7 @@ export default defineComponent({
55
55
  () => props.index_menu,
56
56
  (new_index_menu) => {
57
57
  true_index_menu.value = new_index_menu;
58
+ setBarWidth();
58
59
  }
59
60
  );
60
61
  const tabsWidth = computed(() => {
@@ -72,6 +72,7 @@ export default defineComponent({
72
72
  () => props.index_menu,
73
73
  (new_index_menu) => {
74
74
  true_index_menu.value = new_index_menu;
75
+ setBarWidth(true_index_menu.value);
75
76
  }
76
77
  );
77
78
  const tabsWidth = computed(() => {