edvoyui-component-library-test-flight 0.0.92 → 0.0.95

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 (97) hide show
  1. package/dist/EUIButton.vue.d.ts +5 -0
  2. package/dist/EUIButton.vue.d.ts.map +1 -0
  3. package/dist/accordion/EUIAccordion.vue.d.ts +2 -2
  4. package/dist/accordion/EUIAccordion.vue.d.ts.map +1 -1
  5. package/dist/avatar/EUIAvatar.vue.d.ts +2 -2
  6. package/dist/avatar/EUIAvatar.vue.d.ts.map +1 -1
  7. package/dist/checkbox/EUICheckbox.vue.d.ts +3 -3
  8. package/dist/checkbox/EUICheckbox.vue.d.ts.map +1 -1
  9. package/dist/datepicker/EUIDatepicker.vue.d.ts +3 -3
  10. package/dist/datepicker/EUIDatepicker.vue.d.ts.map +1 -1
  11. package/dist/dropdown/EUIMultiDropdown.vue.d.ts +2 -2
  12. package/dist/dropdown/EUIMultiDropdown.vue.d.ts.map +1 -1
  13. package/dist/errorMessage/EUIErrorMessage.vue.d.ts +2 -2
  14. package/dist/errorMessage/EUIErrorMessage.vue.d.ts.map +1 -1
  15. package/dist/input/EUIInput.vue.d.ts +2 -2
  16. package/dist/input/EUIInput.vue.d.ts.map +1 -1
  17. package/dist/library-vue-ts.cjs.js +69 -23
  18. package/dist/library-vue-ts.css +1 -1
  19. package/dist/library-vue-ts.es.js +13969 -10421
  20. package/dist/library-vue-ts.umd.js +71 -25
  21. package/dist/loader/EUICircleLoader.vue.d.ts +1 -1
  22. package/dist/loader/EUICircleLoader.vue.d.ts.map +1 -1
  23. package/dist/loader/EUICubeLoader.vue.d.ts +1 -1
  24. package/dist/loader/EUICubeLoader.vue.d.ts.map +1 -1
  25. package/dist/loader/EUILoader.vue.d.ts +2 -2
  26. package/dist/loader/EUILoader.vue.d.ts.map +1 -1
  27. package/dist/loader/EUISquareLoader.vue.d.ts +1 -1
  28. package/dist/loader/EUISquareLoader.vue.d.ts.map +1 -1
  29. package/dist/modal/EUIModal.vue.d.ts +2 -2
  30. package/dist/modal/EUIModal.vue.d.ts.map +1 -1
  31. package/dist/pillSelect/EUIPillSelect.vue.d.ts +2 -2
  32. package/dist/pillSelect/EUIPillSelect.vue.d.ts.map +1 -1
  33. package/dist/popover/EUIPopover.vue.d.ts +2 -2
  34. package/dist/popover/EUIPopover.vue.d.ts.map +1 -1
  35. package/dist/radio/EUIRadio.vue.d.ts +2 -2
  36. package/dist/radio/EUIRadio.vue.d.ts.map +1 -1
  37. package/dist/searchInput/EUISearch.vue.d.ts +2 -2
  38. package/dist/searchInput/EUISearch.vue.d.ts.map +1 -1
  39. package/dist/searchexpand/EUISearchExpand.vue.d.ts +2 -2
  40. package/dist/searchexpand/EUISearchExpand.vue.d.ts.map +1 -1
  41. package/dist/searchexpand/EUISearchToggle.vue.d.ts +2 -2
  42. package/dist/searchexpand/EUISearchToggle.vue.d.ts.map +1 -1
  43. package/dist/select/EUISelect.vue.d.ts +3 -3
  44. package/dist/select/EUISelect.vue.d.ts.map +1 -1
  45. package/dist/selectSearch/EUISelectSearch.vue.d.ts +4 -0
  46. package/dist/selectSearch/EUISelectSearch.vue.d.ts.map +1 -0
  47. package/dist/slideover/EUISlideover.vue.d.ts +2 -2
  48. package/dist/slideover/EUISlideover.vue.d.ts.map +1 -1
  49. package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts +2 -2
  50. package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts.map +1 -1
  51. package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts +2 -2
  52. package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts.map +1 -1
  53. package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts +2 -2
  54. package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts.map +1 -1
  55. package/dist/table/EUIDashboardTable.vue.d.ts +2 -2
  56. package/dist/table/EUIDashboardTable.vue.d.ts.map +1 -1
  57. package/dist/table/EUIPageLimit.vue.d.ts +2 -2
  58. package/dist/table/EUIPageLimit.vue.d.ts.map +1 -1
  59. package/dist/table/EUIPagination.vue.d.ts +2 -2
  60. package/dist/table/EUIPagination.vue.d.ts.map +1 -1
  61. package/dist/table/EUIStudentPagination.vue.d.ts +2 -2
  62. package/dist/table/EUIStudentPagination.vue.d.ts.map +1 -1
  63. package/dist/table/EUITable.vue.d.ts +2 -2
  64. package/dist/table/EUITable.vue.d.ts.map +1 -1
  65. package/dist/table/EUITableCheckbox.vue.d.ts +3 -3
  66. package/dist/table/EUITableCheckbox.vue.d.ts.map +1 -1
  67. package/dist/table/UCheckbox.vue.d.ts +2 -2
  68. package/dist/table/UCheckbox.vue.d.ts.map +1 -1
  69. package/dist/table/UTable.vue.d.ts +2 -2
  70. package/dist/table/UTable.vue.d.ts.map +1 -1
  71. package/dist/tabs/EUITabs.vue.d.ts +2 -2
  72. package/dist/tabs/EUITabs.vue.d.ts.map +1 -1
  73. package/dist/tag/EUITag.vue.d.ts +2 -2
  74. package/dist/tag/EUITag.vue.d.ts.map +1 -1
  75. package/dist/telephone/EUITelephone.vue.d.ts +3 -3
  76. package/dist/telephone/EUITelephone.vue.d.ts.map +1 -1
  77. package/dist/textArea/EUITextArea.vue.d.ts +2 -2
  78. package/dist/textArea/EUITextArea.vue.d.ts.map +1 -1
  79. package/dist/timeLine/EUITimeLine.vue.d.ts +2 -2
  80. package/dist/timeLine/EUITimeLine.vue.d.ts.map +1 -1
  81. package/dist/timeLine/EUITimeLineItem.vue.d.ts +2 -2
  82. package/dist/timeLine/EUITimeLineItem.vue.d.ts.map +1 -1
  83. package/dist/toggle/EUIToggle.vue.d.ts +2 -2
  84. package/dist/toggle/EUIToggle.vue.d.ts.map +1 -1
  85. package/dist/tooltip/EUITooltip.vue.d.ts +2 -2
  86. package/dist/tooltip/EUITooltip.vue.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/components/HelloWorld.vue +16 -0
  89. package/src/components/button/EUIButton.stories.ts +20 -2
  90. package/src/components/searchexpand/EUISearchExpand.vue +47 -8
  91. package/src/components/tabs/EUITabs.vue +67 -59
  92. package/dist/EUISelectSearch.vue.d.ts +0 -4
  93. package/dist/EUISelectSearch.vue.d.ts.map +0 -1
  94. package/dist/button/EUIButton.vue.d.ts +0 -5
  95. package/dist/button/EUIButton.vue.d.ts.map +0 -1
  96. /package/src/components/checkbox/{EUICheckbox.stories.ts → EUIcheckbox.stories.ts} +0 -0
  97. /package/src/components/modal/{EUIModal.stories.ts → EUImodal.stories.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  <template>
2
-
3
2
  <div class="relative rounded-full size-10">
4
3
  <div class="absolute top-0 right-0">
5
4
  <div
@@ -19,11 +18,37 @@
19
18
  <SearchBigZoomIn
20
19
  class="absolute text-current size-6 top-2 left-2"
21
20
  />
21
+
22
+ <button
23
+ v-if="isExpanded"
24
+ :class="
25
+ inputValue ? ' absolute inset-y-0 right-3 ' : ' hidden '
26
+ "
27
+ @click="(searchQuery=''), emit('update:modelValue', '')"
28
+ >
29
+ <svg
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ fill="none"
32
+ viewBox="0 0 24 24"
33
+ stroke-width="1.5"
34
+ stroke="currentColor"
35
+ class="size-5"
36
+ >
37
+ <!-- <path stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
38
+ -->
39
+ <path
40
+ stroke-linecap="round"
41
+ stroke-linejoin="round"
42
+ d="M6 18 18 6M6 6l12 12"
43
+ />
44
+ </svg>
45
+ </button>
46
+
22
47
  <input
23
48
  v-if="isExpanded"
24
49
  v-model="searchQuery"
25
50
  ref="input"
26
- type="search"
51
+ :type="type === 'search' ? 'text' : type"
27
52
  placeholder="Search here..."
28
53
  class="h-10 text-sm font-medium text-gray-900 bg-transparent w-80 ps-10 pe-2 focus:outline-none"
29
54
  autocomplete="off"
@@ -38,7 +63,7 @@
38
63
  </template>
39
64
 
40
65
  <script lang="ts" setup>
41
- import { onBeforeUnmount, onMounted, ref, toRefs, watch } from "vue";
66
+ import { computed, onBeforeUnmount, onMounted, PropType, ref, toRefs, watch } from "vue";
42
67
  import SearchBigZoomIn from "../../assets/svg/SearchBigZoomIn.vue";
43
68
 
44
69
  const props = defineProps({
@@ -50,6 +75,12 @@ const props = defineProps({
50
75
  type: Boolean,
51
76
  default: false,
52
77
  },
78
+ type: {
79
+ type: String as PropType<
80
+ "text" | "number" | "email" | "password" | "search"
81
+ >,
82
+ default: "text",
83
+ },
53
84
  });
54
85
  const { searchSync } = toRefs(props);
55
86
  const emit = defineEmits(["update:modelValue"]);
@@ -64,6 +95,10 @@ function expandInput() {
64
95
  input?.value?.focus();
65
96
  }
66
97
 
98
+ const inputValue = computed(() => {
99
+ return props.modelValue === 0 ? true : !!props.modelValue;
100
+ });
101
+
67
102
  function closeInput() {
68
103
  if (!searchQuery.value) {
69
104
  isExpanded.value = false;
@@ -79,11 +114,15 @@ function handleOutsideClick(event: MouseEvent) {
79
114
  }
80
115
  }
81
116
 
82
- watch(searchSync, (newVal) => {
83
- if (!newVal) {
84
- closeInput();
85
- }
86
- }, {immediate: true, deep:true});
117
+ watch(
118
+ searchSync,
119
+ (newVal) => {
120
+ if (!newVal) {
121
+ closeInput();
122
+ }
123
+ },
124
+ { immediate: true, deep: true }
125
+ );
87
126
 
88
127
  onMounted(() => {
89
128
  document.addEventListener("click", handleOutsideClick);
@@ -1,28 +1,27 @@
1
1
  <template>
2
2
  <div>
3
- <div
4
- v-if="tabStyle === 'design'"
3
+ <div class="overflow-x-scroll">
4
+ <div
5
+ v-if="tabStyle === 'design'"
5
6
  class="flex flex-row items-center justify-between w-full p-2 bg-gray-100 rounded-xl"
6
7
  >
7
8
  <button
8
- v-for="(tab, tabindex) in tabs"
9
+ v-for="(tab, tabindex) in tabs"
9
10
  :key="tabindex"
10
11
  :id="`id-${tab.name}`"
11
12
  type="button"
12
13
  class="[&:not(:focus-visible)]:focus:outline-none relative w-full inline-flex items-center transition-colors duration-100"
13
14
  role="tab"
14
15
  tabindex="-1"
15
- @click="selectTab(tabindex)"
16
+ @click="selectTab(tabindex)"
16
17
  >
17
18
  <div
18
19
  class="pointer-events-none absolute inset-0 transition-transform duration-200 transform z-[1] ease-in-out"
19
20
  :class="{
20
- 'translate-x-full':
21
- tabindex < activeTabIndex,
22
- '-translate-x-full':
23
- tabindex > activeTabIndex,
21
+ 'translate-x-full': tabindex < activeTabIndex,
22
+ '-translate-x-full': tabindex > activeTabIndex,
24
23
  'translate-x-0 rounded-lg bg-gray-600':
25
- activeTabIndex === tabindex
24
+ activeTabIndex === tabindex,
26
25
  }"
27
26
  />
28
27
  <span
@@ -30,59 +29,69 @@
30
29
  'w-full px-4 py-2 text-sm tracking-wide font-medium capitalize z-10',
31
30
  activeTabIndex == tabindex
32
31
  ? ' text-white'
33
- : ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300 ease-in origin-center'
32
+ : ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300 ease-in origin-center',
34
33
  ]"
35
34
  >
35
+ <slot name="title" :tab="tab">
36
+ {{ tab?.name }}
37
+ </slot>
38
+ </span>
39
+ </button>
40
+ </div>
41
+ <div
42
+ v-else-if="tabStyle === 'border'"
43
+ class="flex items-center gap-1 before:bottom-0 before:left-0 before:absolute before:content-[''] before:h-px before:w-full before:bg-gray-200 relative before:-z-[1] z-0 bg-white"
44
+ :class="[
45
+ tabAlign === 'justify'
46
+ ? 'justify-between'
47
+ : tabAlign === 'end'
48
+ ? 'justify-end'
49
+ : 'justify-start',
50
+ ]"
51
+ >
52
+ <button
53
+ v-for="(tab, tabindex) in tabs"
54
+ :key="tabindex"
55
+ role="tab"
56
+ :id="`id-${tab.name}`"
57
+ :class="[
58
+ 'px-3 py-1 leading-5 transition-all duration-150 ease-in-out hover:text-gray-800',
59
+ tabSize === 'sm'
60
+ ? 'text-sm font-semibold border-b-2'
61
+ : 'text-base font-bold border-b-[3px]',
62
+ activeTabIndex === tabindex
63
+ ? 'border-gray-900 text-gray-900'
64
+ : 'border-transparent text-gray-500',
65
+ ]"
66
+ @click="selectTab(tabindex)"
67
+ >
36
68
  <slot name="title" :tab="tab">
37
69
  {{ tab?.name }}
38
70
  </slot>
39
- </span>
40
71
  </button>
41
72
  </div>
42
-
43
- <div
44
- v-else-if="tabStyle === 'border'"
45
- class="flex items-center gap-1 before:bottom-0 before:left-0 before:absolute before:content-[''] before:h-px before:w-full before:bg-gray-200 relative before:-z-[1] z-0 bg-white"
46
- :class="[tabAlign === 'justify' ? 'justify-between' : tabAlign === 'end' ? 'justify-end' : 'justify-start']"
47
- >
48
- <button
49
- v-for="(tab, tabindex) in tabs"
50
- :key="tabindex"
51
- role="tab"
52
- :id="`id-${tab.name}`"
53
- :class="['px-3 py-1 leading-5 transition-all duration-150 ease-in-out hover:text-gray-800',
54
- tabSize === 'sm' ? 'text-sm font-semibold border-b-2' : 'text-base font-bold border-b-[3px]',
55
- activeTabIndex === tabindex
56
- ? 'border-gray-900 text-gray-900'
57
- : 'border-transparent text-gray-500']"
58
- @click="selectTab(tabindex)"
59
- >
60
- <slot name="title" :tab="tab">
61
- {{ tab?.name }}
62
- </slot>
63
- </button>
64
- </div>
65
- <div
66
- v-else
67
- class="flex items-center gap-1 p-2 transition-all duration-100"
68
- >
69
- <button
70
- v-for="(tab, tabindex) in tabs"
71
- :key="tabindex"
72
- role="tab"
73
- :id="`id-${tab.name}`"
74
- class="px-4 py-1 text-sm font-semibold transition-colors duration-150 ease-in-out border rounded-full"
75
- :class="
76
- activeTabIndex === tabindex
77
- ? 'shadow-lg shadow-gray-100 bg-white border-gray-200 focus-within:border-purple-600 text-gray-900'
78
- : 'border-white hover:bg-gray-50 text-gray-700'
79
- "
80
- @click="selectTab(tabindex)"
73
+ <div
74
+ v-else
75
+ class="flex items-center gap-1 p-2 transition-all duration-100"
81
76
  >
82
- <slot name="title" :tab="tab">
83
- {{ tab?.name }}
84
- </slot>
85
- </button>
77
+ <button
78
+ v-for="(tab, tabindex) in tabs"
79
+ :key="tabindex"
80
+ role="tab"
81
+ :id="`id-${tab.name}`"
82
+ class="px-4 py-1 text-sm font-semibold transition-colors duration-150 ease-in-out border rounded-full"
83
+ :class="
84
+ activeTabIndex === tabindex
85
+ ? 'shadow-lg shadow-gray-100 bg-white border-gray-200 focus-within:border-purple-600 text-gray-900'
86
+ : 'border-white hover:bg-gray-50 text-gray-700'
87
+ "
88
+ @click="selectTab(tabindex)"
89
+ >
90
+ <slot name="title" :tab="tab">
91
+ {{ tab?.name }}
92
+ </slot>
93
+ </button>
94
+ </div>
86
95
  </div>
87
96
  <div :class="['py-2 text-base font-normal text-gray-700', contentClass]">
88
97
  <slot name="content" :active-tab="tabs[activeTabIndex]">
@@ -103,10 +112,10 @@ interface Tab {
103
112
  const props = defineProps<{
104
113
  tabs: Tab[];
105
114
  defaultActiveIndex?: number;
106
- tabStyle: "rounded" | "border" | 'design' ,
107
- contentClass?: string[] | string,
108
- tabSize?: "sm" | "md",
109
- tabAlign?: 'start' | 'justify' | 'end'
115
+ tabStyle: "rounded" | "border" | "design";
116
+ contentClass?: string[] | string;
117
+ tabSize?: "sm" | "md";
118
+ tabAlign?: "start" | "justify" | "end";
110
119
  }>();
111
120
 
112
121
  const emit = defineEmits<{
@@ -124,7 +133,6 @@ watch(
124
133
  () => props.defaultActiveIndex,
125
134
  (newIndex) => {
126
135
  activeTabIndex.value = newIndex ?? 0;
127
-
128
136
  }
129
137
  );
130
138
  </script>
@@ -1,4 +0,0 @@
1
- import _sfc_main from "/Volumes/work/repos/edvoy-ui-v2/src/components/selectSearch/EUISelectSearch.vue?vue&type=script&setup=true&lang.ts";
2
- export * from "/Volumes/work/repos/edvoy-ui-v2/src/components/selectSearch/EUISelectSearch.vue?vue&type=script&setup=true&lang.ts";
3
- export default _sfc_main;
4
- //# sourceMappingURL=EUISelectSearch.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EUISelectSearch.vue.d.ts","sourceRoot":"","sources":["../src/components/selectSearch/EUISelectSearch.vue"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oHAAoH,CAAC;AAC3I,cAAc,oHAAoH,CAAC;AACnI,eAAe,SAAS,CAAC"}
@@ -1,5 +0,0 @@
1
- import _sfc_main from "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=script&setup=true&lang.ts";
2
- export * from "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=script&setup=true&lang.ts";
3
- import "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=style&index=0&lang.scss";
4
- export default _sfc_main;
5
- //# sourceMappingURL=EUIButton.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EUIButton.vue.d.ts","sourceRoot":"","sources":["../../src/components/button/EUIButton.vue"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wGAAwG,CAAC;AAC/H,cAAc,wGAAwG,CAAC;AACvH,OAAO,sGAAsG,CAAC;AAC9G,eAAe,SAAS,CAAC"}