edvoyui-component-library-test-flight 0.0.170 → 0.0.173

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 (223) hide show
  1. package/dist/{edvoy-ui.cjs.js → library-vue-ts.cjs.js} +26 -26
  2. package/dist/{edvoy-ui.css → library-vue-ts.css} +1 -1
  3. package/dist/{edvoy-ui.es.js → library-vue-ts.es.js} +2262 -2249
  4. package/dist/library-vue-ts.umd.js +168 -0
  5. package/dist/selectSearch/EUISelectSearch.vue.d.ts.map +1 -0
  6. package/package.json +10 -11
  7. package/src/App.vue +16 -0
  8. package/src/App.vue.js.map +1 -0
  9. package/src/assets/fonts/gilroy/GilroyBold/font.woff +0 -0
  10. package/src/assets/fonts/gilroy/GilroyBold/font.woff2 +0 -0
  11. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff +0 -0
  12. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff2 +0 -0
  13. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff +0 -0
  14. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff2 +0 -0
  15. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff +0 -0
  16. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff2 +0 -0
  17. package/src/assets/fonts/gilroy/GilroyMedium/font.woff +0 -0
  18. package/src/assets/fonts/gilroy/GilroyMedium/font.woff2 +0 -0
  19. package/src/assets/fonts/gilroy/GilroyRegular/font.woff +0 -0
  20. package/src/assets/fonts/gilroy/GilroyRegular/font.woff2 +0 -0
  21. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff +0 -0
  22. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff2 +0 -0
  23. package/src/assets/fonts/inter/Inter-Bold.woff +0 -0
  24. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  25. package/src/assets/fonts/inter/Inter-Italic.woff +0 -0
  26. package/src/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  27. package/src/assets/fonts/inter/Inter-Medium.woff +0 -0
  28. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  29. package/src/assets/fonts/inter/Inter-MediumItalic.woff +0 -0
  30. package/src/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  31. package/src/assets/fonts/inter/Inter-Regular.woff +0 -0
  32. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  33. package/src/assets/fonts/inter/Inter-SemiBold.woff +0 -0
  34. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  35. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff +0 -0
  36. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  37. package/src/assets/images/search-nodata.png +0 -0
  38. package/src/assets/scss/body.scss +25 -0
  39. package/src/assets/svg/CheckTick.vue +21 -0
  40. package/src/assets/svg/CheckTick.vue.js.map +1 -0
  41. package/src/assets/svg/ChevronBigDown.vue +22 -0
  42. package/src/assets/svg/ChevronBigDown.vue.js.map +1 -0
  43. package/src/assets/svg/ChevronDownSolid.vue +19 -0
  44. package/src/assets/svg/ChevronDownSolid.vue.js.map +1 -0
  45. package/src/assets/svg/ChevronDownStroke.vue +22 -0
  46. package/src/assets/svg/ChevronDownStroke.vue.js.map +1 -0
  47. package/src/assets/svg/ChevronDownStrokeSolid.vue +19 -0
  48. package/src/assets/svg/ChevronDownStrokeSolid.vue.js.map +1 -0
  49. package/src/assets/svg/SearchBigZoomIn.vue +21 -0
  50. package/src/assets/svg/SearchBigZoomIn.vue.js.map +1 -0
  51. package/src/assets/svg/SortArrow.vue +24 -0
  52. package/src/assets/svg/SortArrow.vue.js.map +1 -0
  53. package/src/assets/svg/Student.vue +30 -0
  54. package/src/assets/svg/Student.vue.js.map +1 -0
  55. package/src/assets/svg/partner.vue +33 -0
  56. package/src/assets/svg/partner.vue.js.map +1 -0
  57. package/src/assets/svg/people.vue +25 -0
  58. package/src/assets/svg/people.vue.js.map +1 -0
  59. package/src/assets/vue.svg +1 -0
  60. package/src/components/HelloWorld.vue +1974 -0
  61. package/src/components/HelloWorld.vue.js.map +1 -0
  62. package/src/components/accordion/EUIAccordion.stories.ts +204 -0
  63. package/src/components/accordion/EUIAccordion.vue +152 -0
  64. package/src/components/accordion/EUIAccordion.vue.js.map +1 -0
  65. package/src/components/alerts/EUIAlerts.stories.ts +217 -0
  66. package/src/components/alerts/EUIAlerts.vue +194 -0
  67. package/src/components/alerts/EUIAlerts.vue.js.map +1 -0
  68. package/src/components/avatar/EUIAvatar.stories.ts +157 -0
  69. package/src/components/avatar/EUIAvatar.vue +96 -0
  70. package/src/components/avatar/EUIAvatar.vue.js.map +1 -0
  71. package/src/components/breadcrumb/EUIBreadcrumb.stories.ts +75 -0
  72. package/src/components/breadcrumb/EUIBreadcrumb.vue +59 -0
  73. package/src/components/breadcrumb/EUIBreadcrumb.vue.js.map +1 -0
  74. package/src/components/button/EUIButton.stories.ts +270 -0
  75. package/src/components/button/EUIButton.vue +154 -0
  76. package/src/components/button/EUIButton.vue.js.map +1 -0
  77. package/src/components/button/EUIButtonGroup.vue +287 -0
  78. package/src/components/button/EUIButtonGroup.vue.js.map +1 -0
  79. package/src/components/button/buttonAnimateTab.vue +74 -0
  80. package/src/components/button/buttonAnimateTab.vue.js.map +1 -0
  81. package/src/components/checkbox/EUICheckbox.stories.ts +58 -0
  82. package/src/components/checkbox/EUICheckbox.vue +110 -0
  83. package/src/components/checkbox/EUICheckbox.vue.js.map +1 -0
  84. package/src/components/datepicker/EUIDatepicker.stories.ts +492 -0
  85. package/src/components/datepicker/EUIDatepicker.vue +295 -0
  86. package/src/components/datepicker/EUIDatepicker.vue.js.map +1 -0
  87. package/src/components/delete.vue +262 -0
  88. package/src/components/delete.vue.js.map +1 -0
  89. package/src/components/dragModal/EUIDrag.vue +179 -0
  90. package/src/components/dragModal/EUIDrag.vue.js.map +1 -0
  91. package/src/components/dropdown/EUIMultiDropdown.stories.ts +294 -0
  92. package/src/components/dropdown/EUIMultiDropdown.vue +187 -0
  93. package/src/components/dropdown/EUIMultiDropdown.vue.js.map +1 -0
  94. package/src/components/errorMessage/EUIErrorMessage.scss +0 -0
  95. package/src/components/errorMessage/EUIErrorMessage.stories.ts +41 -0
  96. package/src/components/errorMessage/EUIErrorMessage.vue +25 -0
  97. package/src/components/errorMessage/EUIErrorMessage.vue.js.map +1 -0
  98. package/src/components/index.js.map +1 -0
  99. package/src/components/index.ts +62 -0
  100. package/src/components/input/EUIInput.stories.ts +387 -0
  101. package/src/components/input/EUIInput.vue +223 -0
  102. package/src/components/input/EUIInput.vue.js.map +1 -0
  103. package/src/components/input/EUINumberInput.vue +250 -0
  104. package/src/components/loader/EUICircleLoader.vue +31 -0
  105. package/src/components/loader/EUICircleLoader.vue.js.map +1 -0
  106. package/src/components/loader/EUICubeLoader.vue +237 -0
  107. package/src/components/loader/EUICubeLoader.vue.js.map +1 -0
  108. package/src/components/loader/EUILoader.stories.ts +99 -0
  109. package/src/components/loader/EUILoader.vue +17 -0
  110. package/src/components/loader/EUILoader.vue.js.map +1 -0
  111. package/src/components/loader/EUISquareLoader.vue +47 -0
  112. package/src/components/loader/EUISquareLoader.vue.js.map +1 -0
  113. package/src/components/modal/EUIModal.stories.ts +412 -0
  114. package/src/components/modal/EUIModal.vue +224 -0
  115. package/src/components/modal/EUIModal.vue.js.map +1 -0
  116. package/src/components/pillSelect/EUIPillSelect.stories.ts +74 -0
  117. package/src/components/pillSelect/EUIPillSelect.vue +149 -0
  118. package/src/components/pillSelect/EUIPillSelect.vue.js.map +1 -0
  119. package/src/components/popover/EUIPopover.stories.ts +306 -0
  120. package/src/components/popover/EUIPopover.vue +297 -0
  121. package/src/components/popover/EUIPopover.vue.js.map +1 -0
  122. package/src/components/radio/EUIRadio.stories.ts +54 -0
  123. package/src/components/radio/EUIRadio.vue +75 -0
  124. package/src/components/radio/EUIRadio.vue.js.map +1 -0
  125. package/src/components/searchInput/EUISearch.stories.ts +24 -0
  126. package/src/components/searchInput/EUISearch.vue +223 -0
  127. package/src/components/searchInput/EUISearch.vue.js.map +1 -0
  128. package/src/components/searchTagSelect/EUISearchTagSelect.vue +642 -0
  129. package/src/components/searchTagSelect/EUISearchTagSelect.vue.js.map +1 -0
  130. package/src/components/searchTagSelect/SearchInput.vue +167 -0
  131. package/src/components/searchTagSelect/SearchInput.vue.js.map +1 -0
  132. package/src/components/searchexpand/EUISearchExpand.vue +148 -0
  133. package/src/components/searchexpand/EUISearchExpand.vue.js.map +1 -0
  134. package/src/components/searchexpand/EUISearchToggle.vue +86 -0
  135. package/src/components/searchexpand/EUISearchToggle.vue.js.map +1 -0
  136. package/src/components/select/EUISelect.stories.ts +101 -0
  137. package/src/components/select/EUISelect.vue +1092 -0
  138. package/src/components/select/EUISelect.vue.js.map +1 -0
  139. package/src/components/selectSearch/EUISelectSearch.vue +23 -0
  140. package/src/components/selectSearch/EUISelectSearch.vue.js.map +1 -0
  141. package/src/components/slideover/EUISlideover.stories.ts +318 -0
  142. package/src/components/slideover/EUISlideover.vue +207 -0
  143. package/src/components/slideover/EUISlideover.vue.js.map +1 -0
  144. package/src/components/stepperTimeline/EUIStepperHorizontal.vue +242 -0
  145. package/src/components/stepperTimeline/EUIStepperHorizontal.vue.js.map +1 -0
  146. package/src/components/stepperTimeline/EUIStepperTimeline.stories.ts +54 -0
  147. package/src/components/stepperTimeline/EUIStepperTimeline.vue +16 -0
  148. package/src/components/stepperTimeline/EUIStepperTimeline.vue.js.map +1 -0
  149. package/src/components/stepperTimeline/EUIStepperVertical.vue +112 -0
  150. package/src/components/stepperTimeline/EUIStepperVertical.vue.js.map +1 -0
  151. package/src/components/table/ColumnResizeTable.vue +740 -0
  152. package/src/components/table/ColumnResizeTable.vue.js.map +1 -0
  153. package/src/components/table/EUIDashboardTable.vue +514 -0
  154. package/src/components/table/EUIDashboardTable.vue.js.map +1 -0
  155. package/src/components/table/EUIPageLimit.vue +66 -0
  156. package/src/components/table/EUIPageLimit.vue.js.map +1 -0
  157. package/src/components/table/EUIPagination.vue +175 -0
  158. package/src/components/table/EUIPagination.vue.js.map +1 -0
  159. package/src/components/table/EUIStudentPagination.vue +172 -0
  160. package/src/components/table/EUIStudentPagination.vue.js.map +1 -0
  161. package/src/components/table/EUITable.stories.ts +300 -0
  162. package/src/components/table/EUITable.vue +559 -0
  163. package/src/components/table/EUITable.vue.js.map +1 -0
  164. package/src/components/table/EUITableCheckbox.vue +98 -0
  165. package/src/components/table/EUITableCheckbox.vue.js.map +1 -0
  166. package/src/components/table/GrowthTable.vue +575 -0
  167. package/src/components/table/GrowthTable.vue.js.map +1 -0
  168. package/src/components/table/GrowthTableView.vue +108 -0
  169. package/src/components/table/GrowthTableView.vue.js.map +1 -0
  170. package/src/components/table/ResizeTableview.vue +198 -0
  171. package/src/components/table/ResizeTableview.vue.js.map +1 -0
  172. package/src/components/table/UCheckbox.vue +169 -0
  173. package/src/components/table/UCheckbox.vue.js.map +1 -0
  174. package/src/components/table/UTable.scss +69 -0
  175. package/src/components/table/UTable.vue +611 -0
  176. package/src/components/table/UTable.vue.js.map +1 -0
  177. package/src/components/table/UTableview.vue +189 -0
  178. package/src/components/table/UTableview.vue.js.map +1 -0
  179. package/src/components/tabs/EUITabOutline.vue +263 -0
  180. package/src/components/tabs/EUITabOutline.vue.js.map +1 -0
  181. package/src/components/tabs/EUITabs.vue +226 -0
  182. package/src/components/tabs/EUITabs.vue.js.map +1 -0
  183. package/src/components/tabs/EUItabs.stories.ts +137 -0
  184. package/src/components/tag/EUITag.stories.ts +53 -0
  185. package/src/components/tag/EUITag.vue +88 -0
  186. package/src/components/tag/EUITag.vue.js.map +1 -0
  187. package/src/components/telephone/EUITelephone.stories.ts +358 -0
  188. package/src/components/telephone/EUITelephone.vue +299 -0
  189. package/src/components/telephone/EUITelephone.vue.js.map +1 -0
  190. package/src/components/textArea/EUITextArea.stories.ts +134 -0
  191. package/src/components/textArea/EUITextArea.vue +155 -0
  192. package/src/components/textArea/EUITextArea.vue.js.map +1 -0
  193. package/src/components/timeLine/EUITimeLine.stories.ts +247 -0
  194. package/src/components/timeLine/EUITimeLine.vue +148 -0
  195. package/src/components/timeLine/EUITimeLine.vue.js.map +1 -0
  196. package/src/components/toggle/EUIToggle.stories.ts +63 -0
  197. package/src/components/toggle/EUIToggle.vue +101 -0
  198. package/src/components/toggle/EUIToggle.vue.js.map +1 -0
  199. package/src/components/tooltip/EUITooltip.stories.ts +53 -0
  200. package/src/components/tooltip/EUITooltip.vue +111 -0
  201. package/src/components/tooltip/EUITooltip.vue.js.map +1 -0
  202. package/src/components/uidemo/select-com.vue +120 -0
  203. package/src/components/uidemo/select-com.vue.js.map +1 -0
  204. package/src/data/books.js.map +1 -0
  205. package/src/data/books.ts +163 -0
  206. package/src/data/country.ts +56 -0
  207. package/src/data/tab.js.map +1 -0
  208. package/src/data/tab.ts +40 -0
  209. package/src/data/table.js.map +1 -0
  210. package/src/data/table.ts +5654 -0
  211. package/src/main.js.map +1 -0
  212. package/src/main.ts +5 -0
  213. package/src/style.scss +186 -0
  214. package/src/utils/helpers.js.map +1 -0
  215. package/src/utils/helpers.ts +30 -0
  216. package/src/utils/lodash.js.map +1 -0
  217. package/src/utils/lodash.ts +9 -0
  218. package/src/utils/types.js.map +1 -0
  219. package/src/utils/types.ts +9 -0
  220. package/src/vite-env.d.ts +5 -0
  221. package/dist/EUISelectSearch.vue.d.ts.map +0 -1
  222. package/dist/edvoy-ui.umd.js +0 -168
  223. /package/dist/{EUISelectSearch.vue.d.ts → selectSearch/EUISelectSearch.vue.d.ts} +0 -0
@@ -0,0 +1,492 @@
1
+ import type { Meta, StoryObj } from "@storybook/vue3";
2
+ import EUIDatepicker from "./EUIDatepicker.vue";
3
+ import { ref } from "vue";
4
+ import { CalendarDaysIcon } from "@heroicons/vue/24/outline";
5
+
6
+ // Meta configuration for the component's stories
7
+ const meta = {
8
+ title: "Forms/Datepicker",
9
+ component: EUIDatepicker,
10
+ tags: ["autodocs"],
11
+ argTypes: {
12
+ modelValue: {
13
+ control: "date",
14
+ description: "The selected date value of the datepicker.",
15
+ },
16
+ name: {
17
+ control: "text",
18
+ description:
19
+ "Name for the Validation of Datepicker field, used for identification.",
20
+ },
21
+ label: {
22
+ control: "text",
23
+ description:
24
+ "Label for the datepicker field that is displayed above the input.",
25
+ },
26
+ placeholder: {
27
+ control: "text",
28
+ description:
29
+ "Placeholder text shown inside the datepicker input when no date is selected.",
30
+ },
31
+ errors: {
32
+ control: "object",
33
+ description:
34
+ "Object containing validation errors. The keys are field names, and the values are the corresponding error messages.",
35
+ },
36
+ range: {
37
+ control: "boolean",
38
+ description:
39
+ "Enables date range selection, allowing users to pick a start and end date.",
40
+ defaultValue: false,
41
+ },
42
+ multiCalendars: {
43
+ control: "boolean",
44
+ description: "Enables date range selection across multiple calendars.",
45
+ defaultValue: false,
46
+ table: {
47
+ type: { summary: "boolean" }, // Specifies the type in the docs table
48
+ defaultValue: { summary: "false" }, // Default value displayed in the table
49
+ },
50
+ },
51
+ timePicker: {
52
+ control: "boolean",
53
+ description: "Allows time selection in addition to the date if true.",
54
+ },
55
+ maxDate: {
56
+ control: "date",
57
+ description:
58
+ "The maximum selectable date. ex: const maxDate = ref(new Date())",
59
+ table: {
60
+ type: { summary: "Date" },
61
+ defaultValue: { summary: '""' },
62
+ },
63
+ },
64
+ minDate: {
65
+ control: "date",
66
+ description:
67
+ "The minimum selectable date. ex: const minDate = ref(new Date(2024, 11))",
68
+ table: {
69
+ type: { summary: "Date" },
70
+ defaultValue: { summary: '""' },
71
+ },
72
+ },
73
+ required: {
74
+ control: "boolean",
75
+ description: "Marks the datepicker as a required field.",
76
+ },
77
+ readonly: {
78
+ control: "boolean",
79
+ description: "Makes the datepicker read-only, preventing date selection.",
80
+ },
81
+ disabled: {
82
+ control: "boolean",
83
+ description:
84
+ "Disables the datepicker, making it uneditable and unclickable.",
85
+ },
86
+ iconType: {
87
+ control: "select",
88
+ options: ["", "startIcon", "endIcon"],
89
+ description:
90
+ "The position of the icon to be displayed either at the start or end of the input field.",
91
+ },
92
+ icon: {
93
+ control: { type: "text" },
94
+ description: "Sets an SVG icon inside the datepicker input field.",
95
+ },
96
+ isUtc: {
97
+ control: "boolean",
98
+ description:
99
+ "Sets the selected date in UTC format if true, otherwise in local time.",
100
+ },
101
+ clearIcon: {
102
+ control: "boolean",
103
+ description:
104
+ "Shows a clear icon inside the datepicker to reset the date.",
105
+ },
106
+ disableDate: {
107
+ control: "boolean",
108
+ description:
109
+ "Disables past dates if true, preventing them from being selected.",
110
+ },
111
+ quarter: {
112
+ control: "boolean",
113
+ description: "Enables quarter selection instead of date selection.",
114
+ },
115
+ formatDate: {
116
+ control: "boolean",
117
+ description:
118
+ "Formats the displayed date value; if true, a formatted date string is shown.",
119
+ },
120
+ inputFilled: {
121
+ control: "boolean",
122
+ description: "Toggles the alternate Datepicker input Filled design.",
123
+ defaultValue: false,
124
+ table: {
125
+ type: { summary: "Boolean" },
126
+ defaultValue: { summary: "false" },
127
+ },
128
+ },
129
+ },
130
+ } satisfies Meta<typeof EUIDatepicker>;
131
+
132
+ export default meta;
133
+ type Story = StoryObj<typeof meta>;
134
+
135
+ // Default story with minimum props
136
+ export const Default: Story = {
137
+ args: {
138
+ placeholder: "Select your date",
139
+ label: "Date",
140
+ modelValue: new Date(),
141
+ required: true,
142
+ readonly: false,
143
+ disabled: false,
144
+ errors: {
145
+ message: "Enter valid date format",
146
+ },
147
+ },
148
+ render: (args) => ({
149
+ components: { EUIDatepicker },
150
+ setup() {
151
+ const modelValue = ref(args.modelValue);
152
+ return { args, modelValue };
153
+ },
154
+ template: `<div class="max-w-sm min-h-64"><EUIDatepicker v-bind="args" /></div>`,
155
+ }),
156
+ };
157
+
158
+ export const InputFilled: Story = {
159
+ args: {
160
+ modelValue: new Date(),
161
+ label: "Date of Event",
162
+ placeholder: "Select your date",
163
+ inputFilled: true,
164
+ },
165
+ render: (args) => ({
166
+ components: { EUIDatepicker },
167
+ setup() {
168
+ const modelValue = ref(args.modelValue);
169
+ return { args, modelValue };
170
+ },
171
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
172
+ }),
173
+ };
174
+
175
+ export const DateRange: Story = {
176
+ args: {
177
+ placeholder: "Choose your date range...",
178
+ label: "Datepicker",
179
+ range: true,
180
+ required: true,
181
+ readonly: false,
182
+ disabled: false,
183
+ errors: {
184
+ message: "Enter valid date format",
185
+ },
186
+ },
187
+ render: (args) => ({
188
+ components: { EUIDatepicker },
189
+ setup() {
190
+ const startDate = new Date();
191
+ const endDate = new Date(new Date().setDate(startDate.getDate() + 7));
192
+ const datepicker = ref([startDate, endDate]);
193
+ return { args, datepicker };
194
+ },
195
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" v-model="datepicker" /></div>`,
196
+ }),
197
+ parameters: {
198
+ docs: {
199
+ source: {
200
+ code: `<script lang="ts" setup>
201
+ const datepickerRange = ref([new Date(), new Date(new Date().setDate(new Date().getDate() + 7))]);
202
+ </script>
203
+ <template>
204
+ <EUIDatepicker
205
+ v-model="datepickerRange"
206
+ label="Datepicker"
207
+ placeholder="Select Date here..."
208
+ :range="true"
209
+ />
210
+ </template>`,
211
+ },
212
+ },
213
+ },
214
+ };
215
+
216
+ export const RangeUsingMultiCalender: Story = {
217
+ args: {
218
+ placeholder: "Choose your date range...",
219
+ label: "Datepicker",
220
+ range: true,
221
+ multiCalendars: true,
222
+ required: true,
223
+ readonly: false,
224
+ disabled: false,
225
+ errors: {
226
+ message: "Enter valid date format",
227
+ },
228
+ },
229
+ render: (args) => ({
230
+ components: { EUIDatepicker },
231
+ setup() {
232
+ const startDate = new Date();
233
+ const endDate = new Date(new Date().setDate(startDate.getDate() + 7));
234
+ const datepicker = ref([startDate, endDate]);
235
+ return { args, datepicker };
236
+ },
237
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" v-model="datepicker" /></div>`,
238
+ }),
239
+ parameters: {
240
+ docs: {
241
+ source: {
242
+ code: `<script lang="ts" setup>
243
+ const datepickerRange = ref([new Date(), new Date(new Date().setDate(new Date().getDate() + 7))]);
244
+ </script>
245
+ <template>
246
+ <EUIDatepicker
247
+ v-model="datepickerRange"
248
+ label="Datepicker"
249
+ placeholder="Select Date here..."
250
+ :range="true"
251
+ :multiCalendars="true"
252
+ />
253
+ </template>`,
254
+ },
255
+ },
256
+ },
257
+ };
258
+
259
+ export const TimeOnly: Story = {
260
+ args: {
261
+ placeholder: "Select your time",
262
+ label: "Time picker",
263
+ required: true,
264
+ timePicker: true,
265
+ errors: {
266
+ message: "Enter valid date format",
267
+ },
268
+ },
269
+ render: (args) => ({
270
+ components: { EUIDatepicker },
271
+ setup() {
272
+ const time = ref({
273
+ hours: new Date().getHours(),
274
+ minutes: new Date().getMinutes(),
275
+ });
276
+ const modelValue = ref(time);
277
+ return { args, modelValue };
278
+ },
279
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" :modelValue="modelValue" /></div>`,
280
+ }),
281
+ parameters: {
282
+ docs: {
283
+ source: {
284
+ code: `<script lang="ts" setup>
285
+ const time = ref({
286
+ hours: new Date().getHours(),
287
+ minutes: new Date().getMinutes(),
288
+ });
289
+ </script>
290
+ <template>
291
+ <EUIDatepicker
292
+ v-model="time"
293
+ label="Time"
294
+ placeholder="Select your time"
295
+ :timePicker="true"
296
+ />
297
+ </template>`,
298
+ },
299
+ },
300
+ },
301
+ };
302
+
303
+ export const DatepickerIconStart: Story = {
304
+ args: {
305
+ iconType: "startIcon",
306
+ icon: CalendarDaysIcon,
307
+ },
308
+ render: (args) => ({
309
+ components: { EUIDatepicker, CalendarDaysIcon },
310
+ setup() {
311
+ const modelValue = ref(args.modelValue);
312
+ return { args, modelValue };
313
+ },
314
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
315
+ }),
316
+ parameters: {
317
+ docs: {
318
+ source: {
319
+ code: `<template>
320
+ <EUIDatepicker
321
+ v-model="datepicker"
322
+ :icon="CalendarDaysIcon"
323
+ icon-type="startIcon"
324
+ label="Datepicker"
325
+ placeholder="Select Date here..."
326
+ />
327
+ </template>`,
328
+ },
329
+ },
330
+ },
331
+ };
332
+
333
+ export const DatepickerIconEnd: Story = {
334
+ args: {
335
+ iconType: "endIcon",
336
+ icon: CalendarDaysIcon,
337
+ },
338
+ render: (args) => ({
339
+ components: { EUIDatepicker, CalendarDaysIcon },
340
+ setup() {
341
+ const modelValue = ref(args.modelValue);
342
+ return { args, modelValue };
343
+ },
344
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
345
+ }),
346
+ parameters: {
347
+ docs: {
348
+ source: {
349
+ code: `<template>
350
+ <EUIDatepicker
351
+ v-model="datepicker"
352
+ :icon="CalendarDaysIcon"
353
+ icon-type="endIcon"
354
+ label="Datepicker"
355
+ placeholder="Select Date here..."
356
+ />
357
+ </template>`,
358
+ },
359
+ },
360
+ },
361
+ };
362
+
363
+ export const InputFilledIconStart: Story = {
364
+ args: {
365
+ iconType: "startIcon",
366
+ icon: CalendarDaysIcon,
367
+ inputFilled: true,
368
+ },
369
+ render: (args) => ({
370
+ components: { EUIDatepicker, CalendarDaysIcon },
371
+ setup() {
372
+ const modelValue = ref(args.modelValue);
373
+ return { args, modelValue };
374
+ },
375
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
376
+ }),
377
+ parameters: {
378
+ docs: {
379
+ source: {
380
+ code: `<template>
381
+ <EUIDatepicker
382
+ v-model="datepicker"
383
+ label="Datepicker"
384
+ placeholder="Select Date here..."
385
+ :inputFilled="true"
386
+ icon-type="startIcon"
387
+ :icon="CalendarDaysIcon"
388
+ />
389
+ </template>`,
390
+ },
391
+ },
392
+ },
393
+ };
394
+
395
+ export const InputFilledIconEnd: Story = {
396
+ args: {
397
+ iconType: "endIcon",
398
+ icon: CalendarDaysIcon,
399
+ inputFilled: true,
400
+ },
401
+ render: (args) => ({
402
+ components: { EUIDatepicker, CalendarDaysIcon },
403
+ setup() {
404
+ const modelValue = ref(args.modelValue);
405
+ return { args, modelValue };
406
+ },
407
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
408
+ }),
409
+ parameters: {
410
+ docs: {
411
+ source: {
412
+ code: `<template>
413
+ <EUIDatepicker
414
+ v-model="datepicker"
415
+ label="Datepicker"
416
+ placeholder="Select Date here..."
417
+ :inputFilled="true"
418
+ :icon="CalendarDaysIcon"
419
+ icon-type="endIcon"
420
+ />
421
+ </template>`,
422
+ },
423
+ },
424
+ },
425
+ };
426
+
427
+ export const DatepickerWidthOutLabel: Story = {
428
+ args: {
429
+ placeholder: "Select your date",
430
+ modelValue: new Date(),
431
+ },
432
+ render: (args) => ({
433
+ components: { EUIDatepicker },
434
+ setup() {
435
+ const modelValue = ref(args.modelValue);
436
+ return { args, modelValue };
437
+ },
438
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
439
+ }),
440
+ };
441
+
442
+ export const DatepickerDiasabled: Story = {
443
+ args: {
444
+ placeholder: "Select your date",
445
+ modelValue: new Date(),
446
+ disabled: true,
447
+ inputFilled: true,
448
+ },
449
+ render: (args) => ({
450
+ components: { EUIDatepicker },
451
+ setup() {
452
+ const modelValue = ref(args.modelValue);
453
+ return { args, modelValue };
454
+ },
455
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
456
+ }),
457
+ };
458
+
459
+ export const DatepickerMinMax: Story = {
460
+ args: {
461
+ placeholder: "Select your date",
462
+ modelValue: new Date(),
463
+ minDate: ref(new Date(2024, 11)),
464
+ maxDate: ref(new Date()),
465
+ inputFilled: true,
466
+ },
467
+ render: (args) => ({
468
+ components: { EUIDatepicker },
469
+ setup() {
470
+ const modelValue = ref(args.modelValue);
471
+ return { args, modelValue };
472
+ },
473
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
474
+ }),
475
+ };
476
+
477
+ export const DatepickerReadonly: Story = {
478
+ args: {
479
+ placeholder: "Select your date",
480
+ modelValue: new Date(),
481
+ readonly: true,
482
+ inputFilled: true,
483
+ },
484
+ render: (args) => ({
485
+ components: { EUIDatepicker },
486
+ setup() {
487
+ const modelValue = ref(args.modelValue);
488
+ return { args, modelValue };
489
+ },
490
+ template: `<div class="max-w-sm"><EUIDatepicker v-bind="args" /></div>`,
491
+ }),
492
+ };