@tekkare/auriga 0.1.8 → 0.1.10

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.
Files changed (61) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/allIcons.vue +1112 -0
  3. package/dist/runtime/components/allIcons.vue.d.ts +6 -0
  4. package/dist/runtime/components/argActions.vue +150 -0
  5. package/dist/runtime/components/argActions.vue.d.ts +43 -0
  6. package/dist/runtime/components/argAdvancedSearchBar.vue.d.ts +2 -2
  7. package/dist/runtime/components/argChart.vue +38 -4
  8. package/dist/runtime/components/argChartTableCard.vue +30 -0
  9. package/dist/runtime/components/argChartTableCard.vue.d.ts +2 -0
  10. package/dist/runtime/components/argCheckbox.vue +46 -31
  11. package/dist/runtime/components/argCheckbox.vue.d.ts +20 -3
  12. package/dist/runtime/components/argCircleAmount.vue +37 -0
  13. package/dist/runtime/components/argCircleAmount.vue.d.ts +12 -0
  14. package/dist/runtime/components/argDataLoader.vue +13 -3
  15. package/dist/runtime/components/argDataLoader.vue.d.ts +22 -1
  16. package/dist/runtime/components/argDropdownSelect.vue +5 -19
  17. package/dist/runtime/components/argEmoji.vue +34 -0
  18. package/dist/runtime/components/argEmoji.vue.d.ts +29 -0
  19. package/dist/runtime/components/argFileBtn.vue +10 -2
  20. package/dist/runtime/components/argFileBtn.vue.d.ts +11 -2
  21. package/dist/runtime/components/argFilterCard.vue +37 -9
  22. package/dist/runtime/components/argFilterCard.vue.d.ts +30 -1
  23. package/dist/runtime/components/argFilterTabs.vue +109 -0
  24. package/dist/runtime/components/argFilterTabs.vue.d.ts +64 -0
  25. package/dist/runtime/components/argFooter.vue +21 -20
  26. package/dist/runtime/components/argHeader.vue +22 -8
  27. package/dist/runtime/components/argHeader.vue.d.ts +18 -0
  28. package/dist/runtime/components/argInfoBar.vue +175 -0
  29. package/dist/runtime/components/argInfoBar.vue.d.ts +35 -0
  30. package/dist/runtime/components/argInfoSection.vue +265 -0
  31. package/dist/runtime/components/argInfoSection.vue.d.ts +55 -0
  32. package/dist/runtime/components/argMainLayout.vue +46 -21
  33. package/dist/runtime/components/argMainLayout.vue.d.ts +13 -1
  34. package/dist/runtime/components/argMenuItem.vue +44 -27
  35. package/dist/runtime/components/argMenuItem.vue.d.ts +11 -1
  36. package/dist/runtime/components/argMenuLink.vue +44 -20
  37. package/dist/runtime/components/argMenuLink.vue.d.ts +9 -0
  38. package/dist/runtime/components/argMultipleChoice.vue +26 -4
  39. package/dist/runtime/components/argMultipleSelect.vue +797 -0
  40. package/dist/runtime/components/argMultipleSelect.vue.d.ts +151 -0
  41. package/dist/runtime/components/argNavBar.vue +26 -12
  42. package/dist/runtime/components/argNavBar.vue.d.ts +11 -2
  43. package/dist/runtime/components/argRadioButtons.vue +135 -0
  44. package/dist/runtime/components/argRadioButtons.vue.d.ts +48 -0
  45. package/dist/runtime/components/argScopeCriteria.vue +91 -0
  46. package/dist/runtime/components/argScopeCriteria.vue.d.ts +35 -0
  47. package/dist/runtime/components/argScopeHeader.vue +90 -0
  48. package/dist/runtime/components/argScopeHeader.vue.d.ts +33 -0
  49. package/dist/runtime/components/argScopeLayout.vue +61 -0
  50. package/dist/runtime/components/argScopeLayout.vue.d.ts +14 -0
  51. package/dist/runtime/components/argSidebar.vue +97 -14
  52. package/dist/runtime/components/argSidebar.vue.d.ts +17 -2
  53. package/dist/runtime/components/argSimpleLabel.vue +1 -1
  54. package/dist/runtime/components/argStyle.vue +100 -67
  55. package/dist/runtime/components/argSubMenu.vue +79 -37
  56. package/dist/runtime/components/argSubMenu.vue.d.ts +9 -0
  57. package/dist/runtime/components/argTable.vue +14 -0
  58. package/dist/runtime/components/argTags.vue +1 -1
  59. package/dist/runtime/components/argTipsBox.vue +153 -0
  60. package/dist/runtime/components/argTipsBox.vue.d.ts +37 -0
  61. package/package.json +2 -1
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <div class="arg_main_scope">
3
+ <slot name="header" />
4
+ <div class="arg_scope_layout_body">
5
+ <slot name="body" />
6
+ </div>
7
+ <argFooter />
8
+ </div>
9
+ </template>
10
+ <script>
11
+ import {
12
+ onMounted,
13
+ defineComponent
14
+ } from "vue";
15
+ import argIcon from "./argIcon.vue";
16
+ import argStyle from "./argStyle.vue";
17
+ import argFooter from "./argFooter.vue";
18
+ export default defineComponent({
19
+ name: "argMainLayout",
20
+ components: { argIcon, argStyle, argFooter },
21
+ props: {
22
+ sidebarOpen: {
23
+ type: Boolean,
24
+ default: true
25
+ }
26
+ },
27
+ setup() {
28
+ onMounted(() => {
29
+ adjustMarginForBody();
30
+ window.addEventListener("resize", adjustMarginForBody);
31
+ });
32
+ function adjustMarginForBody() {
33
+ const fixedHeader = document.getElementById("arg_header");
34
+ const bodyContent = document.getElementById("arg_main_layout_section");
35
+ const infoBar = document.getElementById("arg_info_section");
36
+ if (fixedHeader && bodyContent) {
37
+ const headerHeight = fixedHeader.offsetHeight;
38
+ bodyContent.style.marginTop = `${headerHeight}px`;
39
+ }
40
+ if (fixedHeader && infoBar) {
41
+ const headerHeight = fixedHeader.offsetHeight;
42
+ infoBar.style.top = `${headerHeight + 8}px`;
43
+ }
44
+ }
45
+ }
46
+ });
47
+ </script>
48
+ <style>
49
+ .arg_main_scope {
50
+ display: flex;
51
+ flex-direction: column;
52
+ align-items: center;
53
+ }
54
+ .arg_scope_layout_body {
55
+ min-height: calc(100vh - 77px);
56
+ padding: 8px;
57
+ max-width: 1088px;
58
+ min-width: 50%;
59
+ margin-top: 32px;
60
+ }
61
+ </style>
@@ -0,0 +1,14 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ sidebarOpen: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
+ sidebarOpen: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ }>>, {
12
+ sidebarOpen: boolean;
13
+ }, {}>;
14
+ export default _default;
@@ -1,14 +1,47 @@
1
+ <!-- eslint-disable vue/max-attributes-per-line -->
1
2
  <template>
2
- <div class="arg_sidebar">
3
- <div class="arg_sidebar_header">
3
+ <div :class="sidebarOpen ? 'arg_sidebar_open' : ''" class="arg_sidebar">
4
+ <div
5
+ :class="
6
+ sidebarOpen ? 'arg_sidebar_header_full' : 'arg_sidebar_header_small'
7
+ "
8
+ >
4
9
  <nuxt-link to="/" class="arg_sidebar_home">
5
- <arg-icon name="House" color="var(--primary)" />
6
- <span v-if="lang === 'en'"> Home </span>
7
- <span v-if="lang === 'fr'"> Accueil </span>
10
+ <arg-tooltip
11
+ :tooltip-text="lang === 'en' ? 'Home' : 'Accueil'"
12
+ :disable="sidebarOpen"
13
+ dir="right"
14
+ :class="[
15
+ 'tooltip_display',
16
+ sidebarOpen ? '' : 'link_menu_tooltip_icon',
17
+ ]"
18
+ >
19
+ <arg-icon name="House" color="var(--primary)" />
20
+ </arg-tooltip>
21
+ <span v-if="lang === 'en' && sidebarOpen"> Home </span>
22
+ <span v-if="lang === 'fr' && sidebarOpen"> Accueil </span>
8
23
  </nuxt-link>
24
+ <div class="sidebar_toggle" @click="toggleSidebar()">
25
+ <arg-tooltip
26
+ :tooltip-text="
27
+ lang === 'en' ? 'Open sidebar' : 'Ouvrir le menu latéral'
28
+ "
29
+ :disable="sidebarOpen"
30
+ dir="right"
31
+ :class="[
32
+ 'tooltip_display',
33
+ sidebarOpen ? '' : 'link_menu_tooltip_icon',
34
+ ]"
35
+ >
36
+ <arg-icon name="Sidebar" color="var(--primary)" />
37
+ </arg-tooltip>
38
+ </div>
9
39
  </div>
10
40
 
11
- <h1 class="arg_sidebar_title">{{ name }}</h1>
41
+ <h1 v-show="sidebarOpen" class="arg_sidebar_title">
42
+ <span v-if="appIso"><arg-flag :iso="appIso" emoji /></span>
43
+ <span>{{ name }}</span>
44
+ </h1>
12
45
  <div class="arg_sidebar_body">
13
46
  <div class="arg_sidebar_content">
14
47
  <slot name="menu" />
@@ -24,15 +57,20 @@
24
57
  </template>
25
58
  <script>
26
59
  import {
60
+ onMounted,
61
+ ref,
27
62
  defineComponent
28
63
  } from "vue";
29
64
  import argIcon from "./argIcon.vue";
30
- import argStyle from "./argStyle.vue";
31
65
  export default defineComponent({
32
66
  name: "argSidebar",
33
- components: { argIcon, argStyle },
67
+ components: { argIcon },
34
68
  props: {
35
69
  name: { type: String, required: true },
70
+ appIso: {
71
+ type: String,
72
+ default: null
73
+ },
36
74
  lang: {
37
75
  type: String,
38
76
  default: "en",
@@ -41,13 +79,38 @@ export default defineComponent({
41
79
  }
42
80
  },
43
81
  homeLink: { type: String, default: "/" }
82
+ },
83
+ emits: ["onSidebarChange", "update:Sidebar"],
84
+ setup(props, { emit }) {
85
+ onMounted(() => {
86
+ window?.addEventListener("resize", handleResize);
87
+ handleResize();
88
+ });
89
+ const sidebarOpen = ref(true);
90
+ function handleResize() {
91
+ if (window.innerWidth >= 1e3) {
92
+ sidebarOpen.value = true;
93
+ } else
94
+ sidebarOpen.value = false;
95
+ emit("onSidebarChange", sidebarOpen.value);
96
+ emit("update:Sidebar", sidebarOpen.value);
97
+ }
98
+ function toggleSidebar() {
99
+ emit("onSidebarChange", !sidebarOpen.value);
100
+ emit("update:Sidebar", !sidebarOpen.value);
101
+ sidebarOpen.value = !sidebarOpen.value;
102
+ }
103
+ return {
104
+ sidebarOpen,
105
+ toggleSidebar
106
+ };
44
107
  }
45
108
  });
46
109
  </script>
47
110
  <style scoped>
48
111
  .arg_sidebar {
49
112
  display: flex;
50
- width: 200px;
113
+ width: 52px;
51
114
  padding: 16px 8px;
52
115
  flex-direction: column;
53
116
  align-items: flex-start;
@@ -62,12 +125,22 @@ export default defineComponent({
62
125
  top: 0;
63
126
  box-sizing: border-box;
64
127
  }
65
- .arg_sidebar_header {
128
+
129
+ .arg_sidebar_open {
130
+ width: 200px;
131
+ }
132
+ .arg_sidebar_header_full {
66
133
  display: flex;
67
134
  justify-content: space-between;
68
- align-items: flex-start;
135
+ align-items: center;
69
136
  align-self: stretch;
70
137
  }
138
+ .arg_sidebar_header_small {
139
+ display: flex;
140
+ flex-direction: column;
141
+ align-items: center;
142
+ gap: var(--xxs, 4px);
143
+ }
71
144
  .arg_sidebar_home {
72
145
  display: flex;
73
146
  height: 32px;
@@ -82,10 +155,9 @@ export default defineComponent({
82
155
  }
83
156
  .arg_sidebar_title {
84
157
  display: flex;
158
+ flex-direction: row;
85
159
  padding: 0px 8px;
86
- flex-direction: column;
87
- justify-content: center;
88
- align-items: flex-start;
160
+ align-items: center;
89
161
  gap: 8px;
90
162
  align-self: stretch;
91
163
  font-size: 20px;
@@ -107,4 +179,15 @@ export default defineComponent({
107
179
  flex-direction: column;
108
180
  gap: 8px;
109
181
  }
182
+
183
+ .sidebar_toggle {
184
+ cursor: pointer;
185
+ }
186
+
187
+ .link_menu_tooltip_icon {
188
+ flex: 1 1 100%;
189
+ }
190
+ .tooltip_display {
191
+ display: flex !important;
192
+ }
110
193
  </style>
@@ -3,6 +3,10 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: StringConstructor;
4
4
  required: true;
5
5
  };
6
+ appIso: {
7
+ type: StringConstructor;
8
+ default: null;
9
+ };
6
10
  lang: {
7
11
  type: StringConstructor;
8
12
  default: string;
@@ -12,11 +16,18 @@ declare const _default: import("vue").DefineComponent<{
12
16
  type: StringConstructor;
13
17
  default: string;
14
18
  };
15
- }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ }, {
20
+ sidebarOpen: import("vue").Ref<boolean>;
21
+ toggleSidebar: () => void;
22
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSidebarChange" | "update:Sidebar")[], "onSidebarChange" | "update:Sidebar", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
23
  name: {
17
24
  type: StringConstructor;
18
25
  required: true;
19
26
  };
27
+ appIso: {
28
+ type: StringConstructor;
29
+ default: null;
30
+ };
20
31
  lang: {
21
32
  type: StringConstructor;
22
33
  default: string;
@@ -26,8 +37,12 @@ declare const _default: import("vue").DefineComponent<{
26
37
  type: StringConstructor;
27
38
  default: string;
28
39
  };
29
- }>>, {
40
+ }>> & {
41
+ onOnSidebarChange?: ((...args: any[]) => any) | undefined;
42
+ "onUpdate:Sidebar"?: ((...args: any[]) => any) | undefined;
43
+ }, {
30
44
  lang: string;
45
+ appIso: string;
31
46
  homeLink: string;
32
47
  }, {}>;
33
48
  export default _default;
@@ -53,7 +53,7 @@ export default defineComponent({
53
53
 
54
54
  .oip_select_block {
55
55
  cursor: pointer;
56
- width: 228px;
56
+ width: 222px;
57
57
  padding: 12px;
58
58
  display: flex;
59
59
  align-items: center;
@@ -108,7 +108,16 @@ button {
108
108
  }
109
109
  .oip_container {
110
110
  margin: 0 auto;
111
- max-width: 1440px;
111
+ padding: 0px 64px 0px 8px;
112
+ max-width: 1080px;
113
+ }
114
+
115
+ .arg_page_display {
116
+ display: flex;
117
+ flex-direction: column;
118
+ align-items: flex-start;
119
+ gap: 32px;
120
+ width: 100%;
112
121
  }
113
122
 
114
123
  /*** TEXT ***/
@@ -256,6 +265,9 @@ button {
256
265
  .oip_row.gap-4 {
257
266
  gap: 4px;
258
267
  }
268
+ .oip_row.gap-6 {
269
+ gap: 4px;
270
+ }
259
271
  .oip_row.gap-8 {
260
272
  gap: 8px;
261
273
  }
@@ -268,6 +280,12 @@ button {
268
280
  .oip_row.gap-16 {
269
281
  gap: 16px;
270
282
  }
283
+ .oip_row.gap-24 {
284
+ gap: 16px;
285
+ }
286
+ .oip_row.gap-32 {
287
+ gap: 16px;
288
+ }
271
289
 
272
290
  /** BUTTONS **/
273
291
 
@@ -680,21 +698,21 @@ button {
680
698
  /*** TAGS ***/
681
699
 
682
700
  .oip_tag {
683
- padding: 4px 12px !important;
684
- background: var(--independence) !important;
685
- color: var(--pure-white) !important;
686
- font-style: normal !important;
687
- font-weight: bold;
688
- font-size: 12px !important;
689
- line-height: 14px !important;
690
- border-radius: 20px !important;
691
- border: 1px solid var(--independence) !important;
692
- height: 20px !important;
693
- width: fit-content !important;
694
- font-family: "Figtree", sans-serif !important;
701
+ padding: 4px 8px;
702
+ background: var(--independence);
703
+ color: var(--pure-white);
704
+ font-size: 12px;
705
+ font-style: normal;
706
+ font-weight: 500;
707
+ line-height: normal;
708
+ border-radius: 4px;
709
+ width: fit-content;
710
+ font-family: "Figtree", sans-serif;
711
+ display: inline-flex;
712
+ padding: 4px 8px;
695
713
  align-items: center;
696
- display: flex;
697
714
  gap: 8px;
715
+ height: 16px;
698
716
  }
699
717
  .oip_tag > svg {
700
718
  cursor: pointer;
@@ -704,48 +722,80 @@ button {
704
722
  .oip_tag.is_disabled {
705
723
  background-color: var(--pure-white) !important;
706
724
  color: var(--lavendar-grey) !important;
707
- border: 1px solid var(--lavendar-grey) !important;
708
725
  }
709
726
  .oip_tag.is_red {
710
- background: var(--red) !important;
711
- border: 1px solid var(--red) !important;
727
+ background: rgba(244, 63, 94, 0.1) !important;
728
+ color: #9f1239;
729
+ }
730
+ .oip_tag.is_pink {
731
+ background: rgba(236, 72, 153, 0.1) !important;
732
+ color: #9d174d;
733
+ }
734
+ .oip_tag.is_lilac {
735
+ background: rgba(217, 70, 239, 0.1) !important;
736
+ color: #86198f;
737
+ }
738
+ .oip_tag.is_purple {
739
+ background: rgba(168, 85, 247, 0.1) !important;
740
+ color: #6b21a8;
741
+ }
742
+ .oip_tag.is_indigo {
743
+ background: rgba(139, 92, 246, 0.1) !important;
744
+ color: #5b21b6;
745
+ }
746
+ .oip_tag.is_blue {
747
+ background: rgba(99, 102, 241, 0.1) !important;
748
+ color: #3730a3;
749
+ }
750
+ .oip_tag.is_sapphire {
751
+ background: rgba(14, 165, 233, 0.1) !important;
752
+ color: #075985;
753
+ }
754
+ .oip_tag.is_turquoise {
755
+ background: rgba(6, 182, 212, 0.1) !important;
756
+ color: #155e75;
757
+ }
758
+ .oip_tag.is_teal {
759
+ background: rgba(20, 184, 166, 0.1) !important;
760
+ color: #115e59;
761
+ }
762
+ .oip_tag.is_emerald {
763
+ background: rgba(16, 185, 129, 0.1) !important;
764
+ color: #065f46;
712
765
  }
766
+ .oip_tag.is_green {
767
+ background: rgba(34, 197, 94, 0.1) !important;
768
+ color: #166534;
769
+ }
770
+ .oip_tag.is_olive {
771
+ background: rgba(132, 204, 22, 0.1) !important;
772
+ color: #3f6212;
773
+ }
774
+ .oip_tag.is_yellow {
775
+ background: rgba(234, 179, 8, 0.1) !important;
776
+ color: #854d0e;
777
+ }
778
+ .oip_tag.is_beige {
779
+ background: rgba(245, 158, 11, 0.1) !important;
780
+ color: #92400e;
781
+ }
782
+ .oip_tag.is_coral {
783
+ background: rgba(249, 115, 22, 0.1) !important;
784
+ color: #9a3412;
785
+ }
786
+
713
787
  .oip_tag.is_orange {
714
788
  background: var(--orange) !important;
715
789
  border: 1px solid var(--orange) !important;
716
790
  }
717
- .oip_tag.is_yellow {
718
- background: var(--yellow) !important;
719
- border: 1px solid var(--yellow) !important;
720
- }
721
791
  .oip_tag.is_lime {
722
792
  background: var(--lime) !important;
723
793
  border: 1px solid var(--lime) !important;
724
794
  }
725
- .oip_tag.is_green {
726
- background: var(--green) !important;
727
- border: 1px solid var(--green) !important;
728
- }
729
795
  .oip_tag.is_cyan {
730
796
  background: var(--cyan) !important;
731
797
  border: 1px solid var(--cyan) !important;
732
798
  }
733
- .oip_tag.is_blue {
734
- background: var(--blue) !important;
735
- border: 1px solid var(--blue) !important;
736
- }
737
- .oip_tag.is_navy {
738
- background: var(--navy) !important;
739
- border: 1px solid var(--navy) !important;
740
- }
741
- .oip_tag.is_purple {
742
- background: var(--purple) !important;
743
- border: 1px solid var(--purple) !important;
744
- }
745
- .oip_tag.is_pink {
746
- background: var(--pink) !important;
747
- border: 1px solid var(--pink) !important;
748
- }
749
799
  .oip_tag.is_primary {
750
800
  background: var(--primary) !important;
751
801
  border: 1px solid var(--primary) !important;
@@ -768,12 +818,6 @@ button {
768
818
  }
769
819
  .oip_tag.is_light_grey {
770
820
  background: var(--background) !important;
771
- border-radius: 10px !important;
772
- border: 1px solid var(--background) !important;
773
- padding: 4px 12px !important;
774
- font-weight: 400 !important;
775
- font-size: 14px !important;
776
- line-height: 16px !important;
777
821
  color: var(--independence) !important;
778
822
  }
779
823
  .oip_tag.is_light_grey svg {
@@ -782,32 +826,14 @@ button {
782
826
  }
783
827
  .oip_tag.is_light_red {
784
828
  background: rgba(251, 70, 84, 0.1) !important;
785
- border-radius: 10px !important;
786
- border: 1px solid transparent !important;
787
- padding: 4px 12px !important;
788
- font-weight: 400 !important;
789
- font-size: 14px !important;
790
- line-height: 16px !important;
791
829
  color: var(--alert) !important;
792
830
  }
793
831
  .oip_tag.is_light_green {
794
832
  background: rgba(50, 209, 117, 0.1) !important;
795
- border-radius: 10px !important;
796
- border: 1px solid transparent !important;
797
- padding: 4px 12px !important;
798
- font-weight: 400 !important;
799
- font-size: 14px !important;
800
- line-height: 16px !important;
801
833
  color: var(--success) !important;
802
834
  }
803
835
  .oip_tag.is_light_primary {
804
836
  background: #e9f1ff !important;
805
- border-radius: 10px !important;
806
- border: 1px solid transparent !important;
807
- padding: 4px 12px !important;
808
- font-weight: 400 !important;
809
- font-size: 14px !important;
810
- line-height: 16px !important;
811
837
  color: var(--primary) !important;
812
838
  }
813
839
  .oip_tag .oip_tag__close {
@@ -829,13 +855,20 @@ button {
829
855
  }
830
856
 
831
857
  .oip_table_card {
832
- padding: 32px 0px;
858
+ padding: 32px 0px 0px 0px;
833
859
  border-radius: 12px;
834
860
  background: var(--pure-white);
835
861
  box-shadow: var(--container-shadow);
836
862
  margin: 8px 0;
837
863
  }
838
864
 
865
+ .oip_half_card {
866
+ flex: 1 1 50%;
867
+ }
868
+ .oip_third_card {
869
+ flex: 1 1 33%;
870
+ }
871
+
839
872
  .oip_table_card .oip_card__header {
840
873
  padding: 0px 24px;
841
874
  }
@@ -882,7 +915,7 @@ button {
882
915
  }
883
916
  .oip_card .oip_card__header .oip_card__header_buttons {
884
917
  display: flex;
885
- column-gap: 8px;
918
+ column-li: 8px;
886
919
  }
887
920
  @media screen and (max-width: 1000px) {
888
921
  .oip_card .oip_card__header .oip_card__header_buttons .oip_download_button,
@@ -1,14 +1,30 @@
1
1
  <template>
2
- <div class="arg_sub_menu">
3
- <button class="arg_sub_menu_button" @click="openMenu = !openMenu">
4
- {{label}}
5
- <arg-icon name="CaretUp" size="12" color="var(--primary)" thickness="30" v-if="openMenu"/>
6
- <arg-icon name="CaretDown" size="12" color="var(--primary)" thickness="30" v-else/>
7
- </button>
8
- <div v-show="openMenu" class="arg_sub_menu_content">
9
- <slot/>
10
- </div>
2
+ <div :class="sidebarOpen ? 'arg_sub_menu' : 'arg_sub_small'">
3
+ <button class="arg_sub_menu_button" @click="openMenu = !openMenu">
4
+ <span v-show="sidebarOpen">{{ label }}</span>
5
+ <arg-tooltip
6
+ :tooltip-text="label"
7
+ :disable="sidebarOpen"
8
+ dir="right"
9
+ :class="['tooltip_display', sidebarOpen ? '' : 'submenu_tooltip_icon']"
10
+ >
11
+ <arg-icon
12
+ name="CaretDown"
13
+ size="12"
14
+ color="var(--cool-grey)"
15
+ thickness="30"
16
+ :class="[
17
+ 'action_icon',
18
+ sidebarOpen ? '' : 'icon_sb',
19
+ openMenu ? 'active_icon' : '',
20
+ ]"
21
+ />
22
+ </arg-tooltip>
23
+ </button>
24
+ <div v-show="openMenu" class="arg_sub_menu_content">
25
+ <slot />
11
26
  </div>
27
+ </div>
12
28
  </template>
13
29
  <script>
14
30
  import {
@@ -23,7 +39,8 @@ export default defineComponent({
23
39
  props: {
24
40
  label: { type: String, required: true },
25
41
  icon: { type: String },
26
- defaultCollapseState: { type: Boolean, default: true }
42
+ defaultCollapseState: { type: Boolean, default: true },
43
+ sidebarOpen: { type: Boolean, default: true }
27
44
  },
28
45
  setup(props) {
29
46
  let openMenu = ref(props.defaultCollapseState);
@@ -34,34 +51,59 @@ export default defineComponent({
34
51
  });
35
52
  </script>
36
53
  <style>
37
- .arg_sub_menu{
38
- display: flex;
39
- flex-direction: column;
40
- align-items: flex-start;
41
- gap: 8px;
42
- align-self: stretch;
43
- width: 100%;
44
- cursor: pointer;
54
+ .arg_sub_small {
55
+ display: flex;
56
+ flex-direction: column;
57
+ align-items: flex-start;
58
+ gap: var(--s, 8px);
59
+ }
60
+ .arg_sub_menu {
61
+ display: flex;
62
+ flex-direction: column;
63
+ align-items: flex-start;
64
+ gap: 8px;
65
+ align-self: stretch;
66
+ width: 100%;
67
+ cursor: pointer;
45
68
  }
46
69
 
47
- .arg_sub_menu_button{
48
- width: 100%;
49
- outline: none;
50
- border: 0px solid transparent;
51
- background-color: transparent;
52
- padding: 0;
53
- display: flex;
54
- padding: 3px 8px 6px 8px;
55
- align-items: center;
56
- gap: 10px;
57
- align-self: stretch;
58
- font-size: 14px;
59
- font-style: normal;
60
- font-weight: 700;
61
- line-height: normal;
62
- cursor: pointer;
70
+ .arg_sub_menu_button {
71
+ width: 100%;
72
+ outline: none;
73
+ border: 0px solid transparent;
74
+ background-color: transparent;
75
+ padding: 0;
76
+ display: flex;
77
+ padding: 3px 8px 6px 8px;
78
+ align-items: center;
79
+ justify-content: space-between;
80
+ gap: 10px;
81
+ align-self: stretch;
82
+ font-size: 14px;
83
+ font-style: normal;
84
+ font-weight: 700;
85
+ line-height: normal;
86
+ cursor: pointer;
87
+ }
88
+ .arg_sub_menu_content {
89
+ width: 100%;
63
90
  }
64
- .arg_sub_menu_content{
65
- width: 100%;
91
+
92
+ .icon_sb,
93
+ .submenu_tooltip_icon {
94
+ flex: 1 1 100%;
95
+ }
96
+
97
+ .tooltip_display {
98
+ display: flex !important;
99
+ }
100
+
101
+ .action_icon {
102
+ transition: all ease 0.3s;
103
+ }
104
+
105
+ .active_icon {
106
+ transform: rotate(180deg);
107
+ color: var(--primary) !important;
66
108
  }
67
- </style>
109
+ </style>