edvoyui-component-library-test-flight 0.0.108 → 0.0.110

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 (103) 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/alerts/EUIAlerts.vue.d.ts +2 -2
  6. package/dist/alerts/EUIAlerts.vue.d.ts.map +1 -1
  7. package/dist/avatar/EUIAvatar.vue.d.ts +2 -2
  8. package/dist/avatar/EUIAvatar.vue.d.ts.map +1 -1
  9. package/dist/breadcrumb/EUIBreadcrumb.vue.d.ts +2 -2
  10. package/dist/breadcrumb/EUIBreadcrumb.vue.d.ts.map +1 -1
  11. package/dist/checkbox/EUICheckbox.vue.d.ts +3 -3
  12. package/dist/checkbox/EUICheckbox.vue.d.ts.map +1 -1
  13. package/dist/datepicker/EUIDatepicker.vue.d.ts +3 -3
  14. package/dist/datepicker/EUIDatepicker.vue.d.ts.map +1 -1
  15. package/dist/dropdown/EUIMultiDropdown.vue.d.ts +2 -2
  16. package/dist/dropdown/EUIMultiDropdown.vue.d.ts.map +1 -1
  17. package/dist/errorMessage/EUIErrorMessage.vue.d.ts +2 -2
  18. package/dist/errorMessage/EUIErrorMessage.vue.d.ts.map +1 -1
  19. package/dist/input/EUIInput.vue.d.ts +2 -2
  20. package/dist/input/EUIInput.vue.d.ts.map +1 -1
  21. package/dist/library-vue-ts.cjs.js +23 -23
  22. package/dist/library-vue-ts.css +1 -1
  23. package/dist/library-vue-ts.es.js +3953 -3862
  24. package/dist/library-vue-ts.umd.js +25 -25
  25. package/dist/loader/EUICircleLoader.vue.d.ts +1 -1
  26. package/dist/loader/EUICircleLoader.vue.d.ts.map +1 -1
  27. package/dist/loader/EUICubeLoader.vue.d.ts +1 -1
  28. package/dist/loader/EUICubeLoader.vue.d.ts.map +1 -1
  29. package/dist/loader/EUILoader.vue.d.ts +2 -2
  30. package/dist/loader/EUILoader.vue.d.ts.map +1 -1
  31. package/dist/loader/EUISquareLoader.vue.d.ts +1 -1
  32. package/dist/loader/EUISquareLoader.vue.d.ts.map +1 -1
  33. package/dist/modal/EUIModal.vue.d.ts +2 -2
  34. package/dist/modal/EUIModal.vue.d.ts.map +1 -1
  35. package/dist/pillSelect/EUIPillSelect.vue.d.ts +2 -2
  36. package/dist/pillSelect/EUIPillSelect.vue.d.ts.map +1 -1
  37. package/dist/popover/EUIPopover.vue.d.ts +2 -2
  38. package/dist/popover/EUIPopover.vue.d.ts.map +1 -1
  39. package/dist/radio/EUIRadio.vue.d.ts +2 -2
  40. package/dist/radio/EUIRadio.vue.d.ts.map +1 -1
  41. package/dist/searchInput/EUISearch.vue.d.ts +2 -2
  42. package/dist/searchInput/EUISearch.vue.d.ts.map +1 -1
  43. package/dist/searchexpand/EUISearchExpand.vue.d.ts +2 -2
  44. package/dist/searchexpand/EUISearchExpand.vue.d.ts.map +1 -1
  45. package/dist/searchexpand/EUISearchToggle.vue.d.ts +2 -2
  46. package/dist/searchexpand/EUISearchToggle.vue.d.ts.map +1 -1
  47. package/dist/select/EUISelect.vue.d.ts +3 -3
  48. package/dist/select/EUISelect.vue.d.ts.map +1 -1
  49. package/dist/selectSearch/EUISelectSearch.vue.d.ts +4 -0
  50. package/dist/selectSearch/EUISelectSearch.vue.d.ts.map +1 -0
  51. package/dist/slideover/EUISlideover.vue.d.ts +2 -2
  52. package/dist/slideover/EUISlideover.vue.d.ts.map +1 -1
  53. package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts +2 -2
  54. package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts.map +1 -1
  55. package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts +2 -2
  56. package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts.map +1 -1
  57. package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts +2 -2
  58. package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts.map +1 -1
  59. package/dist/table/EUIDashboardTable.vue.d.ts +2 -2
  60. package/dist/table/EUIDashboardTable.vue.d.ts.map +1 -1
  61. package/dist/table/EUIPageLimit.vue.d.ts +2 -2
  62. package/dist/table/EUIPageLimit.vue.d.ts.map +1 -1
  63. package/dist/table/EUIPagination.vue.d.ts +2 -2
  64. package/dist/table/EUIPagination.vue.d.ts.map +1 -1
  65. package/dist/table/EUIStudentPagination.vue.d.ts +2 -2
  66. package/dist/table/EUIStudentPagination.vue.d.ts.map +1 -1
  67. package/dist/table/EUITable.vue.d.ts +2 -2
  68. package/dist/table/EUITable.vue.d.ts.map +1 -1
  69. package/dist/table/EUITableCheckbox.vue.d.ts +3 -3
  70. package/dist/table/EUITableCheckbox.vue.d.ts.map +1 -1
  71. package/dist/table/GrowthTable.vue.d.ts +2 -2
  72. package/dist/table/GrowthTable.vue.d.ts.map +1 -1
  73. package/dist/table/UCheckbox.vue.d.ts +2 -2
  74. package/dist/table/UCheckbox.vue.d.ts.map +1 -1
  75. package/dist/table/UTable.vue.d.ts +2 -2
  76. package/dist/table/UTable.vue.d.ts.map +1 -1
  77. package/dist/tabs/EUITabs.vue.d.ts +2 -2
  78. package/dist/tabs/EUITabs.vue.d.ts.map +1 -1
  79. package/dist/tag/EUITag.vue.d.ts +2 -2
  80. package/dist/tag/EUITag.vue.d.ts.map +1 -1
  81. package/dist/telephone/EUITelephone.vue.d.ts +3 -3
  82. package/dist/telephone/EUITelephone.vue.d.ts.map +1 -1
  83. package/dist/textArea/EUITextArea.vue.d.ts +2 -2
  84. package/dist/textArea/EUITextArea.vue.d.ts.map +1 -1
  85. package/dist/timeLine/EUITimeLine.vue.d.ts +2 -2
  86. package/dist/timeLine/EUITimeLine.vue.d.ts.map +1 -1
  87. package/dist/timeLine/EUITimeLineItem.vue.d.ts +2 -2
  88. package/dist/timeLine/EUITimeLineItem.vue.d.ts.map +1 -1
  89. package/dist/toggle/EUIToggle.vue.d.ts +2 -2
  90. package/dist/toggle/EUIToggle.vue.d.ts.map +1 -1
  91. package/dist/tooltip/EUITooltip.vue.d.ts +2 -2
  92. package/dist/tooltip/EUITooltip.vue.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/components/HelloWorld.vue +17 -0
  95. package/src/components/searchexpand/EUISearchExpand.vue +47 -8
  96. package/src/components/select/EUISelect.vue +54 -19
  97. package/src/components/tabs/EUITabs.vue +12 -2
  98. package/dist/EUISelectSearch.vue.d.ts +0 -4
  99. package/dist/EUISelectSearch.vue.d.ts.map +0 -1
  100. package/dist/button/EUIButton.vue.d.ts +0 -5
  101. package/dist/button/EUIButton.vue.d.ts.map +0 -1
  102. /package/src/components/checkbox/{EUICheckbox.stories.ts → EUIcheckbox.stories.ts} +0 -0
  103. /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);
@@ -45,7 +45,11 @@
45
45
  @open="open"
46
46
  >
47
47
  <!-- :clearable="isUseCustomSelect ? clearable : undefined" -->
48
- <template v-if="inputFilled" #header>
48
+ <!-- Allow parent to override header slot -->
49
+ <template v-if="$slots.header" #header>
50
+ <slot name="header"></slot>
51
+ </template>
52
+ <template v-if="inputFilled && !$slots.header" #header>
49
53
  <div
50
54
  :class="[
51
55
  inputValue
@@ -59,7 +63,14 @@
59
63
  {{ startCaseText(label) || "Select" }}
60
64
  </div>
61
65
  </template>
62
- <template #selected-option="item">
66
+
67
+
68
+ <!-- Allow parent to override selected-option slot -->
69
+ <template v-if="$slots['selected-option']" #selected-option="slotProps">
70
+ <slot name="selected-option" v-bind="slotProps as Record<string, any>"></slot>
71
+ </template>
72
+
73
+ <template v-if="!$slots['selected-option']" #selected-option="item">
63
74
  <div
64
75
  :class="
65
76
  isUseCustomSelect
@@ -77,10 +88,17 @@
77
88
  "
78
89
  :alt="item[fieldName]"
79
90
  />
80
- {{ isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName] }}
91
+ {{
92
+ isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName]
93
+ }}
81
94
  </div>
82
95
  </template>
83
- <template #option="item">
96
+
97
+ <!-- Allow parent to override option slot -->
98
+ <template v-if="$slots.option" #option="option">
99
+ <slot name="option" v-bind="option as Record<string, any>"></slot> <!-- Passing the 'option' data -->
100
+ </template>
101
+ <template v-else #option="item">
84
102
  <div class="flex items-center">
85
103
  <img
86
104
  v-if="(item as any).iconlink"
@@ -89,17 +107,30 @@
89
107
  :alt="item[fieldName]"
90
108
  />
91
109
 
92
- {{ isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName] }}
110
+ {{
111
+ isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName]
112
+ }}
93
113
  </div>
94
114
  </template>
95
- <template #spinner="{ loading: _loading }">
115
+
116
+ <!-- Allow parent to override spinner slot -->
117
+ <template v-if="$slots.spinner" #spinner="{ loading: _loading }">
118
+ <slot name="spinner" :loading="_loading || loading"></slot>
119
+ </template>
120
+ <template v-else #spinner="{ loading: _loading }">
96
121
  <div
97
122
  v-if="loading || _loading"
98
123
  style="border-left-color: rgba(107, 30, 190, 0.71)"
99
124
  class="vs__spinner"
100
125
  />
101
126
  </template>
102
- <template v-if="isSelectAll" #list-header>
127
+
128
+ <!-- Allow parent to override list-header slot -->
129
+ <template v-if="$slots['list-header']" #list-header>
130
+ <slot name="list-header"></slot>
131
+ </template>
132
+
133
+ <template v-else-if="isSelectAll" #list-header>
103
134
  <div v-if="items.length !== selected?.length">
104
135
  <button
105
136
  class="w-full px-6 py-2 text-sm font-medium text-gray-600 transition duration-75 hover:font-bold hover:text-gray-900 text-start"
@@ -109,7 +140,13 @@
109
140
  </button>
110
141
  </div>
111
142
  </template>
112
- <template #open-indicator="{ attributes }">
143
+
144
+ <!-- Allow parent to override open-indicator slot -->
145
+ <template v-if="$slots['open-indicator']" #open-indicator="attributes">
146
+ <slot name="open-indicator" v-bind="attributes as Record<string, any>"></slot>
147
+ </template>
148
+
149
+ <template v-else #open-indicator="{ attributes }">
113
150
  <span v-bind="attributes as Record<string, any>"
114
151
  ><ChevronBigDown class="text-current size-6"
115
152
  /></span>
@@ -280,10 +317,10 @@ const props = defineProps({
280
317
  type: Boolean,
281
318
  default: false,
282
319
  },
283
- fieldName:{
320
+ fieldName: {
284
321
  type: String,
285
- default: 'name',
286
- }
322
+ default: "name",
323
+ },
287
324
  });
288
325
 
289
326
  const {
@@ -298,7 +335,7 @@ const {
298
335
  isStartCaseText,
299
336
  isSelectAll,
300
337
  required,
301
- fieldName
338
+ fieldName,
302
339
  } = toRefs(props);
303
340
  const emit = defineEmits([
304
341
  "update:modelValue",
@@ -307,7 +344,8 @@ const emit = defineEmits([
307
344
  "deselected",
308
345
  "search",
309
346
  "tag",
310
- "selectedOption",'open'
347
+ "selectedOption",
348
+ "open",
311
349
  ]);
312
350
 
313
351
  const selectAll = (e: Event) => {
@@ -510,12 +548,9 @@ const selectedLimit = () => {
510
548
  }
511
549
  };
512
550
 
513
-
514
- const open=()=>{
515
- emit('open')
516
-
517
- }
518
-
551
+ const open = () => {
552
+ emit("open");
553
+ };
519
554
  </script>
520
555
  <style lang="scss">
521
556
  .scrollbar {
@@ -6,10 +6,12 @@
6
6
  >
7
7
  <button
8
8
  v-for="(tab, tabindex) in tabs"
9
+ :disabled="tab?.disabled"
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"
14
+ :class="tab?.disabled?' cursor-not-allowed ':''"
13
15
  role="tab"
14
16
  tabindex="-1"
15
17
  @click="selectTab(tabindex)"
@@ -50,6 +52,8 @@
50
52
  >
51
53
  <button
52
54
  v-for="(tab, tabindex) in tabs"
55
+ :disabled="tab?.disabled"
56
+
53
57
  :key="tabindex"
54
58
  type="button"
55
59
  role="tab"
@@ -62,6 +66,7 @@
62
66
  activeTabIndex === tabindex
63
67
  ? 'border-gray-900 text-gray-900'
64
68
  : 'border-transparent text-gray-500',
69
+ tab?.disabled?' cursor-not-allowed ':''
65
70
  ]"
66
71
  @click="selectTab(tabindex)"
67
72
  >
@@ -76,6 +81,7 @@
76
81
  >
77
82
  <button
78
83
  v-for="(tab, tabindex) in tabs"
84
+ :disabled="tab?.disabled"
79
85
  :key="tabindex"
80
86
  type="button"
81
87
  role="tab"
@@ -88,6 +94,7 @@
88
94
  activeTabIndex === tabindex
89
95
  ? 'border-purple-800 text-purple-800 bg-white z-10 rounded-t-lg shadow-[0px_2px_4px_0px_rgba(55,65,81,0.1)]'
90
96
  : 'border-transparent text-gray-500 z-0',
97
+ tab?.disabled?' cursor-not-allowed ':''
91
98
  ]"
92
99
  @click="selectTab(tabindex)"
93
100
  >
@@ -103,15 +110,16 @@
103
110
  >
104
111
  <button
105
112
  v-for="(tab, tabindex) in tabs"
113
+ :disabled="tab?.disabled"
106
114
  :key="tabindex"
107
115
  type="button"
108
116
  role="tab"
109
117
  :id="`id-${tab.name}`"
110
118
  class="px-4 py-1 text-sm font-semibold transition-colors duration-150 ease-in-out border rounded-full"
111
119
  :class="
112
- activeTabIndex === tabindex
120
+ [ activeTabIndex === tabindex
113
121
  ? 'shadow-lg shadow-gray-100 bg-white border-gray-200 focus-within:border-purple-600 text-gray-900'
114
- : 'border-white hover:bg-gray-50 text-gray-700'
122
+ : 'border-white hover:bg-gray-50 text-gray-700',tab?.disabled?' cursor-not-allowed ':'']
115
123
  "
116
124
  @click="selectTab(tabindex)"
117
125
  >
@@ -134,6 +142,7 @@ import { defineProps, ref, watch } from "vue";
134
142
  interface Tab {
135
143
  name: string;
136
144
  content?: string;
145
+ disabled?:boolean
137
146
  }
138
147
 
139
148
  const props = defineProps<{
@@ -143,6 +152,7 @@ const props = defineProps<{
143
152
  contentClass?: string[] | string;
144
153
  tabSize?: "sm" | "md";
145
154
  tabAlign?: "start" | "justify" | "end";
155
+
146
156
  }>();
147
157
 
148
158
  const emit = defineEmits<{
@@ -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"}